diff --git a/RebornCore/src/client/java/reborncore/RebornCoreClient.java b/RebornCore/src/client/java/reborncore/RebornCoreClient.java index 44033acf0..7d879e026 100644 --- a/RebornCore/src/client/java/reborncore/RebornCoreClient.java +++ b/RebornCore/src/client/java/reborncore/RebornCoreClient.java @@ -31,7 +31,7 @@ import net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback; import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents; import net.fabricmc.fabric.api.event.client.ClientSpriteRegistryCallback; -import net.minecraft.client.texture.SpriteAtlasTexture; +import net.minecraft.screen.PlayerScreenHandler; import reborncore.api.blockentity.UnloadHandler; import reborncore.client.*; import reborncore.common.screen.ScreenIcons; @@ -44,7 +44,7 @@ public class RebornCoreClient implements ClientModInitializer { public void onInitializeClient() { RebornFluidRenderManager.setupClient(); HolidayRenderManager.setupClient(); - ClientSpriteRegistryCallback.event(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE).register((atlasTexture, registry) -> { + ClientSpriteRegistryCallback.event(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE).register((atlasTexture, registry) -> { registry.register(ScreenIcons.HEAD); registry.register(ScreenIcons.CHEST); registry.register(ScreenIcons.LEGS); diff --git a/RebornCore/src/client/java/reborncore/client/RebornFluidRenderManager.java b/RebornCore/src/client/java/reborncore/client/RebornFluidRenderManager.java index 4abba2b78..7870f6e3b 100644 --- a/RebornCore/src/client/java/reborncore/client/RebornFluidRenderManager.java +++ b/RebornCore/src/client/java/reborncore/client/RebornFluidRenderManager.java @@ -34,6 +34,7 @@ import net.minecraft.client.texture.SpriteAtlasTexture; import net.minecraft.fluid.Fluid; import net.minecraft.resource.ResourceManager; import net.minecraft.resource.ResourceType; +import net.minecraft.screen.PlayerScreenHandler; import net.minecraft.util.Identifier; import reborncore.common.fluid.FluidSettings; import reborncore.common.fluid.RebornFluid; @@ -52,7 +53,7 @@ public class RebornFluidRenderManager implements ClientSpriteRegistryCallback, S public static void setupClient() { RebornFluidRenderManager rebornFluidRenderManager = new RebornFluidRenderManager(); - ClientSpriteRegistryCallback.event(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE).register(rebornFluidRenderManager); + ClientSpriteRegistryCallback.event(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE).register(rebornFluidRenderManager); ResourceManagerHelper.get(ResourceType.CLIENT_RESOURCES).registerReloadListener(rebornFluidRenderManager); RebornFluidManager.getFluidStream().forEach(RebornFluidRenderManager::setupFluidRenderer); } diff --git a/RebornCore/src/client/java/reborncore/client/RenderUtil.java b/RebornCore/src/client/java/reborncore/client/RenderUtil.java index e67995761..c4e59d0cc 100644 --- a/RebornCore/src/client/java/reborncore/client/RenderUtil.java +++ b/RebornCore/src/client/java/reborncore/client/RenderUtil.java @@ -34,6 +34,7 @@ import net.minecraft.client.texture.SpriteAtlasTexture; import net.minecraft.client.texture.TextureManager; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.fluid.Fluid; +import net.minecraft.screen.PlayerScreenHandler; import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; import reborncore.common.fluid.FluidValue; @@ -44,14 +45,12 @@ import reborncore.common.util.Tank; * Created by Gigabit101 on 08/08/2016. */ public class RenderUtil { - public static final Identifier BLOCK_TEX = SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE; - public static TextureManager engine() { return MinecraftClient.getInstance().getTextureManager(); } public static void bindBlockTexture() { - RenderSystem.setShaderTexture(0, BLOCK_TEX); + RenderSystem.setShaderTexture(0, PlayerScreenHandler.BLOCK_ATLAS_TEXTURE); } public static Sprite getStillTexture(FluidInstance fluid) { @@ -62,7 +61,7 @@ public class RenderUtil { } public static Sprite getSprite(Identifier identifier) { - return MinecraftClient.getInstance().getSpriteAtlas(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE).apply(identifier); + return MinecraftClient.getInstance().getSpriteAtlas(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE).apply(identifier); } public static Sprite getStillTexture(Fluid fluid) { diff --git a/RebornCore/src/client/java/reborncore/client/gui/builder/slot/elements/FluidConfigPopupElement.java b/RebornCore/src/client/java/reborncore/client/gui/builder/slot/elements/FluidConfigPopupElement.java index 327e71d89..f6e0478e8 100644 --- a/RebornCore/src/client/java/reborncore/client/gui/builder/slot/elements/FluidConfigPopupElement.java +++ b/RebornCore/src/client/java/reborncore/client/gui/builder/slot/elements/FluidConfigPopupElement.java @@ -33,8 +33,8 @@ import net.minecraft.client.render.Tessellator; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.block.BlockRenderManager; import net.minecraft.client.render.model.BakedModel; -import net.minecraft.client.texture.SpriteAtlasTexture; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.screen.PlayerScreenHandler; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.util.math.Quaternion; @@ -74,7 +74,7 @@ public class FluidConfigPopupElement extends ElementBase { BlockState actualState = state.getBlock().getDefaultState(); BlockRenderManager dispatcher = MinecraftClient.getInstance().getBlockRenderManager(); BakedModel model = dispatcher.getModels().getModel(state.getBlock().getDefaultState()); - MinecraftClient.getInstance().getTextureManager().bindTexture(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE); + MinecraftClient.getInstance().getTextureManager().bindTexture(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE); drawState(gui, world, model, actualState, pos, dispatcher, 4, 23, Vec3f.POSITIVE_Y.getDegreesQuaternion(90F)); //left drawState(gui, world, model, actualState, pos, dispatcher, 23, 4, Vec3f.NEGATIVE_X.getDegreesQuaternion(90F)); //top drawState(gui, world, model, actualState, pos, dispatcher, 23, 23, null); //centre diff --git a/RebornCore/src/client/java/reborncore/client/gui/builder/slot/elements/SlotConfigPopupElement.java b/RebornCore/src/client/java/reborncore/client/gui/builder/slot/elements/SlotConfigPopupElement.java index 1d7956d74..0320267e2 100644 --- a/RebornCore/src/client/java/reborncore/client/gui/builder/slot/elements/SlotConfigPopupElement.java +++ b/RebornCore/src/client/java/reborncore/client/gui/builder/slot/elements/SlotConfigPopupElement.java @@ -33,8 +33,8 @@ import net.minecraft.client.render.Tessellator; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.block.BlockRenderManager; import net.minecraft.client.render.model.BakedModel; -import net.minecraft.client.texture.SpriteAtlasTexture; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.screen.PlayerScreenHandler; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.util.math.Quaternion; @@ -78,7 +78,7 @@ public class SlotConfigPopupElement extends ElementBase { BlockState actualState = state.getBlock().getDefaultState(); BlockRenderManager dispatcher = MinecraftClient.getInstance().getBlockRenderManager(); BakedModel model = dispatcher.getModels().getModel(state.getBlock().getDefaultState()); - MinecraftClient.getInstance().getTextureManager().bindTexture(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE); + MinecraftClient.getInstance().getTextureManager().bindTexture(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE); drawState(gui, world, model, actualState, pos, dispatcher, 4, 23, Vec3f.POSITIVE_Y.getDegreesQuaternion(90F)); //left drawState(gui, world, model, actualState, pos, dispatcher, 23, 4, Vec3f.NEGATIVE_X.getDegreesQuaternion(90F)); //top drawState(gui, world, model, actualState, pos, dispatcher, 23, 23, null); //centre diff --git a/RebornCore/src/client/java/reborncore/client/gui/guibuilder/GuiBuilder.java b/RebornCore/src/client/java/reborncore/client/gui/guibuilder/GuiBuilder.java index ed67faf59..c18e98e65 100644 --- a/RebornCore/src/client/java/reborncore/client/gui/guibuilder/GuiBuilder.java +++ b/RebornCore/src/client/java/reborncore/client/gui/guibuilder/GuiBuilder.java @@ -38,10 +38,10 @@ import net.minecraft.client.render.Tessellator; import net.minecraft.client.render.VertexFormat; import net.minecraft.client.render.VertexFormats; import net.minecraft.client.texture.Sprite; -import net.minecraft.client.texture.SpriteAtlasTexture; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.fluid.Fluids; import net.minecraft.item.ItemStack; +import net.minecraft.screen.PlayerScreenHandler; import net.minecraft.text.Text; import net.minecraft.util.Formatting; import net.minecraft.util.Identifier; @@ -715,7 +715,7 @@ public class GuiBuilder { if (fluid.getFluid() == Fluids.EMPTY) { return; } - RenderSystem.setShaderTexture(0, SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE); + RenderSystem.setShaderTexture(0, PlayerScreenHandler.BLOCK_ATLAS_TEXTURE); y += height; final Sprite sprite = FluidVariantRendering.getSprite(fluid.getVariant()); int color = FluidVariantRendering.getColor(fluid.getVariant()); diff --git a/RebornCore/src/main/java/reborncore/common/blocks/BlockWrenchEventHandler.java b/RebornCore/src/main/java/reborncore/common/blocks/BlockWrenchEventHandler.java index a038fdc65..5cbd02448 100644 --- a/RebornCore/src/main/java/reborncore/common/blocks/BlockWrenchEventHandler.java +++ b/RebornCore/src/main/java/reborncore/common/blocks/BlockWrenchEventHandler.java @@ -48,8 +48,7 @@ public class BlockWrenchEventHandler { if (ToolManager.INSTANCE.canHandleTool(playerEntity.getStackInHand(Hand.MAIN_HAND))) { BlockState state = world.getBlockState(blockHitResult.getBlockPos()); if (wrenchableBlocks.contains(state.getBlock())) { - Block block = state.getBlock(); - block.onUse(state, world, blockHitResult.getBlockPos(), playerEntity, hand, blockHitResult); + state.onUse(world, playerEntity, hand, blockHitResult); return ActionResult.SUCCESS; } } diff --git a/src/client/java/techreborn/TechRebornClient.java b/src/client/java/techreborn/TechRebornClient.java index a6aeaed42..114a84bcf 100644 --- a/src/client/java/techreborn/TechRebornClient.java +++ b/src/client/java/techreborn/TechRebornClient.java @@ -83,7 +83,7 @@ public class TechRebornClient implements ClientModInitializer { @Override public void onInitializeClient() { - ModelLoadingRegistry.INSTANCE.registerAppender((manager, out) -> { + ModelLoadingRegistry.INSTANCE.registerModelProvider((manager, out) -> { out.accept(new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "cell_base"), "inventory")); out.accept(new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "cell_fluid"), "inventory")); out.accept(new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "cell_background"), "inventory")); diff --git a/src/client/java/techreborn/client/compat/rei/ReiPlugin.java b/src/client/java/techreborn/client/compat/rei/ReiPlugin.java index ce76f9ec3..832262b4c 100644 --- a/src/client/java/techreborn/client/compat/rei/ReiPlugin.java +++ b/src/client/java/techreborn/client/compat/rei/ReiPlugin.java @@ -52,11 +52,11 @@ import net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandler; import net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandlerRegistry; import net.minecraft.client.MinecraftClient; import net.minecraft.client.texture.Sprite; -import net.minecraft.client.texture.SpriteAtlasTexture; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.fluid.Fluid; import net.minecraft.item.ItemConvertible; import net.minecraft.item.ItemStack; +import net.minecraft.screen.PlayerScreenHandler; import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; @@ -366,7 +366,7 @@ public class ReiPlugin implements REIClientPlugin { } public void drawFluid(MatrixStack matrixStack, Fluid fluid, int drawHeight, int x, int y, int width, int height) { - RenderSystem.setShaderTexture(0, SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE); + RenderSystem.setShaderTexture(0, PlayerScreenHandler.BLOCK_ATLAS_TEXTURE); y += height; FluidRenderHandler handler = FluidRenderHandlerRegistry.INSTANCE.get(fluid); diff --git a/src/client/java/techreborn/client/render/DynamicBucketBakedModel.java b/src/client/java/techreborn/client/render/DynamicBucketBakedModel.java index 40226d917..5b1b9a7a6 100644 --- a/src/client/java/techreborn/client/render/DynamicBucketBakedModel.java +++ b/src/client/java/techreborn/client/render/DynamicBucketBakedModel.java @@ -26,8 +26,8 @@ package techreborn.client.render; import net.minecraft.client.MinecraftClient; import net.minecraft.client.texture.Sprite; -import net.minecraft.client.texture.SpriteAtlasTexture; import net.minecraft.client.util.ModelIdentifier; +import net.minecraft.screen.PlayerScreenHandler; import net.minecraft.util.Identifier; import techreborn.TechReborn; @@ -40,7 +40,7 @@ public class DynamicBucketBakedModel extends BaseDynamicFluidBakedModel { @Override public Sprite getParticleSprite() { return MinecraftClient.getInstance() - .getSpriteAtlas(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE) + .getSpriteAtlas(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE) .apply(new Identifier("minecraft:item/bucket")); } diff --git a/src/client/java/techreborn/client/render/DynamicCellBakedModel.java b/src/client/java/techreborn/client/render/DynamicCellBakedModel.java index 38d4a045a..d46c4036c 100644 --- a/src/client/java/techreborn/client/render/DynamicCellBakedModel.java +++ b/src/client/java/techreborn/client/render/DynamicCellBakedModel.java @@ -28,9 +28,9 @@ import net.fabricmc.fabric.api.renderer.v1.render.RenderContext; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.model.BakedModelManager; import net.minecraft.client.texture.Sprite; -import net.minecraft.client.texture.SpriteAtlasTexture; import net.minecraft.client.util.ModelIdentifier; import net.minecraft.item.ItemStack; +import net.minecraft.screen.PlayerScreenHandler; import net.minecraft.util.Identifier; import net.minecraft.util.math.random.Random; import techreborn.TechReborn; @@ -55,7 +55,7 @@ public class DynamicCellBakedModel extends BaseDynamicFluidBakedModel { @Override public Sprite getParticleSprite() { return MinecraftClient.getInstance() - .getSpriteAtlas(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE) + .getSpriteAtlas(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE) .apply(new Identifier("techreborn:item/cell_base")); } diff --git a/src/client/java/techreborn/client/render/entitys/NukeRenderer.java b/src/client/java/techreborn/client/render/entitys/NukeRenderer.java index 050f594d2..ae5195ffa 100644 --- a/src/client/java/techreborn/client/render/entitys/NukeRenderer.java +++ b/src/client/java/techreborn/client/render/entitys/NukeRenderer.java @@ -29,8 +29,8 @@ import net.minecraft.client.render.block.BlockRenderManager; import net.minecraft.client.render.entity.EntityRenderer; import net.minecraft.client.render.entity.EntityRendererFactory; import net.minecraft.client.render.entity.TntMinecartEntityRenderer; -import net.minecraft.client.texture.SpriteAtlasTexture; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.screen.PlayerScreenHandler; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3f; @@ -53,7 +53,7 @@ public class NukeRenderer extends EntityRenderer { @Nullable @Override public Identifier getTexture(EntityNukePrimed entityNukePrimed) { - return SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE; + return PlayerScreenHandler.BLOCK_ATLAS_TEXTURE; } @Override diff --git a/src/main/java/techreborn/blockentity/GuiType.java b/src/main/java/techreborn/blockentity/GuiType.java index 179541e75..b3d7d78fb 100644 --- a/src/main/java/techreborn/blockentity/GuiType.java +++ b/src/main/java/techreborn/blockentity/GuiType.java @@ -25,7 +25,7 @@ package techreborn.blockentity; import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerFactory; -import net.fabricmc.fabric.api.screenhandler.v1.ScreenHandlerRegistry; +import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerType; import net.minecraft.block.entity.BlockEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; @@ -36,6 +36,7 @@ import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.text.Text; import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.registry.Registry; import net.minecraft.world.World; import org.jetbrains.annotations.Nullable; import reborncore.api.blockentity.IMachineGuiHandler; @@ -138,13 +139,14 @@ public final class GuiType implements IMachineGuiHandler private GuiType(Identifier identifier) { this.identifier = identifier; - this.screenHandlerType = ScreenHandlerRegistry.registerExtended(identifier, getScreenHandlerFactory()); + this.screenHandlerType = Registry.register(Registry.SCREEN_HANDLER, identifier, new ExtendedScreenHandlerType<>(getScreenHandlerFactory())); TYPES.put(identifier, this); } - private ScreenHandlerRegistry.ExtendedClientHandlerFactory getScreenHandlerFactory() { + private ExtendedScreenHandlerType.ExtendedFactory getScreenHandlerFactory() { return (syncId, playerInventory, packetByteBuf) -> { + final BlockEntity blockEntity = playerInventory.player.world.getBlockEntity(packetByteBuf.readBlockPos()); BuiltScreenHandler screenHandler = ((BuiltScreenHandlerProvider) blockEntity).createScreenHandler(syncId, playerInventory.player);