diff --git a/src/main/java/nl/requios/effortlessbuilding/EffortlessBuilding.java b/src/main/java/nl/requios/effortlessbuilding/EffortlessBuilding.java index c0b72ca..f85d281 100644 --- a/src/main/java/nl/requios/effortlessbuilding/EffortlessBuilding.java +++ b/src/main/java/nl/requios/effortlessbuilding/EffortlessBuilding.java @@ -6,23 +6,22 @@ import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.MenuType; import net.minecraft.world.item.Item; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.registry.Registry; import net.minecraft.network.chat.TextComponent; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.capabilities.CapabilityManager; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.DistExecutor; import net.minecraftforge.fml.ModLoadingContext; -import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.config.ModConfig; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent; import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent; -import net.minecraftforge.fml.event.server.FMLServerStartingEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.fml.network.IContainerFactory; +import net.minecraftforge.fmllegacy.RegistryObject; +import net.minecraftforge.fmllegacy.network.IContainerFactory; +import net.minecraftforge.fmlserverevents.FMLServerStartingEvent; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import nl.requios.effortlessbuilding.capability.ModeCapabilityManager; @@ -110,9 +109,6 @@ public class EffortlessBuilding { @SubscribeEvent public void setup(final FMLCommonSetupEvent event) { - CapabilityManager.INSTANCE.register(ModifierCapabilityManager.IModifierCapability.class, new ModifierCapabilityManager.Storage(), ModifierCapabilityManager.ModifierCapability::new); - CapabilityManager.INSTANCE.register(ModeCapabilityManager.IModeCapability.class, new ModeCapabilityManager.Storage(), ModeCapabilityManager.ModeCapability::new); - PacketHandler.register(); //TODO 1.13 config diff --git a/src/main/java/nl/requios/effortlessbuilding/EventHandler.java b/src/main/java/nl/requios/effortlessbuilding/EventHandler.java index 594bef6..5ea0b47 100644 --- a/src/main/java/nl/requios/effortlessbuilding/EventHandler.java +++ b/src/main/java/nl/requios/effortlessbuilding/EventHandler.java @@ -14,7 +14,7 @@ import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.event.world.BlockEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.network.PacketDistributor; +import net.minecraftforge.fmllegacy.network.PacketDistributor; import nl.requios.effortlessbuilding.buildmode.BuildModes; import nl.requios.effortlessbuilding.buildmode.ModeSettingsManager; import nl.requios.effortlessbuilding.buildmodifier.BuildModifiers; @@ -31,7 +31,7 @@ import nl.requios.effortlessbuilding.network.RequestLookAtMessage; import java.util.List; -@Mod.EventBusSubscriber +@Mod.EventBusSubscriber(modid = EffortlessBuilding.MODID) public class EventHandler { @SubscribeEvent diff --git a/src/main/java/nl/requios/effortlessbuilding/ModEventHandler.java b/src/main/java/nl/requios/effortlessbuilding/ModEventHandler.java index 869d63b..5091a69 100644 --- a/src/main/java/nl/requios/effortlessbuilding/ModEventHandler.java +++ b/src/main/java/nl/requios/effortlessbuilding/ModEventHandler.java @@ -3,9 +3,13 @@ package nl.requios.effortlessbuilding; import net.minecraft.world.level.block.Block; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; +import net.minecraftforge.common.capabilities.CapabilityManager; +import net.minecraftforge.common.capabilities.RegisterCapabilitiesEvent; import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; +import nl.requios.effortlessbuilding.capability.ModeCapabilityManager; +import nl.requios.effortlessbuilding.capability.ModifierCapabilityManager; // You can use EventBusSubscriber to automatically subscribe events on the contained class (this is subscribing to the MOD // Event bus for receiving Registry Events) @@ -26,6 +30,12 @@ public class ModEventHandler { } } + @SubscribeEvent + public static void registerCapabilities(RegisterCapabilitiesEvent event){ + event.register(ModifierCapabilityManager.IModifierCapability.class); + event.register(ModeCapabilityManager.IModeCapability.class); + } + // @SubscribeEvent // public static void registerContainerTypes(RegistryEvent.Register> event) { // event.getRegistry().register() diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/ModeSettingsManager.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/ModeSettingsManager.java index d34b2c1..a173d82 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/ModeSettingsManager.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/ModeSettingsManager.java @@ -4,7 +4,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.server.level.ServerPlayer; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.network.PacketDistributor; +import net.minecraftforge.fmllegacy.network.PacketDistributor; import nl.requios.effortlessbuilding.EffortlessBuilding; import nl.requios.effortlessbuilding.capability.ModeCapabilityManager; import nl.requios.effortlessbuilding.helper.ReachHelper; diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/Mirror.java b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/Mirror.java index 6090a65..6ad5ca4 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/Mirror.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/Mirror.java @@ -1,6 +1,5 @@ package nl.requios.effortlessbuilding.buildmodifier; -import net.minecraft.block.*; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.state.properties.Half; diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/ModifierSettingsManager.java b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/ModifierSettingsManager.java index 65de1f6..af7640a 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/ModifierSettingsManager.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/ModifierSettingsManager.java @@ -4,7 +4,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.server.level.ServerPlayer; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.network.PacketDistributor; +import net.minecraftforge.fmllegacy.network.PacketDistributor; import nl.requios.effortlessbuilding.BuildConfig; import nl.requios.effortlessbuilding.EffortlessBuilding; import nl.requios.effortlessbuilding.capability.ModifierCapabilityManager; diff --git a/src/main/java/nl/requios/effortlessbuilding/capability/ModeCapabilityManager.java b/src/main/java/nl/requios/effortlessbuilding/capability/ModeCapabilityManager.java index a724e2f..86dfdef 100644 --- a/src/main/java/nl/requios/effortlessbuilding/capability/ModeCapabilityManager.java +++ b/src/main/java/nl/requios/effortlessbuilding/capability/ModeCapabilityManager.java @@ -55,9 +55,17 @@ public class ModeCapabilityManager { } } - public static class Storage implements Capability.IStorage { + public static class Provider implements ICapabilitySerializable { + IModeCapability instance = new ModeCapability(); + + @Nonnull @Override - public Tag writeNBT(Capability capability, IModeCapability instance, Direction side) { + public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { + return modeCapability.orEmpty(cap, LazyOptional.of(() -> instance)); + } + + @Override + public Tag serializeNBT() { CompoundTag compound = new CompoundTag(); ModeSettings modeSettings = instance.getModeData(); if (modeSettings == null) modeSettings = new ModeSettings(); @@ -70,7 +78,7 @@ public class ModeCapabilityManager { } @Override - public void readNBT(Capability capability, IModeCapability instance, Direction side, Tag nbt) { + public void deserializeNBT(Tag nbt) { CompoundTag compound = (CompoundTag) nbt; //BuildModes.BuildModeEnum buildMode = BuildModes.BuildModeEnum.values()[compound.getInteger("buildMode")]; @@ -80,26 +88,6 @@ public class ModeCapabilityManager { ModeSettings modeSettings = new ModeSettings(BuildModes.BuildModeEnum.NORMAL); instance.setModeData(modeSettings); } - } - - public static class Provider implements ICapabilitySerializable { - IModeCapability inst = modeCapability.getDefaultInstance(); - - @Nonnull - @Override - public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { - return modeCapability.orEmpty(cap, LazyOptional.of(() -> inst)); - } - - @Override - public Tag serializeNBT() { - return modeCapability.getStorage().writeNBT(modeCapability, inst, null); - } - - @Override - public void deserializeNBT(Tag nbt) { - modeCapability.getStorage().readNBT(modeCapability, inst, null, nbt); - } } } diff --git a/src/main/java/nl/requios/effortlessbuilding/capability/ModifierCapabilityManager.java b/src/main/java/nl/requios/effortlessbuilding/capability/ModifierCapabilityManager.java index 8ab18d0..2412af7 100644 --- a/src/main/java/nl/requios/effortlessbuilding/capability/ModifierCapabilityManager.java +++ b/src/main/java/nl/requios/effortlessbuilding/capability/ModifierCapabilityManager.java @@ -19,8 +19,6 @@ import nl.requios.effortlessbuilding.buildmodifier.RadialMirror; import javax.annotation.Nonnull; import javax.annotation.Nullable; -import static nl.requios.effortlessbuilding.buildmodifier.ModifierSettingsManager.ModifierSettings; - import nl.requios.effortlessbuilding.buildmodifier.ModifierSettingsManager.ModifierSettings; @Mod.EventBusSubscriber @@ -59,9 +57,18 @@ public class ModifierCapabilityManager { } } - public static class Storage implements Capability.IStorage { + public static class Provider implements ICapabilitySerializable { + + IModifierCapability instance = new ModifierCapability(); + + @Nonnull @Override - public Tag writeNBT(Capability capability, IModifierCapability instance, Direction side) { + public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { + return modifierCapability.orEmpty(cap, LazyOptional.of(() -> instance)); + } + + @Override + public Tag serializeNBT() { CompoundTag compound = new CompoundTag(); ModifierSettings modifierSettings = instance.getModifierData(); if (modifierSettings == null) modifierSettings = new ModifierSettings(); @@ -110,15 +117,15 @@ public class ModifierCapabilityManager { } @Override - public void readNBT(Capability capability, IModifierCapability instance, Direction side, Tag nbt) { + public void deserializeNBT(Tag nbt) { CompoundTag compound = (CompoundTag) nbt; //MIRROR boolean mirrorEnabled = compound.getBoolean("mirrorEnabled"); Vec3 mirrorPosition = new Vec3( - compound.getDouble("mirrorPosX"), - compound.getDouble("mirrorPosY"), - compound.getDouble("mirrorPosZ")); + compound.getDouble("mirrorPosX"), + compound.getDouble("mirrorPosY"), + compound.getDouble("mirrorPosZ")); boolean mirrorX = compound.getBoolean("mirrorX"); boolean mirrorY = compound.getBoolean("mirrorY"); boolean mirrorZ = compound.getBoolean("mirrorZ"); @@ -130,9 +137,9 @@ public class ModifierCapabilityManager { //ARRAY boolean arrayEnabled = compound.getBoolean("arrayEnabled"); BlockPos arrayOffset = new BlockPos( - compound.getInt("arrayOffsetX"), - compound.getInt("arrayOffsetY"), - compound.getInt("arrayOffsetZ")); + compound.getInt("arrayOffsetX"), + compound.getInt("arrayOffsetY"), + compound.getInt("arrayOffsetZ")); int arrayCount = compound.getInt("arrayCount"); Array.ArraySettings arraySettings = new Array.ArraySettings(arrayEnabled, arrayOffset, arrayCount); @@ -143,41 +150,20 @@ public class ModifierCapabilityManager { //RADIAL MIRROR boolean radialMirrorEnabled = compound.getBoolean("radialMirrorEnabled"); Vec3 radialMirrorPosition = new Vec3( - compound.getDouble("radialMirrorPosX"), - compound.getDouble("radialMirrorPosY"), - compound.getDouble("radialMirrorPosZ")); + compound.getDouble("radialMirrorPosX"), + compound.getDouble("radialMirrorPosY"), + compound.getDouble("radialMirrorPosZ")); int radialMirrorSlices = compound.getInt("radialMirrorSlices"); boolean radialMirrorAlternate = compound.getBoolean("radialMirrorAlternate"); int radialMirrorRadius = compound.getInt("radialMirrorRadius"); boolean radialMirrorDrawLines = compound.getBoolean("radialMirrorDrawLines"); boolean radialMirrorDrawPlanes = compound.getBoolean("radialMirrorDrawPlanes"); RadialMirror.RadialMirrorSettings radialMirrorSettings = new RadialMirror.RadialMirrorSettings(radialMirrorEnabled, radialMirrorPosition, - radialMirrorSlices, radialMirrorAlternate, radialMirrorRadius, radialMirrorDrawLines, radialMirrorDrawPlanes); + radialMirrorSlices, radialMirrorAlternate, radialMirrorRadius, radialMirrorDrawLines, radialMirrorDrawPlanes); ModifierSettings modifierSettings = new ModifierSettings(mirrorSettings, arraySettings, radialMirrorSettings, false, reachUpgrade); instance.setModifierData(modifierSettings); } - } - - public static class Provider implements ICapabilitySerializable { - - IModifierCapability inst = modifierCapability.getDefaultInstance(); - - @Nonnull - @Override - public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { - return modifierCapability.orEmpty(cap, LazyOptional.of(() -> inst)); - } - - @Override - public Tag serializeNBT() { - return modifierCapability.getStorage().writeNBT(modifierCapability, inst, null); - } - - @Override - public void deserializeNBT(Tag nbt) { - modifierCapability.getStorage().readNBT(modifierCapability, inst, null, nbt); - } } } diff --git a/src/main/java/nl/requios/effortlessbuilding/command/CommandReach.java b/src/main/java/nl/requios/effortlessbuilding/command/CommandReach.java index 8e6fb55..3ea67d7 100644 --- a/src/main/java/nl/requios/effortlessbuilding/command/CommandReach.java +++ b/src/main/java/nl/requios/effortlessbuilding/command/CommandReach.java @@ -6,7 +6,7 @@ import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.Commands; import net.minecraft.server.level.ServerPlayer; import net.minecraft.network.chat.TextComponent; -import net.minecraftforge.fml.network.PacketDistributor; +import net.minecraftforge.fmllegacy.network.PacketDistributor; import nl.requios.effortlessbuilding.EffortlessBuilding; import nl.requios.effortlessbuilding.buildmodifier.ModifierSettingsManager; import nl.requios.effortlessbuilding.network.ModifierSettingsMessage; diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagContainer.java b/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagContainer.java index ce4e944..5b9ec8a 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagContainer.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagContainer.java @@ -124,12 +124,12 @@ public class RandomizerBagContainer extends AbstractContainerMenu { * be able to save properly */ @Override - public ItemStack clicked(int slot, int dragType, ClickType clickTypeIn, Player player) { + public void clicked(int slot, int dragType, ClickType clickTypeIn, Player player) { // this will prevent the player from interacting with the item that opened the inventory: if (slot >= 0 && getSlot(slot) != null && getSlot(slot).getItem().equals(player.getItemInHand(InteractionHand.MAIN_HAND))) { - return ItemStack.EMPTY; + //Do nothing; } - return super.clicked(slot, dragType, clickTypeIn, player); + super.clicked(slot, dragType, clickTypeIn, player); } /** diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagScreen.java b/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagScreen.java index 68b8ea8..0bb9742 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagScreen.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagScreen.java @@ -15,11 +15,14 @@ import javax.annotation.ParametersAreNonnullByDefault; @OnlyIn(Dist.CLIENT) @ParametersAreNonnullByDefault public class RandomizerBagScreen extends AbstractContainerScreen { + private Inventory inventory; + private static final ResourceLocation guiTextures = new ResourceLocation(EffortlessBuilding.MODID, "textures/gui/container/randomizerbag.png"); public RandomizerBagScreen(RandomizerBagContainer randomizerBagContainer, Inventory playerInventory, Component title) { super(randomizerBagContainer, playerInventory, title);//new TranslationTextComponent("effortlessbuilding.screen.randomizer_bag")); + this.inventory = playerInventory; imageHeight = 134; } @@ -38,8 +41,8 @@ public class RandomizerBagScreen extends AbstractContainerScreen { showShaderList = !showShaderList; }); - addButton(shaderTypeButton); + addRenderableOnly(shaderTypeButton); yy += 50; Slider slider = new Slider(right - 200, yy, 200, 20, TextComponent.EMPTY, TextComponent.EMPTY, 0.5, 2.0, 1.0, true, true, (button) -> { }); - addButton(slider); + addRenderableOnly(slider); closeButton = new ExtendedButton(left + 50, bottom - 20, 180, 20, new TextComponent("Done"), (button) -> this.minecraft.player.closeContainer()); - addButton(closeButton); + addRenderableOnly(closeButton); } @Override @@ -205,9 +202,9 @@ public class PlayerSettingsGui extends Screen { // this.minecraft.getTextureManager().bindTexture(AbstractGui.BACKGROUND_LOCATION); RenderSystem.enableBlend(); RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ZERO, GlStateManager.DestFactor.ONE); - RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); + RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); float f = 32.0F; - bufferbuilder.begin(7, DefaultVertexFormat.POSITION_COLOR); + bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR); bufferbuilder.vertex(this.x0, this.y1, 0.0D).color(20, 20, 20, 180).endVertex(); bufferbuilder.vertex(this.x1, this.y1, 0.0D).color(20, 20, 20, 180).endVertex(); bufferbuilder.vertex(this.x1, this.y0, 0.0D).color(20, 20, 20, 180).endVertex(); @@ -225,8 +222,6 @@ public class PlayerSettingsGui extends Screen { // this.renderHoleBackground(this.y1, this.height, 255, 255); RenderSystem.enableBlend(); RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ZERO, GlStateManager.DestFactor.ONE); - RenderSystem.disableAlphaTest(); - RenderSystem.shadeModel(7425); RenderSystem.disableTexture(); // int i1 = 4; // bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR); @@ -252,19 +247,19 @@ public class PlayerSettingsGui extends Screen { l1 = this.y0; } - bufferbuilder.begin(7, DefaultVertexFormat.POSITION_TEX_COLOR); + bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); bufferbuilder.vertex(i, this.y1, 0.0D).uv(0.0F, 1.0F).color(0, 0, 0, 255).endVertex(); bufferbuilder.vertex(j, this.y1, 0.0D).uv(1.0F, 1.0F).color(0, 0, 0, 255).endVertex(); bufferbuilder.vertex(j, this.y0, 0.0D).uv(1.0F, 0.0F).color(0, 0, 0, 255).endVertex(); bufferbuilder.vertex(i, this.y0, 0.0D).uv(0.0F, 0.0F).color(0, 0, 0, 255).endVertex(); tessellator.end(); - bufferbuilder.begin(7, DefaultVertexFormat.POSITION_TEX_COLOR); + bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); bufferbuilder.vertex(i, l1 + k1, 0.0D).uv(0.0F, 1.0F).color(128, 128, 128, 255).endVertex(); bufferbuilder.vertex(j, l1 + k1, 0.0D).uv(1.0F, 1.0F).color(128, 128, 128, 255).endVertex(); bufferbuilder.vertex(j, l1, 0.0D).uv(1.0F, 0.0F).color(128, 128, 128, 255).endVertex(); bufferbuilder.vertex(i, l1, 0.0D).uv(0.0F, 0.0F).color(128, 128, 128, 255).endVertex(); tessellator.end(); - bufferbuilder.begin(7, DefaultVertexFormat.POSITION_TEX_COLOR); + bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); bufferbuilder.vertex(i, l1 + k1 - 1, 0.0D).uv(0.0F, 1.0F).color(192, 192, 192, 255).endVertex(); bufferbuilder.vertex(j - 1, l1 + k1 - 1, 0.0D).uv(1.0F, 1.0F).color(192, 192, 192, 255).endVertex(); bufferbuilder.vertex(j - 1, l1, 0.0D).uv(1.0F, 0.0F).color(192, 192, 192, 255).endVertex(); @@ -274,8 +269,6 @@ public class PlayerSettingsGui extends Screen { // this.renderDecorations(p_render_1_, p_render_2_); RenderSystem.enableTexture(); - RenderSystem.shadeModel(7424); - RenderSystem.enableAlphaTest(); RenderSystem.disableBlend(); } @@ -306,6 +299,11 @@ public class PlayerSettingsGui extends Screen { return false; } } + + @Override + public Component getNarration() { + return null; + } } } } diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/buildmode/RadialMenu.java b/src/main/java/nl/requios/effortlessbuilding/gui/buildmode/RadialMenu.java index 006d147..de1c118 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/buildmode/RadialMenu.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/buildmode/RadialMenu.java @@ -1,16 +1,13 @@ package nl.requios.effortlessbuilding.gui.buildmode; import com.google.common.base.Stopwatch; -import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.*; import com.mojang.blaze3d.systems.RenderSystem; -import mcp.MethodsReturnNonnullByDefault; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.Screen; -import com.mojang.blaze3d.vertex.BufferBuilder; -import com.mojang.blaze3d.vertex.Tesselator; import net.minecraft.client.renderer.texture.TextureAtlas; import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import com.mojang.blaze3d.vertex.DefaultVertexFormat; import net.minecraft.client.resources.language.I18n; import net.minecraft.client.KeyMapping; import net.minecraft.core.Direction; @@ -265,12 +262,12 @@ public class RadialMenu extends Screen { RenderSystem.translatef(0f, 0f, 5f); RenderSystem.enableTexture(); - RenderSystem.color3f(1f, 1f, 1f); + RenderSystem.setShaderColor(1f, 1f, 1f, 1f); RenderSystem.disableBlend(); RenderSystem.enableAlphaTest(); - mc.getTextureManager().bind(TextureAtlas.LOCATION_BLOCKS); + RenderSystem.setShaderTexture(0, TextureAtlas.LOCATION_BLOCKS); - buffer.begin(GL11.GL_QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); + buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); //Draw buildmode icons for (final MenuRegion menuRegion : modes) { diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/ArraySettingsGui.java b/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/ArraySettingsGui.java index 9efd249..d7cab6d 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/ArraySettingsGui.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/ArraySettingsGui.java @@ -1,6 +1,7 @@ package nl.requios.effortlessbuilding.gui.buildmodifier; import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.gui.components.Widget; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.core.BlockPos; @@ -33,8 +34,8 @@ public class ArraySettingsGui extends GuiCollapsibleScrollEntry { } @Override - public void init(List buttons) { - super.init(buttons); + public void init(List renderables) { + super.init(renderables); int y = top; buttonArrayEnabled = new GuiCheckBoxFixed(left - 15 + 8, y, "", false) { @@ -44,26 +45,26 @@ public class ArraySettingsGui extends GuiCollapsibleScrollEntry { setCollapsed(!buttonArrayEnabled.isChecked()); } }; - buttons.add(buttonArrayEnabled); + renderables.add(buttonArrayEnabled); y = top + 20; - textArrayOffsetX = new GuiNumberField(font, buttons, left + 70, y, 50, 18); + textArrayOffsetX = new GuiNumberField(font, renderables, left + 70, y, 50, 18); textArrayOffsetX.setNumber(0); textArrayOffsetX.setTooltip(new TextComponent("How much each copy is shifted.")); arrayNumberFieldList.add(textArrayOffsetX); - textArrayOffsetY = new GuiNumberField(font, buttons, left + 140, y, 50, 18); + textArrayOffsetY = new GuiNumberField(font, renderables, left + 140, y, 50, 18); textArrayOffsetY.setNumber(0); textArrayOffsetY.setTooltip(new TextComponent("How much each copy is shifted.")); arrayNumberFieldList.add(textArrayOffsetY); - textArrayOffsetZ = new GuiNumberField(font, buttons, left + 210, y, 50, 18); + textArrayOffsetZ = new GuiNumberField(font, renderables, left + 210, y, 50, 18); textArrayOffsetZ.setNumber(0); textArrayOffsetZ.setTooltip(new TextComponent("How much each copy is shifted.")); arrayNumberFieldList.add(textArrayOffsetZ); y = top + 50; - textArrayCount = new GuiNumberField(font, buttons, left + 55, y, 50, 18); + textArrayCount = new GuiNumberField(font, renderables, left + 55, y, 50, 18); textArrayCount.setNumber(5); textArrayCount.setTooltip(new TextComponent("How many copies should be made.")); arrayNumberFieldList.add(textArrayCount); diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/MirrorSettingsGui.java b/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/MirrorSettingsGui.java index e0c4117..8d942b5 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/MirrorSettingsGui.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/MirrorSettingsGui.java @@ -1,6 +1,7 @@ package nl.requios.effortlessbuilding.gui.buildmodifier; import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.gui.components.Widget; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.components.Button; @@ -40,8 +41,8 @@ public class MirrorSettingsGui extends GuiCollapsibleScrollEntry { } @Override - public void init(List buttonList) { - super.init(buttonList); + public void init(List renderables) { + super.init(renderables); int y = top - 2; buttonMirrorEnabled = new GuiCheckBoxFixed(left - 15 + 8, y, "", false) { @@ -51,21 +52,21 @@ public class MirrorSettingsGui extends GuiCollapsibleScrollEntry { setCollapsed(!buttonMirrorEnabled.isChecked()); } }; - buttonList.add(buttonMirrorEnabled); + renderables.add(buttonMirrorEnabled); y = top + 18; - textMirrorPosX = new GuiNumberField(font, buttonList, left + 58, y, 62, 18); + textMirrorPosX = new GuiNumberField(font, renderables, left + 58, y, 62, 18); textMirrorPosX.setNumber(0); textMirrorPosX.setTooltip( Arrays.asList(new TextComponent("The position of the mirror."), new TextComponent("For odd numbered builds add 0.5.").withStyle(ChatFormatting.GRAY))); mirrorNumberFieldList.add(textMirrorPosX); - textMirrorPosY = new GuiNumberField(font, buttonList, left + 138, y, 62, 18); + textMirrorPosY = new GuiNumberField(font, renderables, left + 138, y, 62, 18); textMirrorPosY.setNumber(64); textMirrorPosY.setTooltip(Arrays.asList(new TextComponent("The position of the mirror."), new TextComponent("For odd numbered builds add 0.5.").withStyle(ChatFormatting.GRAY))); mirrorNumberFieldList.add(textMirrorPosY); - textMirrorPosZ = new GuiNumberField(font, buttonList, left + 218, y, 62, 18); + textMirrorPosZ = new GuiNumberField(font, renderables, left + 218, y, 62, 18); textMirrorPosZ.setNumber(0); textMirrorPosZ.setTooltip(Arrays.asList(new TextComponent("The position of the mirror."), new TextComponent("For odd numbered builds add 0.5.").withStyle(ChatFormatting.GRAY))); mirrorNumberFieldList.add(textMirrorPosZ); @@ -81,7 +82,7 @@ public class MirrorSettingsGui extends GuiCollapsibleScrollEntry { mirrorButtonList.add(buttonMirrorZ); y = top + 47; - textMirrorRadius = new GuiNumberField(font, buttonList, left + 218, y, 62, 18); + textMirrorRadius = new GuiNumberField(font, renderables, left + 218, y, 62, 18); textMirrorRadius.setNumber(50); //TODO change to diameter (remove /2) textMirrorRadius.setTooltip(Arrays.asList(new TextComponent("How far the mirror reaches in any direction."), @@ -160,8 +161,8 @@ public class MirrorSettingsGui extends GuiCollapsibleScrollEntry { buttonToggleOdd.setUseAlternateIcon(toggleOdd); } - buttonList.addAll(mirrorButtonList); - buttonList.addAll(mirrorIconButtonList); + renderables.addAll(mirrorButtonList); + renderables.addAll(mirrorIconButtonList); setCollapsed(!buttonMirrorEnabled.isChecked()); } diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/ModifierSettingsGui.java b/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/ModifierSettingsGui.java index d06f397..cd2ab72 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/ModifierSettingsGui.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/ModifierSettingsGui.java @@ -2,6 +2,7 @@ package nl.requios.effortlessbuilding.gui.buildmodifier; import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.components.Button; import net.minecraft.network.chat.TextComponent; @@ -18,6 +19,9 @@ import nl.requios.effortlessbuilding.network.ModifierSettingsMessage; import nl.requios.effortlessbuilding.network.PacketHandler; import nl.requios.effortlessbuilding.proxy.ClientProxy; +import java.util.ArrayList; +import java.util.List; + @OnlyIn(Dist.CLIENT) public class ModifierSettingsGui extends Screen { @@ -35,6 +39,7 @@ public class ModifierSettingsGui extends Screen { @Override //Create buttons and labels and add them to buttonList/labelList protected void init() { + scrollPane = new GuiScrollPane(this, font, 8, height - 30); mirrorSettingsGui = new MirrorSettingsGui(scrollPane); @@ -46,14 +51,14 @@ public class ModifierSettingsGui extends Screen { radialMirrorSettingsGui = new RadialMirrorSettingsGui(scrollPane); scrollPane.AddListEntry(radialMirrorSettingsGui); - scrollPane.init(buttons); + scrollPane.init(renderables); //Close button int y = height - 26; buttonClose = new Button(width / 2 - 100, y, 200, 20, new TextComponent("Close"), (button) -> { Minecraft.getInstance().player.closeContainer(); }); - buttons.add(buttonClose); + addRenderableOnly(buttonClose); } @Override @@ -91,7 +96,9 @@ public class ModifierSettingsGui extends Screen { @Override public boolean mouseClicked(double mouseX, double mouseY, int mouseButton) { super.mouseClicked(mouseX, mouseY, mouseButton); - buttons.forEach(button -> button.mouseClicked(mouseX, mouseY, mouseButton)); + renderables.forEach(renderable -> { + if (renderable instanceof Button button) button.mouseClicked(mouseX, mouseY, mouseButton); + }); return scrollPane.mouseClicked(mouseX, mouseY, mouseButton); } diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/RadialMirrorSettingsGui.java b/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/RadialMirrorSettingsGui.java index 46713b2..e7ddee1 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/RadialMirrorSettingsGui.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/RadialMirrorSettingsGui.java @@ -1,6 +1,7 @@ package nl.requios.effortlessbuilding.gui.buildmodifier; import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.gui.components.Widget; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.components.Button; @@ -40,8 +41,8 @@ public class RadialMirrorSettingsGui extends GuiCollapsibleScrollEntry { } @Override - public void init(List buttonList) { - super.init(buttonList); + public void init(List renderables) { + super.init(renderables); int y = top - 2; buttonRadialMirrorEnabled = new GuiCheckBoxFixed(left - 15 + 8, y, "", false) { @@ -51,32 +52,32 @@ public class RadialMirrorSettingsGui extends GuiCollapsibleScrollEntry { setCollapsed(!buttonRadialMirrorEnabled.isChecked()); } }; - buttonList.add(buttonRadialMirrorEnabled); + renderables.add(buttonRadialMirrorEnabled); y = top + 18; - textRadialMirrorPosX = new GuiNumberField(font, buttonList, left + 58, y, 62, 18); + textRadialMirrorPosX = new GuiNumberField(font, renderables, left + 58, y, 62, 18); textRadialMirrorPosX.setNumber(0); textRadialMirrorPosX.setTooltip( Arrays.asList(new TextComponent("The position of the radial mirror."), new TextComponent("For odd numbered builds add 0.5.").withStyle(ChatFormatting.GRAY))); radialMirrorNumberFieldList.add(textRadialMirrorPosX); - textRadialMirrorPosY = new GuiNumberField(font, buttonList, left + 138, y, 62, 18); + textRadialMirrorPosY = new GuiNumberField(font, renderables, left + 138, y, 62, 18); textRadialMirrorPosY.setNumber(64); textRadialMirrorPosY.setTooltip(Arrays.asList(new TextComponent("The position of the radial mirror."), new TextComponent("For odd numbered builds add 0.5.").withStyle(ChatFormatting.GRAY))); radialMirrorNumberFieldList.add(textRadialMirrorPosY); - textRadialMirrorPosZ = new GuiNumberField(font, buttonList, left + 218, y, 62, 18); + textRadialMirrorPosZ = new GuiNumberField(font, renderables, left + 218, y, 62, 18); textRadialMirrorPosZ.setNumber(0); textRadialMirrorPosZ.setTooltip(Arrays.asList(new TextComponent("The position of the radial mirror."), new TextComponent("For odd numbered builds add 0.5.").withStyle(ChatFormatting.GRAY))); radialMirrorNumberFieldList.add(textRadialMirrorPosZ); y = top + 47; - textRadialMirrorSlices = new GuiNumberField(font, buttonList, left + 55, y, 50, 18); + textRadialMirrorSlices = new GuiNumberField(font, renderables, left + 55, y, 50, 18); textRadialMirrorSlices.setNumber(4); textRadialMirrorSlices.setTooltip(Arrays.asList(new TextComponent("The number of repeating slices."), new TextComponent("Minimally 2.").withStyle(ChatFormatting.GRAY))); radialMirrorNumberFieldList.add(textRadialMirrorSlices); - textRadialMirrorRadius = new GuiNumberField(font, buttonList, left + 218, y, 62, 18); + textRadialMirrorRadius = new GuiNumberField(font, renderables, left + 218, y, 62, 18); textRadialMirrorRadius.setNumber(50); //TODO change to diameter (remove /2) textRadialMirrorRadius.setTooltip(Arrays.asList(new TextComponent("How far the radial mirror reaches from its center position."), @@ -158,8 +159,8 @@ public class RadialMirrorSettingsGui extends GuiCollapsibleScrollEntry { buttonToggleOdd.setUseAlternateIcon(toggleOdd); } - buttonList.addAll(radialMirrorButtonList); - buttonList.addAll(radialMirrorIconButtonList); + renderables.addAll(radialMirrorButtonList); + renderables.addAll(radialMirrorIconButtonList); setCollapsed(!buttonRadialMirrorEnabled.isChecked()); } diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiCheckBoxFixed.java b/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiCheckBoxFixed.java index d5609c9..e99e5ac 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiCheckBoxFixed.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiCheckBoxFixed.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.components.Button; import net.minecraft.network.chat.TextComponent; -import net.minecraftforge.fml.client.gui.GuiUtils; +import net.minecraftforge.fmlclient.gui.GuiUtils; import javax.annotation.ParametersAreNonnullByDefault; @@ -30,7 +30,7 @@ public class GuiCheckBoxFixed extends Button { if (this.visible) { Minecraft mc = Minecraft.getInstance(); this.isHovered = mouseX >= this.x && mouseY >= this.y && mouseX < this.x + this.boxWidth && mouseY < this.y + this.height; - GuiUtils.drawContinuousTexturedBox(WIDGETS_LOCATION, this.x, this.y, 0, 46, this.boxWidth, this.height, 200, 20, 2, 3, 2, 2, this.getBlitOffset()); + GuiUtils.drawContinuousTexturedBox(ms, WIDGETS_LOCATION, this.x, this.y, 0, 46, this.boxWidth, this.height, 200, 20, 2, 3, 2, 2, this.getBlitOffset()); this.renderBg(ms, mc, mouseX, mouseY); int color = 14737632; diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiCollapsibleScrollEntry.java b/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiCollapsibleScrollEntry.java index f1be40d..6340471 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiCollapsibleScrollEntry.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiCollapsibleScrollEntry.java @@ -3,6 +3,7 @@ package nl.requios.effortlessbuilding.gui.elements; import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; +import net.minecraft.client.gui.components.Widget; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.components.AbstractWidget; import net.minecraftforge.api.distmarker.Dist; @@ -27,7 +28,7 @@ public abstract class GuiCollapsibleScrollEntry implements GuiScrollPane.IScroll } @Override - public void init(List buttonList) { + public void init(List renderables) { left = scrollPane.getWidth() / 2 - 140; right = scrollPane.getWidth() / 2 + 140; top = scrollPane.getHeight() / 2 - 100; diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiIconButton.java b/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiIconButton.java index a25f774..99986f5 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiIconButton.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiIconButton.java @@ -1,5 +1,6 @@ package nl.requios.effortlessbuilding.gui.elements; +import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.Screen; @@ -56,7 +57,7 @@ public class GuiIconButton extends Button { super.render(ms, mouseX, mouseY, partialTicks); if (this.visible) { this.isHovered = mouseX >= this.x && mouseY >= this.y && mouseX < this.x + this.width && mouseY < this.y + this.height; - Minecraft.getInstance().getTextureManager().bind(this.resourceLocation); + RenderSystem.setShaderTexture(0, this.resourceLocation); int currentIconX = this.iconX; int currentIconY = this.iconY; diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiNumberField.java b/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiNumberField.java index f5bfec1..b1a4194 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiNumberField.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiNumberField.java @@ -1,9 +1,10 @@ package nl.requios.effortlessbuilding.gui.elements; import com.mojang.blaze3d.vertex.PoseStack; -import mcp.MethodsReturnNonnullByDefault; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.client.gui.GuiComponent; import net.minecraft.client.gui.Font; +import net.minecraft.client.gui.components.Widget; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.components.EditBox; import net.minecraft.client.gui.components.AbstractWidget; @@ -34,7 +35,7 @@ public class GuiNumberField extends GuiComponent { List tooltip = new ArrayList<>(); - public GuiNumberField(Font font, List buttonList, int x, int y, int width, int height) { + public GuiNumberField(Font font, List renderables, int x, int y, int width, int height) { this.x = x; this.y = y; this.width = width; @@ -56,8 +57,8 @@ public class GuiNumberField extends GuiComponent { setNumber(getNumber() + valueChanged); }); - buttonList.add(minusButton); - buttonList.add(plusButton); + renderables.add(minusButton); + renderables.add(plusButton); } public double getNumber() { diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiScrollPane.java b/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiScrollPane.java index 9a7c0fa..465360f 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiScrollPane.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/elements/GuiScrollPane.java @@ -1,17 +1,15 @@ package nl.requios.effortlessbuilding.gui.elements; -import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.*; import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.systems.RenderSystem; -import mcp.MethodsReturnNonnullByDefault; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; +import net.minecraft.client.gui.components.Widget; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.components.AbstractWidget; -import com.mojang.blaze3d.vertex.BufferBuilder; -import com.mojang.blaze3d.vertex.Tesselator; -import com.mojang.blaze3d.vertex.DefaultVertexFormat; import net.minecraft.util.Mth; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -102,8 +100,6 @@ public class GuiScrollPane extends SlotGui { RenderSystem.enableBlend(); RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ZERO, GlStateManager.DestFactor.ONE); - RenderSystem.disableAlphaTest(); - RenderSystem.shadeModel(7425); RenderSystem.disableTexture(); //top @@ -132,19 +128,19 @@ public class GuiScrollPane extends SlotGui { l1 = this.y0; } - bufferbuilder.begin(7, DefaultVertexFormat.POSITION_TEX_COLOR); + bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); bufferbuilder.vertex(scrollbarLeft, this.y1, 0.0F).uv(0.0F, 1.0F).color(0, 0, 0, 255).endVertex(); bufferbuilder.vertex(scrollbarRight, this.y1, 0.0F).uv(1.0F, 1.0F).color(0, 0, 0, 255).endVertex(); bufferbuilder.vertex(scrollbarRight, this.y0, 0.0F).uv(1.0F, 0.0F).color(0, 0, 0, 255).endVertex(); bufferbuilder.vertex(scrollbarLeft, this.y0, 0.0F).uv(0.0F, 0.0F).color(0, 0, 0, 255).endVertex(); tessellator.end(); - bufferbuilder.begin(7, DefaultVertexFormat.POSITION_TEX_COLOR); + bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); bufferbuilder.vertex(scrollbarLeft, l1 + k1, 0.0F).uv(0.0F, 1.0F).color(128, 128, 128, 255).endVertex(); bufferbuilder.vertex(scrollbarRight, l1 + k1, 0.0F).uv(1.0F, 1.0F).color(128, 128, 128, 255).endVertex(); bufferbuilder.vertex(scrollbarRight, l1, 0.0F).uv(1.0F, 0.0F).color(128, 128, 128, 255).endVertex(); bufferbuilder.vertex(scrollbarLeft, l1, 0.0F).uv(0.0F, 0.0F).color(128, 128, 128, 255).endVertex(); tessellator.end(); - bufferbuilder.begin(7, DefaultVertexFormat.POSITION_TEX_COLOR); + bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); bufferbuilder.vertex(scrollbarLeft, l1 + k1 - 1, 0.0F).uv(0.0F, 1.0F).color(192, 192, 192, 255).endVertex(); bufferbuilder.vertex(scrollbarRight - 1, l1 + k1 - 1, 0.0F).uv(1.0F, 1.0F).color(192, 192, 192, 255).endVertex(); bufferbuilder.vertex(scrollbarRight - 1, l1, 0.0F).uv(1.0F, 0.0F).color(192, 192, 192, 255).endVertex(); @@ -154,8 +150,6 @@ public class GuiScrollPane extends SlotGui { //this.renderDecorations(mouseXIn, mouseYIn); RenderSystem.enableTexture(); - RenderSystem.shadeModel(7424); - RenderSystem.enableAlphaTest(); RenderSystem.disableBlend(); } } @@ -361,15 +355,15 @@ public class GuiScrollPane extends SlotGui { int j1 = this.x0 + this.width / 2 + this.getRowWidth() / 2; RenderSystem.disableTexture(); float f = this.isFocused() ? 1.0F : 0.5F; - RenderSystem.color4f(f, f, f, 1.0F); - bufferbuilder.begin(7, DefaultVertexFormat.POSITION); + RenderSystem.setShaderColor(f, f, f, 1.0F); + bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); bufferbuilder.vertex(i1, y + entryHeight2 + 2, 0.0D).endVertex(); bufferbuilder.vertex(j1, y + entryHeight2 + 2, 0.0D).endVertex(); bufferbuilder.vertex(j1, y - 2, 0.0D).endVertex(); bufferbuilder.vertex(i1, y - 2, 0.0D).endVertex(); tessellator.end(); - RenderSystem.color4f(0.0F, 0.0F, 0.0F, 1.0F); - bufferbuilder.begin(7, DefaultVertexFormat.POSITION); + RenderSystem.setShaderColor(0.0F, 0.0F, 0.0F, 1.0F); + bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); bufferbuilder.vertex(i1 + 1, y + entryHeight2 + 1, 0.0D).endVertex(); bufferbuilder.vertex(j1 - 1, y + entryHeight2 + 1, 0.0D).endVertex(); bufferbuilder.vertex(j1 - 1, y - 1, 0.0D).endVertex(); @@ -404,9 +398,9 @@ public class GuiScrollPane extends SlotGui { } //PASSTHROUGHS - public void init(List buttonList) { + public void init(List renderables) { for (IScrollEntry entry : this.listEntries) { - entry.init(buttonList); + entry.init(renderables); } } @@ -442,7 +436,7 @@ public class GuiScrollPane extends SlotGui { } public interface IScrollEntry { - void init(List buttonList); + void init(List renderables); void updateScreen(); diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/elements/SlotGui.java b/src/main/java/nl/requios/effortlessbuilding/gui/elements/SlotGui.java index 0e6afd8..a577fe4 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/elements/SlotGui.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/elements/SlotGui.java @@ -1,15 +1,12 @@ package nl.requios.effortlessbuilding.gui.elements; -import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.*; import com.mojang.blaze3d.systems.RenderSystem; -import mcp.MethodsReturnNonnullByDefault; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.components.events.AbstractContainerEventHandler; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.components.Widget; -import com.mojang.blaze3d.vertex.BufferBuilder; -import com.mojang.blaze3d.vertex.Tesselator; -import com.mojang.blaze3d.vertex.DefaultVertexFormat; import net.minecraft.util.Mth; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -231,15 +228,15 @@ public abstract class SlotGui extends AbstractContainerEventHandler implements W int j1 = this.x0 + this.width / 2 + this.getRowWidth() / 2; RenderSystem.disableTexture(); float f = this.isFocused() ? 1.0F : 0.5F; - RenderSystem.color4f(f, f, f, 1.0F); - bufferbuilder.begin(7, DefaultVertexFormat.POSITION); + RenderSystem.setShaderColor(f, f, f, 1.0F); + bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); bufferbuilder.vertex(i1, k + l + 2, 0.0D).endVertex(); bufferbuilder.vertex(j1, k + l + 2, 0.0D).endVertex(); bufferbuilder.vertex(j1, k - 2, 0.0D).endVertex(); bufferbuilder.vertex(i1, k - 2, 0.0D).endVertex(); tessellator.end(); - RenderSystem.color4f(0.0F, 0.0F, 0.0F, 1.0F); - bufferbuilder.begin(7, DefaultVertexFormat.POSITION); + RenderSystem.setShaderColor(0.0F, 0.0F, 0.0F, 1.0F); + bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); bufferbuilder.vertex(i1 + 1, k + l + 1, 0.0D).endVertex(); bufferbuilder.vertex(j1 - 1, k + l + 1, 0.0D).endVertex(); bufferbuilder.vertex(j1 - 1, k - 1, 0.0D).endVertex(); diff --git a/src/main/java/nl/requios/effortlessbuilding/helper/InventoryHelper.java b/src/main/java/nl/requios/effortlessbuilding/helper/InventoryHelper.java index 5b1f34f..7accaf7 100644 --- a/src/main/java/nl/requios/effortlessbuilding/helper/InventoryHelper.java +++ b/src/main/java/nl/requios/effortlessbuilding/helper/InventoryHelper.java @@ -8,7 +8,7 @@ import net.minecraft.world.item.ItemStack; public class InventoryHelper { public static ItemStack findItemStackInInventory(Player player, Block block) { - for (ItemStack invStack : player.inventory.items) { + for (ItemStack invStack : player.getInventory().items) { if (!invStack.isEmpty() && invStack.getItem() instanceof BlockItem && ((BlockItem) invStack.getItem()).getBlock().equals(block)) { return invStack; @@ -19,7 +19,7 @@ public class InventoryHelper { public static int findTotalBlocksInInventory(Player player, Block block) { int total = 0; - for (ItemStack invStack : player.inventory.items) { + for (ItemStack invStack : player.getInventory().items) { if (!invStack.isEmpty() && invStack.getItem() instanceof BlockItem && ((BlockItem) invStack.getItem()).getBlock().equals(block)) { total += invStack.getCount(); diff --git a/src/main/java/nl/requios/effortlessbuilding/helper/SurvivalHelper.java b/src/main/java/nl/requios/effortlessbuilding/helper/SurvivalHelper.java index b562f9a..769cfde 100644 --- a/src/main/java/nl/requios/effortlessbuilding/helper/SurvivalHelper.java +++ b/src/main/java/nl/requios/effortlessbuilding/helper/SurvivalHelper.java @@ -1,7 +1,6 @@ package nl.requios.effortlessbuilding.helper; import net.minecraft.advancements.CriteriaTriggers; -import net.minecraft.block.*; import net.minecraft.world.level.material.Material; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; @@ -41,7 +40,7 @@ public class SurvivalHelper { if (!world.isLoaded(pos)) return false; ItemStack itemstack = origstack; - if (blockState.getBlock().isAir(blockState, world, pos) || itemstack.isEmpty()) { + if (blockState.isAir() || itemstack.isEmpty()) { dropBlock(world, player, pos); world.removeBlock(pos, false); return true; @@ -229,7 +228,7 @@ public class SurvivalHelper { private static boolean canPlayerEdit(Player player, Level world, BlockPos pos, ItemStack stack) { if (!world.mayInteract(player, pos)) return false; - if (player.abilities.mayBuild) { + if (player.getAbilities().mayBuild) { //True in creative and survival mode return true; } else { diff --git a/src/main/java/nl/requios/effortlessbuilding/item/ItemRandomizerBag.java b/src/main/java/nl/requios/effortlessbuilding/item/ItemRandomizerBag.java index 01b94e8..6d2a5a2 100644 --- a/src/main/java/nl/requios/effortlessbuilding/item/ItemRandomizerBag.java +++ b/src/main/java/nl/requios/effortlessbuilding/item/ItemRandomizerBag.java @@ -1,6 +1,6 @@ package nl.requios.effortlessbuilding.item; -import mcp.MethodsReturnNonnullByDefault; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.item.TooltipFlag; @@ -10,7 +10,6 @@ import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.level.material.Fluids; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.MenuProvider; -import net.minecraft.item.*; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.InteractionResult; @@ -25,7 +24,7 @@ import net.minecraft.ChatFormatting; import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.world.level.Level; import net.minecraftforge.common.capabilities.ICapabilityProvider; -import net.minecraftforge.fml.network.NetworkHooks; +import net.minecraftforge.fmllegacy.network.NetworkHooks; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; import nl.requios.effortlessbuilding.EffortlessBuilding; diff --git a/src/main/java/nl/requios/effortlessbuilding/item/ItemReachUpgrade1.java b/src/main/java/nl/requios/effortlessbuilding/item/ItemReachUpgrade1.java index bdd6efa..9043ac7 100644 --- a/src/main/java/nl/requios/effortlessbuilding/item/ItemReachUpgrade1.java +++ b/src/main/java/nl/requios/effortlessbuilding/item/ItemReachUpgrade1.java @@ -1,12 +1,11 @@ package nl.requios.effortlessbuilding.item; -import mcp.MethodsReturnNonnullByDefault; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; -import net.minecraft.util.*; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.TextComponent; import net.minecraft.ChatFormatting; diff --git a/src/main/java/nl/requios/effortlessbuilding/item/ItemReachUpgrade2.java b/src/main/java/nl/requios/effortlessbuilding/item/ItemReachUpgrade2.java index ecca012..c67589c 100644 --- a/src/main/java/nl/requios/effortlessbuilding/item/ItemReachUpgrade2.java +++ b/src/main/java/nl/requios/effortlessbuilding/item/ItemReachUpgrade2.java @@ -1,12 +1,11 @@ package nl.requios.effortlessbuilding.item; -import mcp.MethodsReturnNonnullByDefault; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; -import net.minecraft.util.*; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.TextComponent; import net.minecraft.ChatFormatting; diff --git a/src/main/java/nl/requios/effortlessbuilding/item/ItemReachUpgrade3.java b/src/main/java/nl/requios/effortlessbuilding/item/ItemReachUpgrade3.java index 832f194..4288235 100644 --- a/src/main/java/nl/requios/effortlessbuilding/item/ItemReachUpgrade3.java +++ b/src/main/java/nl/requios/effortlessbuilding/item/ItemReachUpgrade3.java @@ -1,12 +1,11 @@ package nl.requios.effortlessbuilding.item; -import mcp.MethodsReturnNonnullByDefault; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; -import net.minecraft.util.*; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.TextComponent; import net.minecraft.ChatFormatting; diff --git a/src/main/java/nl/requios/effortlessbuilding/network/AddUndoMessage.java b/src/main/java/nl/requios/effortlessbuilding/network/AddUndoMessage.java index dcd511d..3f1cac7 100644 --- a/src/main/java/nl/requios/effortlessbuilding/network/AddUndoMessage.java +++ b/src/main/java/nl/requios/effortlessbuilding/network/AddUndoMessage.java @@ -7,7 +7,7 @@ import net.minecraft.network.FriendlyByteBuf; import net.minecraft.core.BlockPos; import net.minecraft.world.phys.Vec3; import net.minecraftforge.fml.LogicalSide; -import net.minecraftforge.fml.network.NetworkEvent; +import net.minecraftforge.fmllegacy.network.NetworkEvent; import nl.requios.effortlessbuilding.EffortlessBuilding; import nl.requios.effortlessbuilding.buildmodifier.BlockSet; import nl.requios.effortlessbuilding.buildmodifier.UndoRedo; diff --git a/src/main/java/nl/requios/effortlessbuilding/network/BlockBrokenMessage.java b/src/main/java/nl/requios/effortlessbuilding/network/BlockBrokenMessage.java index 5883e7d..0358c94 100644 --- a/src/main/java/nl/requios/effortlessbuilding/network/BlockBrokenMessage.java +++ b/src/main/java/nl/requios/effortlessbuilding/network/BlockBrokenMessage.java @@ -7,7 +7,7 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; import net.minecraftforge.fml.LogicalSide; -import net.minecraftforge.fml.network.NetworkEvent; +import net.minecraftforge.fmllegacy.network.NetworkEvent; import nl.requios.effortlessbuilding.buildmode.BuildModes; import java.util.function.Supplier; diff --git a/src/main/java/nl/requios/effortlessbuilding/network/BlockPlacedMessage.java b/src/main/java/nl/requios/effortlessbuilding/network/BlockPlacedMessage.java index 77fbdcb..8cb06bf 100644 --- a/src/main/java/nl/requios/effortlessbuilding/network/BlockPlacedMessage.java +++ b/src/main/java/nl/requios/effortlessbuilding/network/BlockPlacedMessage.java @@ -7,7 +7,7 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; import net.minecraftforge.fml.LogicalSide; -import net.minecraftforge.fml.network.NetworkEvent; +import net.minecraftforge.fmllegacy.network.NetworkEvent; import nl.requios.effortlessbuilding.buildmode.BuildModes; import nl.requios.effortlessbuilding.render.BlockPreviewRenderer; diff --git a/src/main/java/nl/requios/effortlessbuilding/network/CancelModeMessage.java b/src/main/java/nl/requios/effortlessbuilding/network/CancelModeMessage.java index 0b7a4cc..549b50d 100644 --- a/src/main/java/nl/requios/effortlessbuilding/network/CancelModeMessage.java +++ b/src/main/java/nl/requios/effortlessbuilding/network/CancelModeMessage.java @@ -2,7 +2,7 @@ package nl.requios.effortlessbuilding.network; import net.minecraft.world.entity.player.Player; import net.minecraft.network.FriendlyByteBuf; -import net.minecraftforge.fml.network.NetworkEvent; +import net.minecraftforge.fmllegacy.network.NetworkEvent; import nl.requios.effortlessbuilding.EffortlessBuilding; import nl.requios.effortlessbuilding.buildmode.BuildModes; diff --git a/src/main/java/nl/requios/effortlessbuilding/network/ClearUndoMessage.java b/src/main/java/nl/requios/effortlessbuilding/network/ClearUndoMessage.java index 16cee48..abb8c29 100644 --- a/src/main/java/nl/requios/effortlessbuilding/network/ClearUndoMessage.java +++ b/src/main/java/nl/requios/effortlessbuilding/network/ClearUndoMessage.java @@ -3,7 +3,7 @@ package nl.requios.effortlessbuilding.network; import net.minecraft.world.entity.player.Player; import net.minecraft.network.FriendlyByteBuf; import net.minecraftforge.fml.LogicalSide; -import net.minecraftforge.fml.network.NetworkEvent; +import net.minecraftforge.fmllegacy.network.NetworkEvent; import nl.requios.effortlessbuilding.EffortlessBuilding; import nl.requios.effortlessbuilding.buildmodifier.UndoRedo; diff --git a/src/main/java/nl/requios/effortlessbuilding/network/ModeActionMessage.java b/src/main/java/nl/requios/effortlessbuilding/network/ModeActionMessage.java index c972331..eafa44f 100644 --- a/src/main/java/nl/requios/effortlessbuilding/network/ModeActionMessage.java +++ b/src/main/java/nl/requios/effortlessbuilding/network/ModeActionMessage.java @@ -2,7 +2,7 @@ package nl.requios.effortlessbuilding.network; import net.minecraft.world.entity.player.Player; import net.minecraft.network.FriendlyByteBuf; -import net.minecraftforge.fml.network.NetworkEvent; +import net.minecraftforge.fmllegacy.network.NetworkEvent; import nl.requios.effortlessbuilding.EffortlessBuilding; import nl.requios.effortlessbuilding.buildmode.ModeOptions; diff --git a/src/main/java/nl/requios/effortlessbuilding/network/ModeSettingsMessage.java b/src/main/java/nl/requios/effortlessbuilding/network/ModeSettingsMessage.java index 18e29c2..5112f21 100644 --- a/src/main/java/nl/requios/effortlessbuilding/network/ModeSettingsMessage.java +++ b/src/main/java/nl/requios/effortlessbuilding/network/ModeSettingsMessage.java @@ -2,7 +2,7 @@ package nl.requios.effortlessbuilding.network; import net.minecraft.world.entity.player.Player; import net.minecraft.network.FriendlyByteBuf; -import net.minecraftforge.fml.network.NetworkEvent; +import net.minecraftforge.fmllegacy.network.NetworkEvent; import nl.requios.effortlessbuilding.EffortlessBuilding; import nl.requios.effortlessbuilding.buildmode.BuildModes; import nl.requios.effortlessbuilding.buildmode.ModeSettingsManager; diff --git a/src/main/java/nl/requios/effortlessbuilding/network/ModifierSettingsMessage.java b/src/main/java/nl/requios/effortlessbuilding/network/ModifierSettingsMessage.java index abf5451..160a826 100644 --- a/src/main/java/nl/requios/effortlessbuilding/network/ModifierSettingsMessage.java +++ b/src/main/java/nl/requios/effortlessbuilding/network/ModifierSettingsMessage.java @@ -4,7 +4,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.core.BlockPos; import net.minecraft.world.phys.Vec3; -import net.minecraftforge.fml.network.NetworkEvent; +import net.minecraftforge.fmllegacy.network.NetworkEvent; import nl.requios.effortlessbuilding.EffortlessBuilding; import nl.requios.effortlessbuilding.buildmodifier.Array; import nl.requios.effortlessbuilding.buildmodifier.Mirror; diff --git a/src/main/java/nl/requios/effortlessbuilding/network/PacketHandler.java b/src/main/java/nl/requios/effortlessbuilding/network/PacketHandler.java index 96f6cb3..4d05918 100644 --- a/src/main/java/nl/requios/effortlessbuilding/network/PacketHandler.java +++ b/src/main/java/nl/requios/effortlessbuilding/network/PacketHandler.java @@ -1,8 +1,8 @@ package nl.requios.effortlessbuilding.network; import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.fml.network.NetworkRegistry; -import net.minecraftforge.fml.network.simple.SimpleChannel; +import net.minecraftforge.fmllegacy.network.NetworkRegistry; +import net.minecraftforge.fmllegacy.network.simple.SimpleChannel; import nl.requios.effortlessbuilding.EffortlessBuilding; public class PacketHandler { diff --git a/src/main/java/nl/requios/effortlessbuilding/network/RequestLookAtMessage.java b/src/main/java/nl/requios/effortlessbuilding/network/RequestLookAtMessage.java index 4ef069f..abd035a 100644 --- a/src/main/java/nl/requios/effortlessbuilding/network/RequestLookAtMessage.java +++ b/src/main/java/nl/requios/effortlessbuilding/network/RequestLookAtMessage.java @@ -5,7 +5,7 @@ import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.HitResult; import net.minecraftforge.fml.LogicalSide; -import net.minecraftforge.fml.network.NetworkEvent; +import net.minecraftforge.fmllegacy.network.NetworkEvent; import nl.requios.effortlessbuilding.EffortlessBuilding; import nl.requios.effortlessbuilding.proxy.ClientProxy; diff --git a/src/main/java/nl/requios/effortlessbuilding/network/TranslatedLogMessage.java b/src/main/java/nl/requios/effortlessbuilding/network/TranslatedLogMessage.java index 3742199..3a03098 100644 --- a/src/main/java/nl/requios/effortlessbuilding/network/TranslatedLogMessage.java +++ b/src/main/java/nl/requios/effortlessbuilding/network/TranslatedLogMessage.java @@ -3,7 +3,7 @@ package nl.requios.effortlessbuilding.network; import net.minecraft.world.entity.player.Player; import net.minecraft.network.FriendlyByteBuf; import net.minecraftforge.fml.LogicalSide; -import net.minecraftforge.fml.network.NetworkEvent; +import net.minecraftforge.fmllegacy.network.NetworkEvent; import nl.requios.effortlessbuilding.EffortlessBuilding; import java.util.function.Supplier; diff --git a/src/main/java/nl/requios/effortlessbuilding/proxy/ClientProxy.java b/src/main/java/nl/requios/effortlessbuilding/proxy/ClientProxy.java index c7d3add..98bfa7d 100644 --- a/src/main/java/nl/requios/effortlessbuilding/proxy/ClientProxy.java +++ b/src/main/java/nl/requios/effortlessbuilding/proxy/ClientProxy.java @@ -1,6 +1,6 @@ package nl.requios.effortlessbuilding.proxy; -import mcp.MethodsReturnNonnullByDefault; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.SoundType; import net.minecraft.client.Minecraft; @@ -31,11 +31,13 @@ import net.minecraftforge.event.TickEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.DeferredWorkQueue; import net.minecraftforge.fml.LogicalSide; -import net.minecraftforge.fml.client.registry.ClientRegistry; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; -import net.minecraftforge.fml.network.NetworkEvent; +import net.minecraftforge.fmlclient.registry.ClientRegistry; +import net.minecraftforge.fmllegacy.network.NetworkEvent; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; import nl.requios.effortlessbuilding.EffortlessBuilding; import nl.requios.effortlessbuilding.buildmode.BuildModes; import nl.requios.effortlessbuilding.buildmode.ModeOptions; @@ -372,7 +374,8 @@ public class ClientProxy implements IProxy { ClientRegistry.registerKeyBinding(keyBinding); } - DeferredWorkQueue.runLater(() -> MenuScreens.register(EffortlessBuilding.RANDOMIZER_BAG_CONTAINER.get(), RandomizerBagScreen::new)); + //TODO 1.17 +// DeferredWorkQueue.runLater(() -> MenuScreens.register(EffortlessBuilding.RANDOMIZER_BAG_CONTAINER.get(), RandomizerBagScreen::new)); } public Player getPlayerEntityFromContext(Supplier ctx) { diff --git a/src/main/java/nl/requios/effortlessbuilding/proxy/IProxy.java b/src/main/java/nl/requios/effortlessbuilding/proxy/IProxy.java index 462da00..c2ff8cc 100644 --- a/src/main/java/nl/requios/effortlessbuilding/proxy/IProxy.java +++ b/src/main/java/nl/requios/effortlessbuilding/proxy/IProxy.java @@ -3,7 +3,7 @@ package nl.requios.effortlessbuilding.proxy; import net.minecraft.world.entity.player.Player; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; -import net.minecraftforge.fml.network.NetworkEvent; +import net.minecraftforge.fmllegacy.network.NetworkEvent; import java.util.function.Supplier; diff --git a/src/main/java/nl/requios/effortlessbuilding/proxy/ServerProxy.java b/src/main/java/nl/requios/effortlessbuilding/proxy/ServerProxy.java index 8a22bc6..e25caf1 100644 --- a/src/main/java/nl/requios/effortlessbuilding/proxy/ServerProxy.java +++ b/src/main/java/nl/requios/effortlessbuilding/proxy/ServerProxy.java @@ -4,8 +4,8 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.server.level.ServerPlayer; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; -import net.minecraftforge.fml.network.NetworkEvent; -import net.minecraftforge.fml.network.PacketDistributor; +import net.minecraftforge.fmllegacy.network.NetworkEvent; +import net.minecraftforge.fmllegacy.network.PacketDistributor; import nl.requios.effortlessbuilding.network.PacketHandler; import nl.requios.effortlessbuilding.network.TranslatedLogMessage; diff --git a/src/main/java/nl/requios/effortlessbuilding/render/BlockPreviewRenderer.java b/src/main/java/nl/requios/effortlessbuilding/render/BlockPreviewRenderer.java index 7cd5309..76543bc 100644 --- a/src/main/java/nl/requios/effortlessbuilding/render/BlockPreviewRenderer.java +++ b/src/main/java/nl/requios/effortlessbuilding/render/BlockPreviewRenderer.java @@ -251,7 +251,7 @@ public class BlockPreviewRenderer { BlockPos coordinate = breakCoordinates.get(i); BlockState blockState = player.level.getBlockState(coordinate); - if (!blockState.getBlock().isAir(blockState, player.level, coordinate)) { + if (!blockState.isAir()) { if (SurvivalHelper.canBreak(player.level, player, coordinate) || i == 0) { VoxelShape collisionShape = blockState.getCollisionShape(player.level, coordinate); RenderHandler.renderBlockOutline(matrixStack, buffer, coordinate, collisionShape, new Vec3(0f, 0f, 0f)); diff --git a/src/main/java/nl/requios/effortlessbuilding/render/BuildRenderTypes.java b/src/main/java/nl/requios/effortlessbuilding/render/BuildRenderTypes.java index 30f29f0..b0da051 100644 --- a/src/main/java/nl/requios/effortlessbuilding/render/BuildRenderTypes.java +++ b/src/main/java/nl/requios/effortlessbuilding/render/BuildRenderTypes.java @@ -1,6 +1,7 @@ package nl.requios.effortlessbuilding.render; import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.vertex.VertexFormat; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderStateShard; import net.minecraft.client.renderer.RenderType; @@ -8,7 +9,7 @@ import net.minecraft.client.renderer.texture.TextureAtlas; import com.mojang.blaze3d.vertex.DefaultVertexFormat; import net.minecraft.core.BlockPos; import net.minecraft.world.phys.Vec3; -import net.minecraftforge.fml.common.ObfuscationReflectionHelper; +import net.minecraftforge.fml.util.ObfuscationReflectionHelper; import org.lwjgl.opengl.*; import java.util.OptionalDouble; @@ -18,14 +19,16 @@ public class BuildRenderTypes { public static final RenderStateShard.TransparencyStateShard TRANSLUCENT_TRANSPARENCY; public static final RenderStateShard.TransparencyStateShard NO_TRANSPARENCY; - public static final RenderStateShard.DiffuseLightingStateShard DIFFUSE_LIGHTING_ENABLED; - public static final RenderStateShard.DiffuseLightingStateShard DIFFUSE_LIGHTING_DISABLED; + //TODO 1.17 +// public static final RenderStateShard.DiffuseLightingStateShard DIFFUSE_LIGHTING_ENABLED; +// public static final RenderStateShard.DiffuseLightingStateShard DIFFUSE_LIGHTING_DISABLED; public static final RenderStateShard.LayeringStateShard PROJECTION_LAYERING; public static final RenderStateShard.CullStateShard CULL_DISABLED; - public static final RenderStateShard.AlphaStateShard DEFAULT_ALPHA; + //TODO 1.17 +// public static final RenderStateShard.AlphaStateShard DEFAULT_ALPHA; public static final RenderStateShard.WriteMaskStateShard WRITE_TO_DEPTH_AND_COLOR; public static final RenderStateShard.WriteMaskStateShard COLOR_WRITE; @@ -40,14 +43,12 @@ public class BuildRenderTypes { TRANSLUCENT_TRANSPARENCY = ObfuscationReflectionHelper.getPrivateValue(RenderStateShard.class, null, "TRANSLUCENT_TRANSPARENCY"); NO_TRANSPARENCY = ObfuscationReflectionHelper.getPrivateValue(RenderStateShard.class, null, "NO_TRANSPARENCY"); - DIFFUSE_LIGHTING_ENABLED = new RenderStateShard.DiffuseLightingStateShard(true); - DIFFUSE_LIGHTING_DISABLED = new RenderStateShard.DiffuseLightingStateShard(false); - PROJECTION_LAYERING = ObfuscationReflectionHelper.getPrivateValue(RenderStateShard.class, null, "VIEW_OFFSET_Z_LAYERING"); CULL_DISABLED = new RenderStateShard.CullStateShard(false); - DEFAULT_ALPHA = new RenderStateShard.AlphaStateShard(0.003921569F); + //TODO 1.17 +// DEFAULT_ALPHA = new RenderStateShard.AlphaStateShard(0.003921569F); final boolean ENABLE_DEPTH_WRITING = true; final boolean ENABLE_COLOUR_COMPONENTS_WRITING = true; @@ -76,7 +77,7 @@ public class BuildRenderTypes { .setCullState(CULL_DISABLED) .createCompositeState(false); LINES = RenderType.create("eb_lines", - DefaultVertexFormat.POSITION_COLOR, GL11.GL_LINES, INITIAL_BUFFER_SIZE, renderState); + DefaultVertexFormat.POSITION_COLOR, VertexFormat.Mode.LINES, INITIAL_BUFFER_SIZE, false, false, renderState); renderState = RenderType.CompositeState.builder() .setLineState(new RenderStateShard.LineStateShard(OptionalDouble.of(2))) @@ -86,7 +87,7 @@ public class BuildRenderTypes { .setCullState(CULL_DISABLED) .createCompositeState(false); PLANES = RenderType.create("eb_planes", - DefaultVertexFormat.POSITION_COLOR, GL11.GL_TRIANGLE_STRIP, INITIAL_BUFFER_SIZE, renderState); + DefaultVertexFormat.POSITION_COLOR, VertexFormat.Mode.TRIANGLE_STRIP, INITIAL_BUFFER_SIZE, false, false, renderState); } @@ -112,15 +113,17 @@ public class BuildRenderTypes { // RenderSystem.pushTextureAttributes(); ShaderHandler.useShader(ShaderHandler.dissolve, generateShaderCallback(dissolve, Vec3.atLowerCornerOf(blockPos), Vec3.atLowerCornerOf(firstPos), Vec3.atLowerCornerOf(secondPos), blockPos == secondPos, red)); - RenderSystem.blendColor(1f, 1f, 1f, 0.8f); + //TODO 1.17 +// RenderSystem.blendColor(1f, 1f, 1f, 0.8f); }, ShaderHandler::releaseShader); RenderType.CompositeState renderState = RenderType.CompositeState.builder() .setTextureState(new RenderStateShard.TextureStateShard(ShaderHandler.shaderMaskTextureLocation, false, false)) .setTexturingState(MY_TEXTURING) .setTransparencyState(TRANSLUCENT_TRANSPARENCY) - .setDiffuseLightingState(DIFFUSE_LIGHTING_DISABLED) - .setAlphaState(DEFAULT_ALPHA) + //TODO 1.17 +// .setDiffuseLightingState(DIFFUSE_LIGHTING_DISABLED) +// .setAlphaState(DEFAULT_ALPHA) .setCullState(new RenderStateShard.CullStateShard(true)) .setLightmapState(new RenderStateShard.LightmapStateShard(false)) .setOverlayState(new RenderStateShard.OverlayStateShard(false)) @@ -128,7 +131,7 @@ public class BuildRenderTypes { //Unique name for every combination, otherwise it will reuse the previous one String name = "eb_block_previews_" + dissolve + "_" + blockPos + "_" + firstPos + "_" + secondPos + "_" + red; return RenderType.create(name, - DefaultVertexFormat.BLOCK, GL11.GL_QUADS, 256, true, true, renderState); + DefaultVertexFormat.BLOCK, VertexFormat.Mode.QUADS, 256, true, true, renderState); } private static Consumer generateShaderCallback(final float dissolve, final Vec3 blockpos, @@ -151,13 +154,15 @@ public class BuildRenderTypes { //mask ARBShaderObjects.glUniform1iARB(maskUniform, secondaryTextureUnit); glActiveTexture(ARBMultitexture.GL_TEXTURE0_ARB + secondaryTextureUnit); - mc.getTextureManager().bind(ShaderHandler.shaderMaskTextureLocation);//getTexture(ShaderHandler.shaderMaskTextureLocation).bindTexture(); + RenderSystem.setShaderTexture(0, ShaderHandler.shaderMaskTextureLocation); + //mc.getTextureManager().bindForSetup(ShaderHandler.shaderMaskTextureLocation);//getTexture(ShaderHandler.shaderMaskTextureLocation).bindTexture(); //GL11.glBindTexture(GL11.GL_TEXTURE_2D, mc.getTextureManager().getTexture(ShaderHandler.shaderMaskTextureLocation).getGlTextureId()); //image ARBShaderObjects.glUniform1iARB(imageUniform, primaryTextureUnit); glActiveTexture(ARBMultitexture.GL_TEXTURE0_ARB + primaryTextureUnit); - mc.getTextureManager().bind(TextureAtlas.LOCATION_BLOCKS);//.getTexture(AtlasTexture.LOCATION_BLOCKS_TEXTURE).bindTexture(); + RenderSystem.setShaderTexture(0, TextureAtlas.LOCATION_BLOCKS); + //mc.getTextureManager().bindForSetup(TextureAtlas.LOCATION_BLOCKS);//.getTexture(AtlasTexture.LOCATION_BLOCKS_TEXTURE).bindTexture(); //GL11.glBindTexture(GL11.GL_TEXTURE_2D, mc.getTextureManager().getTexture(AtlasTexture.LOCATION_BLOCKS_TEXTURE).getGlTextureId()); //blockpos