diff --git a/gradle/scripts/dependencies.gradle b/gradle/scripts/dependencies.gradle index d29dcfc7a..df637187e 100644 --- a/gradle/scripts/dependencies.gradle +++ b/gradle/scripts/dependencies.gradle @@ -33,8 +33,8 @@ dependencies { compileOnly "mcjty.theoneprobe:TheOneProbe-${minecraft_release}:${minecraft_release}-${top_version}:api" // Runtime, Mods -// FIXME 1.16.2 runtimeOnly fg.deobf("mezz.jei:jei-${jei_minecraft_version}:${jei_version}") -// FIXME 1.16.2 runtimeOnly fg.deobf("mcjty.theoneprobe:TheOneProbe-${minecraft_release}:${minecraft_release}-${top_version}") + runtimeOnly fg.deobf("mezz.jei:jei-${jei_minecraft_version}:${jei_version}") + runtimeOnly fg.deobf("mcjty.theoneprobe:TheOneProbe-${minecraft_release}:${minecraft_release}-${top_version}") //runtimeOnly fg.deobf("team.chisel.ctm:CTM:${ctm_version}") // unit test dependencies diff --git a/src/main/java/appeng/core/api/definitions/ApiItems.java b/src/main/java/appeng/core/api/definitions/ApiItems.java index 3fce96722..b62f8a4e0 100644 --- a/src/main/java/appeng/core/api/definitions/ApiItems.java +++ b/src/main/java/appeng/core/api/definitions/ApiItems.java @@ -55,6 +55,7 @@ import appeng.hooks.BlockToolDispenseItemBehavior; import appeng.hooks.MatterCannonDispenseItemBehavior; import appeng.items.materials.MaterialType; import appeng.items.misc.CrystalSeedItem; +import appeng.items.misc.CrystalSeedRendering; import appeng.items.misc.EncodedPatternItem; import appeng.items.misc.PaintBallItem; import appeng.items.misc.PaintBallItemRendering; @@ -305,24 +306,15 @@ public final class ApiItems implements IItems { this.certusCrystalSeed = registry .item("certus_crystal_seed", props -> new CrystalSeedItem(props, materials.purifiedCertusQuartzCrystal().item())) - .bootstrap(item -> new IClientSetupComponent() { - @Override - @Environment(EnvType.CLIENT) - public void setup() { - // Expose the growth of the seed to the model system - FabricModelPredicateProviderRegistry.register(item, AppEng.makeId("growth"), - (is, w, p) -> CrystalSeedItem.getGrowthTicks(is) - / (float) CrystalSeedItem.GROWTH_TICKS_REQUIRED); - } - }).features(AEFeature.CRYSTAL_SEEDS).build(); + .bootstrap(CrystalSeedRendering::new).features(AEFeature.CRYSTAL_SEEDS).build(); this.fluixCrystalSeed = registry .item("fluix_crystal_seed", props -> new CrystalSeedItem(props, materials.purifiedFluixCrystal().item())) - .features(AEFeature.CRYSTAL_SEEDS).build(); + .bootstrap(CrystalSeedRendering::new).features(AEFeature.CRYSTAL_SEEDS).build(); this.netherQuartzSeed = registry .item("nether_quartz_seed", props -> new CrystalSeedItem(props, materials.purifiedNetherQuartzCrystal().item())) - .features(AEFeature.CRYSTAL_SEEDS).build(); + .bootstrap(CrystalSeedRendering::new).features(AEFeature.CRYSTAL_SEEDS).build(); GrowingCrystalEntity.TYPE = registry .entity("growing_crystal", GrowingCrystalEntity::new, SpawnGroup.MISC) diff --git a/src/main/java/appeng/items/misc/CrystalSeedRendering.java b/src/main/java/appeng/items/misc/CrystalSeedRendering.java new file mode 100644 index 000000000..d053ee802 --- /dev/null +++ b/src/main/java/appeng/items/misc/CrystalSeedRendering.java @@ -0,0 +1,29 @@ +package appeng.items.misc; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemModelsProperties; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; + +import appeng.bootstrap.components.IClientSetupComponent; + +/** + * Exposes a predicate "growth", which is used in the item model to + * differentiate the growth stages. + */ +public class CrystalSeedRendering implements IClientSetupComponent { + private final Item item; + + public CrystalSeedRendering(Item item) { + this.item = item; + } + + @Override + @OnlyIn(Dist.CLIENT) + public void setup() { + // Expose the growth of the seed to the model system + ItemModelsProperties.func_239418_a_(item, new ResourceLocation("appliedenergistics2:growth"), + (is, w, p) -> CrystalSeedItem.getGrowthTicks(is) / (float) CrystalSeedItem.GROWTH_TICKS_REQUIRED); + } +} diff --git a/src/main/java/appeng/me/Grid.java b/src/main/java/appeng/me/Grid.java index 98b22ccf7..3eacf3bb9 100644 --- a/src/main/java/appeng/me/Grid.java +++ b/src/main/java/appeng/me/Grid.java @@ -176,7 +176,6 @@ public class Grid implements IGrid { } gridNode.getGridProxy().gridChanged(); - // postEventTo( gridNode, networkChanged ); } @Override diff --git a/src/main/java/appeng/me/cache/EnergyGridCache.java b/src/main/java/appeng/me/cache/EnergyGridCache.java index 9a2ce7e64..bf2cb10a5 100644 --- a/src/main/java/appeng/me/cache/EnergyGridCache.java +++ b/src/main/java/appeng/me/cache/EnergyGridCache.java @@ -502,7 +502,7 @@ public class EnergyGridCache implements IEnergyGrid { private void removeRequester(IAEPowerStorage requester) { Preconditions.checkState(!ongoingInjectOperation, "Cannot modify energy requesters while energy is being injected."); - this.requesters.add(requester); + this.requesters.remove(requester); } private void addProvider(IAEPowerStorage provider) {