diff --git a/.github/workflows/branches.yml b/.github/workflows/branches.yml index 4ac445b70..08d25a9f4 100644 --- a/.github/workflows/branches.yml +++ b/.github/workflows/branches.yml @@ -22,14 +22,12 @@ jobs: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} - name: Clean gradle - run: ./gradlew clean --no-daemon + run: ./gradlew clean --no-daemon --max-workers 1 - name: Validate no assets run: test ! -d ./src/generated - name: Generate assets - uses: GabrielBB/xvfb-action@v1.2 - with: - run: ./gradlew runData --no-daemon + run: ./gradlew runData --no-daemon --max-workers 1 - name: Validate assets run: test -d ./src/generated -a -f ./src/generated/resources/.cache/cache - name: Build with Gradle - run: ./gradlew build --no-daemon + run: ./gradlew build --no-daemon --max-workers 1 diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index d55923846..eb2369834 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -22,14 +22,12 @@ jobs: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} - name: Clean gradle - run: ./gradlew clean --no-daemon + run: ./gradlew clean --no-daemon --max-workers 1 - name: Validate no assets run: test ! -d ./src/generated - name: Generate assets - uses: GabrielBB/xvfb-action@v1.2 - with: - run: ./gradlew runData --no-daemon + run: ./gradlew runData --no-daemon --max-workers 1 - name: Validate assets run: test -d ./src/generated -a -f ./src/generated/resources/.cache/cache - name: Build with Gradle - run: ./gradlew build --no-daemon + run: ./gradlew build --no-daemon --max-workers 1 diff --git a/.github/workflows/pull_requests.yml b/.github/workflows/pull_requests.yml index 397ea6c5d..2cee10876 100644 --- a/.github/workflows/pull_requests.yml +++ b/.github/workflows/pull_requests.yml @@ -22,19 +22,17 @@ jobs: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} - name: Clean gradle - run: ./gradlew clean --no-daemon + run: ./gradlew clean --no-daemon --max-workers 1 - name: Validate no assets run: test ! -d ./src/generated - name: Generate assets - uses: GabrielBB/xvfb-action@v1.2 - with: - run: ./gradlew runData --no-daemon + run: ./gradlew runData --no-daemon --max-workers 1 - name: Validate assets run: test -d ./src/generated -a -f ./src/generated/resources/.cache/cache - name: Build with Gradle env: PR_NUMBER: ${{ github.event.pull_request.number }} - run: ./gradlew build --no-daemon + run: ./gradlew build --no-daemon --max-workers 1 - uses: actions/upload-artifact@v2 with: name: dist diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b450879f2..f5ffe6854 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -31,9 +31,7 @@ jobs: - name: Validate no assets run: test ! -d ./src/generated - name: Generate assets - uses: GabrielBB/xvfb-action@v1.2 - with: - run: ./gradlew runData --no-daemon + run: ./gradlew runData --no-daemon --max-workers 1 - name: Validate assets run: test -d ./src/generated -a -f ./src/generated/resources/.cache/cache - name: Build with Gradle @@ -42,7 +40,7 @@ jobs: KEY_STORE_ALIAS: ${{ secrets.KEY_STORE_ALIAS }} KEY_STORE_KEY_PASS: ${{ secrets.KEY_STORE_KEY_PASS }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: ./gradlew build --no-daemon + run: ./gradlew build --no-daemon --max-workers 1 - name: Upload to curseforge env: KEY_STORE_PASS: ${{ secrets.KEY_STORE_PASS }} @@ -50,14 +48,14 @@ jobs: KEY_STORE_KEY_PASS: ${{ secrets.KEY_STORE_KEY_PASS }} CHANGELOG: ${{ github.event.release.body }} CURSEFORGE: ${{ secrets.CURSEFORGE }} - run: ./gradlew curseforge --no-daemon + run: ./gradlew curseforge --no-daemon --max-workers 1 - name: Publish to github packages env: KEY_STORE_PASS: ${{ secrets.KEY_STORE_PASS }} KEY_STORE_ALIAS: ${{ secrets.KEY_STORE_ALIAS }} KEY_STORE_KEY_PASS: ${{ secrets.KEY_STORE_KEY_PASS }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: ./gradlew publish --no-daemon + run: ./gradlew publish --no-daemon --max-workers 1 - name: Prepare artifact metadata id: prepare_artifact_metadata run: | diff --git a/src/main/java/appeng/client/render/cablebus/FacadeBlockAccess.java b/src/main/java/appeng/client/render/cablebus/FacadeBlockAccess.java index f39659187..913b6aab6 100644 --- a/src/main/java/appeng/client/render/cablebus/FacadeBlockAccess.java +++ b/src/main/java/appeng/client/render/cablebus/FacadeBlockAccess.java @@ -68,6 +68,12 @@ public class FacadeBlockAccess implements BlockRenderView { return world.getFluidState(pos); } + // This is for diffuse lighting + @Override + public float func_230487_a_(Direction p_230487_1_, boolean p_230487_2_) { + return world.func_230487_a_(p_230487_1_, p_230487_2_); + } + @Override public LightingProvider getLightingProvider() { return world.getLightingProvider(); diff --git a/src/main/java/appeng/mixins/DimensionStructuresSettingsMixin.java b/src/main/java/appeng/mixins/DimensionStructuresSettingsMixin.java new file mode 100644 index 000000000..2790dc139 --- /dev/null +++ b/src/main/java/appeng/mixins/DimensionStructuresSettingsMixin.java @@ -0,0 +1,40 @@ +package appeng.mixins; + +import com.google.common.collect.ImmutableMap; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Mutable; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import net.minecraft.world.gen.feature.structure.Structure; +import net.minecraft.world.gen.settings.DimensionStructuresSettings; +import net.minecraft.world.gen.settings.StructureSeparationSettings; + +import appeng.worldgen.meteorite.MeteoriteStructure; + +/** + * This Mixin will add the structure placement configuration for the meteorite + * structure to the static final immutable map that contains them. There is + * currently no Forge hook for this, and registering them during the registry + * event is already too late. + *

+ * If this is not done, Meteorites spawn every chunk, since that is the default + * for missing entries. + */ +@Mixin(DimensionStructuresSettings.class) +public class DimensionStructuresSettingsMixin { + + @Shadow + @Mutable + private static ImmutableMap, StructureSeparationSettings> field_236191_b_; + + @Inject(method = "", at = @At("TAIL")) + private static void addMeteoriteSpreadConfig(CallbackInfo ci) { + field_236191_b_ = ImmutableMap., StructureSeparationSettings>builder().putAll(field_236191_b_) + .put(MeteoriteStructure.INSTANCE, new StructureSeparationSettings(32, 8, 124895654)).build(); + } + +} diff --git a/src/main/java/appeng/mixins/StructureAccessor.java b/src/main/java/appeng/mixins/StructureAccessor.java new file mode 100644 index 000000000..e76622517 --- /dev/null +++ b/src/main/java/appeng/mixins/StructureAccessor.java @@ -0,0 +1,17 @@ +package appeng.mixins; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Invoker; + +import net.minecraft.world.gen.GenerationStage; +import net.minecraft.world.gen.feature.structure.Structure; + +@Mixin(Structure.class) +public interface StructureAccessor { + + @Invoker("func_236394_a_") + static > F register(String id, F feature, GenerationStage.Decoration defaultStage) { + throw new AssertionError(); + } + +} diff --git a/src/main/resources/META-INF/MANIFEST.MF b/src/main/resources/META-INF/MANIFEST.MF new file mode 100644 index 000000000..99aa76f3e --- /dev/null +++ b/src/main/resources/META-INF/MANIFEST.MF @@ -0,0 +1 @@ +MixinConfigs: appliedenergistics2.mixins.json diff --git a/src/unported/resources/META-INF/accesstransformer.cfg b/src/unported/resources/META-INF/accesstransformer.cfg index 39b45726b..779f78285 100644 --- a/src/unported/resources/META-INF/accesstransformer.cfg +++ b/src/unported/resources/META-INF/accesstransformer.cfg @@ -1,12 +1,12 @@ # GUI rendering -protected net.minecraft.client.gui.screen.inventory.ContainerScreen func_146977_a(Lnet/minecraft/inventory/container/Slot;)V # drawSlot +protected net.minecraft.client.gui.screen.inventory.ContainerScreen func_238746_a_(Lcom/mojang/blaze3d/matrix/MatrixStack;Lnet/minecraft/inventory/container/Slot;)V # moveItems public net.minecraft.client.gui.widget.TextFieldWidget func_146188_c(IIII)V # drawSelectionBox public net.minecraft.client.gui.widget.TextFieldWidget func_146208_g()I # getMaxStringLength protected net.minecraft.inventory.container.Container field_75149_d # listeners # Reusing RedstoneParticle for ChargedOreFX -protected net.minecraft.client.particle.RedstoneParticle (Lnet/minecraft/world/World;DDDDDDLnet/minecraft/particles/RedstoneParticleData;Lnet/minecraft/client/particle/IAnimatedSprite;)V +protected net.minecraft.client.particle.RedstoneParticle (Lnet/minecraft/client/world/ClientWorld;DDDDDDLnet/minecraft/particles/RedstoneParticleData;Lnet/minecraft/client/particle/IAnimatedSprite;)V # We need to change yPos of existing slots to resize the container public-f net.minecraft.inventory.container.Slot field_75223_e # xPos @@ -16,4 +16,7 @@ public-f net.minecraft.inventory.container.Slot field_75221_f # yPos public net.minecraft.item.crafting.RecipeManager func_215366_a(Lnet/minecraft/item/crafting/IRecipeType;)Ljava/util/Map; # getRecipes # To disable water-bobbing of item entities (for growing crystals) -protected net.minecraft.entity.ItemEntity func_203043_v()V # applyFloatMotion +protected net.minecraft.entity.item.ItemEntity func_203043_v()V # applyFloatMotion + +# Registration of custom DimensionType +public net.minecraft.world.DimensionType (Ljava/util/OptionalLong;ZZZZZZZZZILnet/minecraft/util/ResourceLocation;F)V diff --git a/src/unported/resources/META-INF/mods.toml b/src/unported/resources/META-INF/mods.toml index 96143ca28..26f317367 100644 --- a/src/unported/resources/META-INF/mods.toml +++ b/src/unported/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader="javafml" -loaderVersion="[31,)" +loaderVersion="[32,)" #updateJSONURL="" issueTrackerURL="https://github.com/AppliedEnergistics/Applied-Energistics-2/issues" displayURL="https://github.com/AppliedEnergistics/Applied-Energistics-2" @@ -16,13 +16,13 @@ description="A Mod about Matter, Energy and using them to conquer the world.." [[dependencies.appliedenergistics2]] modId="forge" mandatory=true - versionRange="[31.2.31,32.0.0)" + versionRange="[32.0.75,33.0.0)" ordering="NONE" side="BOTH" [[dependencies.appliedenergistics2]] modId="minecraft" mandatory=true - versionRange="[1.15.2]" + versionRange="[1.16.1]" ordering="NONE" side="BOTH"