diff --git a/common/src/main/java/com/copycatsplus/copycats/content/copycat/base/model/functional/WrappedRenderWorld.java b/common/src/main/java/com/copycatsplus/copycats/content/copycat/base/model/functional/WrappedRenderWorld.java index 89041577f..c0c2b30ed 100644 --- a/common/src/main/java/com/copycatsplus/copycats/content/copycat/base/model/functional/WrappedRenderWorld.java +++ b/common/src/main/java/com/copycatsplus/copycats/content/copycat/base/model/functional/WrappedRenderWorld.java @@ -6,8 +6,8 @@ import net.minecraft.client.Minecraft; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.Registry; import net.minecraft.core.SectionPos; -import net.minecraft.core.registries.Registries; import net.minecraft.world.level.*; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.Biomes; @@ -15,7 +15,6 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.chunk.DataLayer; -import net.minecraft.world.level.chunk.LightChunk; import net.minecraft.world.level.chunk.LightChunkGetter; import net.minecraft.world.level.lighting.LayerLightEventListener; import net.minecraft.world.level.lighting.LevelLightEngine; @@ -38,9 +37,8 @@ public WrappedRenderWorld(IFunctionalCopycatBlockEntity be) { this.material = be.getMaterial(); lightEngine = new LevelLightEngine(new LightChunkGetter() { @Override - @Nullable - public LightChunk getChunkForLighting(int p_63023_, int p_63024_) { - return null; + public BlockGetter getChunkForLighting(int p_63023_, int p_63024_) { + return WrappedRenderWorld.this; } @Override @@ -67,6 +65,12 @@ private static LayerLightEventListener createStaticListener(int light) { return new LayerLightEventListener() { @Override public void checkBlock(@NotNull BlockPos pos) { + + } + + @Override + public void onBlockEmissionIncrease(BlockPos pos, int emissionLevel) { + } @Override @@ -75,8 +79,8 @@ public boolean hasLightWork() { } @Override - public int runLightUpdates() { - return 0; + public int runUpdates(int pos, boolean isQueueEmpty, boolean updateBlockLight) { + return pos; } @Override @@ -84,11 +88,8 @@ public void updateSectionStatus(@NotNull SectionPos pos, boolean isSectionEmpty) } @Override - public void setLightEnabled(@NotNull ChunkPos pos, boolean lightEnabled) { - } + public void enableLightSources(ChunkPos chunkPos, boolean isQueueEmpty) { - @Override - public void propagateLightSources(@NotNull ChunkPos pos) { } @Override @@ -159,7 +160,7 @@ public int getRawBrightness(BlockPos blockPos, int amount) { @Override public int getBlockTint(@NotNull BlockPos pos, @NotNull ColorResolver resolver) { - Biome plainsBiome = Minecraft.getInstance().getConnection().registryAccess().registryOrThrow(Registries.BIOME).getOrThrow(Biomes.PLAINS); + Biome plainsBiome = Minecraft.getInstance().getConnection().registryAccess().registryOrThrow(Registry.BIOME_REGISTRY).getOrThrow(Biomes.PLAINS); return resolver.getColor(plainsBiome, pos.getX(), pos.getZ()); } } diff --git a/common/src/main/java/com/copycatsplus/copycats/content/copycat/base/multistate/MaterialItemStorage.java b/common/src/main/java/com/copycatsplus/copycats/content/copycat/base/multistate/MaterialItemStorage.java index eb5b01eac..456aa7b75 100644 --- a/common/src/main/java/com/copycatsplus/copycats/content/copycat/base/multistate/MaterialItemStorage.java +++ b/common/src/main/java/com/copycatsplus/copycats/content/copycat/base/multistate/MaterialItemStorage.java @@ -133,7 +133,7 @@ public CompoundTag serializeSafe() { public static MaterialItem deserialize(CompoundTag tag) { return new MaterialItem( - NbtUtils.readBlockState(BuiltInRegistries.BLOCK.asLookup(), tag.getCompound("material")), + NbtUtils.readBlockState(tag.getCompound("material")), ItemStack.of(tag.getCompound("consumedItem")), !tag.contains("enableCT") || tag.getBoolean("enableCT") ); diff --git a/common/src/main/java/com/copycatsplus/copycats/content/copycat/bytes/CopycatByteBlock.java b/common/src/main/java/com/copycatsplus/copycats/content/copycat/bytes/CopycatByteBlock.java index 7b79f975e..b1429d79c 100644 --- a/common/src/main/java/com/copycatsplus/copycats/content/copycat/bytes/CopycatByteBlock.java +++ b/common/src/main/java/com/copycatsplus/copycats/content/copycat/bytes/CopycatByteBlock.java @@ -2,7 +2,6 @@ import com.copycatsplus.copycats.Copycats; import com.copycatsplus.copycats.content.copycat.MathHelper; -import com.copycatsplus.copycats.content.copycat.base.multistate.CTWaterloggedMultiStateCopycatBlock; import com.copycatsplus.copycats.content.copycat.base.multistate.MultiStateCopycatBlockEntity; import com.copycatsplus.copycats.content.copycat.base.multistate.WaterloggedMultiStateCopycatBlock; import com.google.common.collect.ImmutableMap; diff --git a/common/src/main/java/com/copycatsplus/copycats/content/copycat/half_panel/CopycatHalfPanelBlock.java b/common/src/main/java/com/copycatsplus/copycats/content/copycat/half_panel/CopycatHalfPanelBlock.java index 1c991b3f4..1c4f858fd 100644 --- a/common/src/main/java/com/copycatsplus/copycats/content/copycat/half_panel/CopycatHalfPanelBlock.java +++ b/common/src/main/java/com/copycatsplus/copycats/content/copycat/half_panel/CopycatHalfPanelBlock.java @@ -259,7 +259,7 @@ public boolean hidesNeighborFace(BlockGetter level, BlockPos pos, BlockState sta } return pState .setValue(FACING, newFacing) - .setValue(OFFSET, Objects.requireNonNull(Direction.fromDelta(offsetNormal.getX(), offsetNormal.getY(), offsetNormal.getZ()))); + .setValue(OFFSET, Objects.requireNonNull(DirectionFromDelta(offsetNormal.getX(), offsetNormal.getY(), offsetNormal.getZ()))); } @SuppressWarnings("deprecation") diff --git a/common/src/main/java/com/copycatsplus/copycats/content/copycat/shaft/CopycatShaftBlock.java b/common/src/main/java/com/copycatsplus/copycats/content/copycat/shaft/CopycatShaftBlock.java index 089c56da7..8bcc499a9 100644 --- a/common/src/main/java/com/copycatsplus/copycats/content/copycat/shaft/CopycatShaftBlock.java +++ b/common/src/main/java/com/copycatsplus/copycats/content/copycat/shaft/CopycatShaftBlock.java @@ -36,6 +36,8 @@ import java.util.Optional; import java.util.function.Predicate; +import static com.copycatsplus.copycats.content.copycat.MathHelper.DirectionFromDelta; + public class CopycatShaftBlock extends ShaftBlock implements IFunctionalCopycatBlock, ICustomCTBlocking { public static final int placementHelperId = PlacementHelpers.register(new PlacementHelper()); @@ -122,7 +124,7 @@ public boolean isIgnoredConnectivitySide(BlockAndTintGetter reader, BlockState s @Override public boolean canConnectTexturesToward(BlockAndTintGetter reader, BlockPos fromPos, BlockPos toPos, BlockState state) { Vec3i diff = toPos.subtract(fromPos); - Direction face = Direction.fromDelta(diff.getX(), diff.getY(), diff.getZ()); + Direction face = DirectionFromDelta(diff.getX(), diff.getY(), diff.getZ()); if (face == null) return false; return face.getAxis() == state.getValue(AXIS); } diff --git a/common/src/main/java/com/copycatsplus/copycats/content/copycat/slope/CopycatSlopeBlock.java b/common/src/main/java/com/copycatsplus/copycats/content/copycat/slope/CopycatSlopeBlock.java index d944c6be8..9524659e4 100644 --- a/common/src/main/java/com/copycatsplus/copycats/content/copycat/slope/CopycatSlopeBlock.java +++ b/common/src/main/java/com/copycatsplus/copycats/content/copycat/slope/CopycatSlopeBlock.java @@ -47,6 +47,8 @@ import java.util.Optional; import java.util.function.Predicate; +import static com.copycatsplus.copycats.content.copycat.MathHelper.DirectionFromDelta; + public class CopycatSlopeBlock extends CTWaterloggedCopycatBlock implements IStateType, ICustomCTBlocking { public static final DirectionProperty FACING = BlockStateProperties.HORIZONTAL_FACING; @@ -90,7 +92,7 @@ public boolean isIgnoredConnectivitySide(BlockAndTintGetter reader, BlockState s if (diff.equals(Vec3i.ZERO)) { return false; } - Direction connectFace = Direction.fromDelta(diff.getX(), diff.getY(), diff.getZ()); + Direction connectFace = DirectionFromDelta(diff.getX(), diff.getY(), diff.getZ()); if (connectFace == null) { return false; } @@ -114,7 +116,7 @@ public boolean canConnectTexturesToward(BlockAndTintGetter reader, BlockPos from if (diff.equals(Vec3i.ZERO)) { return true; } - Direction face = Direction.fromDelta(diff.getX(), diff.getY(), diff.getZ()); + Direction face = DirectionFromDelta(diff.getX(), diff.getY(), diff.getZ()); if (face == null) { return true; } diff --git a/common/src/main/java/com/copycatsplus/copycats/content/copycat/vertical_slope/CopycatVerticalSlopeBlock.java b/common/src/main/java/com/copycatsplus/copycats/content/copycat/vertical_slope/CopycatVerticalSlopeBlock.java index 6f9bc2a73..e6335d2f0 100644 --- a/common/src/main/java/com/copycatsplus/copycats/content/copycat/vertical_slope/CopycatVerticalSlopeBlock.java +++ b/common/src/main/java/com/copycatsplus/copycats/content/copycat/vertical_slope/CopycatVerticalSlopeBlock.java @@ -41,6 +41,7 @@ import java.util.Optional; import java.util.function.Predicate; +import static com.copycatsplus.copycats.content.copycat.MathHelper.DirectionFromDelta; import static net.minecraft.core.Direction.Axis; public class CopycatVerticalSlopeBlock extends CTWaterloggedCopycatBlock implements IStateType, ICustomCTBlocking { @@ -82,7 +83,7 @@ public boolean isIgnoredConnectivitySide(BlockAndTintGetter reader, BlockState s if (diff.equals(Vec3i.ZERO)) { return false; } - Direction connectFace = Direction.fromDelta(diff.getX(), diff.getY(), diff.getZ()); + Direction connectFace = DirectionFromDelta(diff.getX(), diff.getY(), diff.getZ()); if (connectFace == null) { return false; } @@ -111,7 +112,7 @@ public boolean canConnectTexturesToward(BlockAndTintGetter reader, BlockPos from if (diff.equals(Vec3i.ZERO)) { return true; } - Direction face = Direction.fromDelta(diff.getX(), diff.getY(), diff.getZ()); + Direction face = DirectionFromDelta(diff.getX(), diff.getY(), diff.getZ()); if (face == null) { return true; } diff --git a/common/src/main/java/com/copycatsplus/copycats/datagen/recipes/CCStandardRecipes.java b/common/src/main/java/com/copycatsplus/copycats/datagen/recipes/CCStandardRecipes.java index f09d8a545..47f8ecca1 100644 --- a/common/src/main/java/com/copycatsplus/copycats/datagen/recipes/CCStandardRecipes.java +++ b/common/src/main/java/com/copycatsplus/copycats/datagen/recipes/CCStandardRecipes.java @@ -3,32 +3,20 @@ import com.copycatsplus.copycats.CCBlocks; import com.copycatsplus.copycats.CCItems; import com.copycatsplus.copycats.CCTags; -import com.copycatsplus.copycats.content.copycat.base.ICopycatWithWrappedBlock; import com.copycatsplus.copycats.content.copycat.base.functional.IFunctionalCopycatBlock; import com.copycatsplus.copycats.content.copycat.base.multistate.MultiStateCopycatBlock; -import com.copycatsplus.copycats.content.copycat.shaft.CopycatShaftBlock; import com.copycatsplus.copycats.datagen.recipes.gen.CopycatsRecipeProvider; import com.copycatsplus.copycats.datagen.recipes.gen.GeneratedRecipeBuilder; import com.copycatsplus.copycats.multiloader.Platform; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Sets; -import com.google.gson.JsonObject; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.content.decoration.copycat.CopycatBlock; import com.tterrag.registrate.util.entry.ItemProviderEntry; import com.tterrag.registrate.util.entry.RegistryEntry; import dev.architectury.injectables.annotations.ExpectPlatform; -import net.minecraft.data.PackOutput; -import net.minecraft.advancements.Advancement; -import net.minecraft.advancements.critereon.ImpossibleTrigger; -import net.minecraft.core.Registry; -import net.minecraft.data.CachedOutput; import net.minecraft.data.DataGenerator; -import net.minecraft.data.recipes.FinishedRecipe; -import net.minecraft.data.recipes.RecipeBuilder; import net.minecraft.data.recipes.RecipeProvider; -import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; diff --git a/fabric/src/main/java/com/copycatsplus/copycats/content/copycat/base/model/multistate/fabric/SimpleMultiStateCopycatModel.java b/fabric/src/main/java/com/copycatsplus/copycats/content/copycat/base/model/multistate/fabric/SimpleMultiStateCopycatModel.java index 0aa5c80e9..f7557b3ba 100644 --- a/fabric/src/main/java/com/copycatsplus/copycats/content/copycat/base/model/multistate/fabric/SimpleMultiStateCopycatModel.java +++ b/fabric/src/main/java/com/copycatsplus/copycats/content/copycat/base/model/multistate/fabric/SimpleMultiStateCopycatModel.java @@ -28,7 +28,7 @@ public SimpleMultiStateCopycatModel(BakedModel originalModel, SimpleMultiStateCo } @Override - protected void emitBlockQuadsInner(String key, BlockAndTintGetter blockView, BlockState state, BlockPos pos, Supplier randomSupplier, RenderContext renderContext, BlockState material, CopycatModel.CullFaceRemovalData cullFaceRemovalData, CopycatModel.OcclusionData occlusionData) { + protected void emitBlockQuadsInner(String key, BlockAndTintGetter blockView, BlockState state, BlockPos pos, Supplier randomSupplier, RenderContext renderContext, BlockState material, CullFaceRemovalData cullFaceRemovalData, OcclusionData occlusionData) { BakedModel model = getModelOf(material); // Use a mesh to defer quad emission since quads cannot be emitted inside a transform diff --git a/forge/src/main/java/com/copycatsplus/copycats/forge/CCBuilderTransformersImpl.java b/forge/src/main/java/com/copycatsplus/copycats/forge/CCBuilderTransformersImpl.java index 9034c2192..e638f5f81 100644 --- a/forge/src/main/java/com/copycatsplus/copycats/forge/CCBuilderTransformersImpl.java +++ b/forge/src/main/java/com/copycatsplus/copycats/forge/CCBuilderTransformersImpl.java @@ -2,13 +2,12 @@ import com.copycatsplus.copycats.content.copycat.base.functional.IFunctionalCopycatBlock; import com.copycatsplus.copycats.content.copycat.base.multistate.MultiStateCopycatBlock; -import com.simibubi.create.content.decoration.copycat.CopycatBlock; import com.simibubi.create.foundation.data.SharedProperties; import com.simibubi.create.foundation.data.TagGen; import com.tterrag.registrate.builders.BlockBuilder; import com.tterrag.registrate.util.nullness.NonNullUnaryOperator; -import net.minecraft.world.level.block.Block; import net.minecraft.client.renderer.RenderType; +import net.minecraft.world.level.block.Block; import net.minecraft.world.level.material.MaterialColor; public class CCBuilderTransformersImpl { @@ -48,7 +47,7 @@ public static NonNullUnaryOperator> func .getExistingFile(p.mcLoc("air")))) .initialProperties(SharedProperties::softMetal) .properties(p -> p.noOcclusion() - .mapColor(MapColor.NONE)) + .color(MaterialColor.NONE)) .addLayer(() -> RenderType::solid) .addLayer(() -> RenderType::cutout) .addLayer(() -> RenderType::cutoutMipped) diff --git a/forge/src/main/resources/copycats-forge.mixins.json b/forge/src/main/resources/copycats-forge.mixins.json index acea9d59f..98e192110 100644 --- a/forge/src/main/resources/copycats-forge.mixins.json +++ b/forge/src/main/resources/copycats-forge.mixins.json @@ -6,8 +6,6 @@ "compatibilityLevel": "JAVA_17", "mixins": [ "compat.doubleslabs.DSConfigCommonMixin", - "copycat.base.CopycatModelMixin", - "compat.registrate.CreateRegistrateMixin", "copycat.base.functional.FunctionalCopycatBlockMixin", "copycat.base.multistate.MultiStateCopycatBlockCombinerMixin", "network.ServerGamePacketListenerImplMixin"