Fixed 200+ compiler errors. 23 left.
This commit is contained in:
@@ -6,23 +6,22 @@ import net.minecraft.world.inventory.AbstractContainerMenu;
|
|||||||
import net.minecraft.world.inventory.MenuType;
|
import net.minecraft.world.inventory.MenuType;
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraft.util.registry.Registry;
|
|
||||||
import net.minecraft.network.chat.TextComponent;
|
import net.minecraft.network.chat.TextComponent;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.common.capabilities.CapabilityManager;
|
import net.minecraftforge.common.capabilities.CapabilityManager;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.DistExecutor;
|
import net.minecraftforge.fml.DistExecutor;
|
||||||
import net.minecraftforge.fml.ModLoadingContext;
|
import net.minecraftforge.fml.ModLoadingContext;
|
||||||
import net.minecraftforge.fml.RegistryObject;
|
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
import net.minecraftforge.fml.config.ModConfig;
|
import net.minecraftforge.fml.config.ModConfig;
|
||||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||||
import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
|
import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
|
||||||
import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent;
|
import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent;
|
||||||
import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
|
|
||||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
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.DeferredRegister;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
import nl.requios.effortlessbuilding.capability.ModeCapabilityManager;
|
import nl.requios.effortlessbuilding.capability.ModeCapabilityManager;
|
||||||
@@ -110,9 +109,6 @@ public class EffortlessBuilding {
|
|||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void setup(final FMLCommonSetupEvent event) {
|
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();
|
PacketHandler.register();
|
||||||
|
|
||||||
//TODO 1.13 config
|
//TODO 1.13 config
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import net.minecraftforge.event.entity.player.PlayerEvent;
|
|||||||
import net.minecraftforge.event.world.BlockEvent;
|
import net.minecraftforge.event.world.BlockEvent;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
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.BuildModes;
|
||||||
import nl.requios.effortlessbuilding.buildmode.ModeSettingsManager;
|
import nl.requios.effortlessbuilding.buildmode.ModeSettingsManager;
|
||||||
import nl.requios.effortlessbuilding.buildmodifier.BuildModifiers;
|
import nl.requios.effortlessbuilding.buildmodifier.BuildModifiers;
|
||||||
@@ -31,7 +31,7 @@ import nl.requios.effortlessbuilding.network.RequestLookAtMessage;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Mod.EventBusSubscriber
|
@Mod.EventBusSubscriber(modid = EffortlessBuilding.MODID)
|
||||||
public class EventHandler {
|
public class EventHandler {
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
|
|||||||
@@ -3,9 +3,13 @@ package nl.requios.effortlessbuilding;
|
|||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.item.BlockItem;
|
import net.minecraft.world.item.BlockItem;
|
||||||
import net.minecraft.world.item.Item;
|
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.event.RegistryEvent;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
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
|
// You can use EventBusSubscriber to automatically subscribe events on the contained class (this is subscribing to the MOD
|
||||||
// Event bus for receiving Registry Events)
|
// 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
|
// @SubscribeEvent
|
||||||
// public static void registerContainerTypes(RegistryEvent.Register<ContainerType<?>> event) {
|
// public static void registerContainerTypes(RegistryEvent.Register<ContainerType<?>> event) {
|
||||||
// event.getRegistry().register()
|
// event.getRegistry().register()
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import net.minecraft.world.entity.player.Player;
|
|||||||
import net.minecraft.server.level.ServerPlayer;
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
import net.minecraftforge.common.util.LazyOptional;
|
import net.minecraftforge.common.util.LazyOptional;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
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.EffortlessBuilding;
|
||||||
import nl.requios.effortlessbuilding.capability.ModeCapabilityManager;
|
import nl.requios.effortlessbuilding.capability.ModeCapabilityManager;
|
||||||
import nl.requios.effortlessbuilding.helper.ReachHelper;
|
import nl.requios.effortlessbuilding.helper.ReachHelper;
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package nl.requios.effortlessbuilding.buildmodifier;
|
package nl.requios.effortlessbuilding.buildmodifier;
|
||||||
|
|
||||||
import net.minecraft.block.*;
|
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraft.world.level.block.state.properties.Half;
|
import net.minecraft.world.level.block.state.properties.Half;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import net.minecraft.world.entity.player.Player;
|
|||||||
import net.minecraft.server.level.ServerPlayer;
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
import net.minecraftforge.common.util.LazyOptional;
|
import net.minecraftforge.common.util.LazyOptional;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
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.BuildConfig;
|
||||||
import nl.requios.effortlessbuilding.EffortlessBuilding;
|
import nl.requios.effortlessbuilding.EffortlessBuilding;
|
||||||
import nl.requios.effortlessbuilding.capability.ModifierCapabilityManager;
|
import nl.requios.effortlessbuilding.capability.ModifierCapabilityManager;
|
||||||
|
|||||||
@@ -55,9 +55,17 @@ public class ModeCapabilityManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Storage implements Capability.IStorage<IModeCapability> {
|
public static class Provider implements ICapabilitySerializable<Tag> {
|
||||||
|
IModeCapability instance = new ModeCapability();
|
||||||
|
|
||||||
|
@Nonnull
|
||||||
@Override
|
@Override
|
||||||
public Tag writeNBT(Capability<IModeCapability> capability, IModeCapability instance, Direction side) {
|
public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap, @Nullable Direction side) {
|
||||||
|
return modeCapability.orEmpty(cap, LazyOptional.of(() -> instance));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Tag serializeNBT() {
|
||||||
CompoundTag compound = new CompoundTag();
|
CompoundTag compound = new CompoundTag();
|
||||||
ModeSettings modeSettings = instance.getModeData();
|
ModeSettings modeSettings = instance.getModeData();
|
||||||
if (modeSettings == null) modeSettings = new ModeSettings();
|
if (modeSettings == null) modeSettings = new ModeSettings();
|
||||||
@@ -70,7 +78,7 @@ public class ModeCapabilityManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readNBT(Capability<IModeCapability> capability, IModeCapability instance, Direction side, Tag nbt) {
|
public void deserializeNBT(Tag nbt) {
|
||||||
CompoundTag compound = (CompoundTag) nbt;
|
CompoundTag compound = (CompoundTag) nbt;
|
||||||
|
|
||||||
//BuildModes.BuildModeEnum buildMode = BuildModes.BuildModeEnum.values()[compound.getInteger("buildMode")];
|
//BuildModes.BuildModeEnum buildMode = BuildModes.BuildModeEnum.values()[compound.getInteger("buildMode")];
|
||||||
@@ -80,26 +88,6 @@ public class ModeCapabilityManager {
|
|||||||
ModeSettings modeSettings = new ModeSettings(BuildModes.BuildModeEnum.NORMAL);
|
ModeSettings modeSettings = new ModeSettings(BuildModes.BuildModeEnum.NORMAL);
|
||||||
instance.setModeData(modeSettings);
|
instance.setModeData(modeSettings);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public static class Provider implements ICapabilitySerializable<Tag> {
|
|
||||||
IModeCapability inst = modeCapability.getDefaultInstance();
|
|
||||||
|
|
||||||
@Nonnull
|
|
||||||
@Override
|
|
||||||
public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> 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);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,8 +19,6 @@ import nl.requios.effortlessbuilding.buildmodifier.RadialMirror;
|
|||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import static nl.requios.effortlessbuilding.buildmodifier.ModifierSettingsManager.ModifierSettings;
|
|
||||||
|
|
||||||
import nl.requios.effortlessbuilding.buildmodifier.ModifierSettingsManager.ModifierSettings;
|
import nl.requios.effortlessbuilding.buildmodifier.ModifierSettingsManager.ModifierSettings;
|
||||||
|
|
||||||
@Mod.EventBusSubscriber
|
@Mod.EventBusSubscriber
|
||||||
@@ -59,9 +57,18 @@ public class ModifierCapabilityManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Storage implements Capability.IStorage<IModifierCapability> {
|
public static class Provider implements ICapabilitySerializable<Tag> {
|
||||||
|
|
||||||
|
IModifierCapability instance = new ModifierCapability();
|
||||||
|
|
||||||
|
@Nonnull
|
||||||
@Override
|
@Override
|
||||||
public Tag writeNBT(Capability<IModifierCapability> capability, IModifierCapability instance, Direction side) {
|
public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap, @Nullable Direction side) {
|
||||||
|
return modifierCapability.orEmpty(cap, LazyOptional.of(() -> instance));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Tag serializeNBT() {
|
||||||
CompoundTag compound = new CompoundTag();
|
CompoundTag compound = new CompoundTag();
|
||||||
ModifierSettings modifierSettings = instance.getModifierData();
|
ModifierSettings modifierSettings = instance.getModifierData();
|
||||||
if (modifierSettings == null) modifierSettings = new ModifierSettings();
|
if (modifierSettings == null) modifierSettings = new ModifierSettings();
|
||||||
@@ -110,7 +117,7 @@ public class ModifierCapabilityManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readNBT(Capability<IModifierCapability> capability, IModifierCapability instance, Direction side, Tag nbt) {
|
public void deserializeNBT(Tag nbt) {
|
||||||
CompoundTag compound = (CompoundTag) nbt;
|
CompoundTag compound = (CompoundTag) nbt;
|
||||||
|
|
||||||
//MIRROR
|
//MIRROR
|
||||||
@@ -157,27 +164,6 @@ public class ModifierCapabilityManager {
|
|||||||
ModifierSettings modifierSettings = new ModifierSettings(mirrorSettings, arraySettings, radialMirrorSettings, false, reachUpgrade);
|
ModifierSettings modifierSettings = new ModifierSettings(mirrorSettings, arraySettings, radialMirrorSettings, false, reachUpgrade);
|
||||||
instance.setModifierData(modifierSettings);
|
instance.setModifierData(modifierSettings);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public static class Provider implements ICapabilitySerializable<Tag> {
|
|
||||||
|
|
||||||
IModifierCapability inst = modifierCapability.getDefaultInstance();
|
|
||||||
|
|
||||||
@Nonnull
|
|
||||||
@Override
|
|
||||||
public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> 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);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import net.minecraft.commands.CommandSourceStack;
|
|||||||
import net.minecraft.commands.Commands;
|
import net.minecraft.commands.Commands;
|
||||||
import net.minecraft.server.level.ServerPlayer;
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
import net.minecraft.network.chat.TextComponent;
|
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.EffortlessBuilding;
|
||||||
import nl.requios.effortlessbuilding.buildmodifier.ModifierSettingsManager;
|
import nl.requios.effortlessbuilding.buildmodifier.ModifierSettingsManager;
|
||||||
import nl.requios.effortlessbuilding.network.ModifierSettingsMessage;
|
import nl.requios.effortlessbuilding.network.ModifierSettingsMessage;
|
||||||
|
|||||||
@@ -124,12 +124,12 @@ public class RandomizerBagContainer extends AbstractContainerMenu {
|
|||||||
* be able to save properly
|
* be able to save properly
|
||||||
*/
|
*/
|
||||||
@Override
|
@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:
|
// 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))) {
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -15,11 +15,14 @@ import javax.annotation.ParametersAreNonnullByDefault;
|
|||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
@ParametersAreNonnullByDefault
|
@ParametersAreNonnullByDefault
|
||||||
public class RandomizerBagScreen extends AbstractContainerScreen<RandomizerBagContainer> {
|
public class RandomizerBagScreen extends AbstractContainerScreen<RandomizerBagContainer> {
|
||||||
|
private Inventory inventory;
|
||||||
|
|
||||||
private static final ResourceLocation guiTextures =
|
private static final ResourceLocation guiTextures =
|
||||||
new ResourceLocation(EffortlessBuilding.MODID, "textures/gui/container/randomizerbag.png");
|
new ResourceLocation(EffortlessBuilding.MODID, "textures/gui/container/randomizerbag.png");
|
||||||
|
|
||||||
public RandomizerBagScreen(RandomizerBagContainer randomizerBagContainer, Inventory playerInventory, Component title) {
|
public RandomizerBagScreen(RandomizerBagContainer randomizerBagContainer, Inventory playerInventory, Component title) {
|
||||||
super(randomizerBagContainer, playerInventory, title);//new TranslationTextComponent("effortlessbuilding.screen.randomizer_bag"));
|
super(randomizerBagContainer, playerInventory, title);//new TranslationTextComponent("effortlessbuilding.screen.randomizer_bag"));
|
||||||
|
this.inventory = playerInventory;
|
||||||
imageHeight = 134;
|
imageHeight = 134;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -38,8 +41,8 @@ public class RandomizerBagScreen extends AbstractContainerScreen<RandomizerBagCo
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void renderBg(PoseStack ms, float partialTicks, int mouseX, int mouseY) {
|
protected void renderBg(PoseStack ms, float partialTicks, int mouseX, int mouseY) {
|
||||||
RenderSystem.color3f(1.0F, 1.0F, 1.0F);
|
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1f);
|
||||||
minecraft.getTextureManager().bind(guiTextures);
|
RenderSystem.setShaderTexture(0, guiTextures);
|
||||||
int marginHorizontal = (width - imageWidth) / 2;
|
int marginHorizontal = (width - imageWidth) / 2;
|
||||||
int marginVertical = (height - imageHeight) / 2;
|
int marginVertical = (height - imageHeight) / 2;
|
||||||
blit(ms, marginHorizontal, marginVertical, 0, 0, imageWidth, imageHeight);
|
blit(ms, marginHorizontal, marginVertical, 0, 0, imageWidth, imageHeight);
|
||||||
|
|||||||
@@ -1,17 +1,14 @@
|
|||||||
package nl.requios.effortlessbuilding.gui.buildmode;
|
package nl.requios.effortlessbuilding.gui.buildmode;
|
||||||
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.*;
|
||||||
import com.mojang.blaze3d.platform.GlStateManager;
|
import com.mojang.blaze3d.platform.GlStateManager;
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
import mcp.MethodsReturnNonnullByDefault;
|
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.resources.sounds.SimpleSoundInstance;
|
import net.minecraft.client.resources.sounds.SimpleSoundInstance;
|
||||||
import net.minecraft.client.gui.screens.Screen;
|
import net.minecraft.client.gui.screens.Screen;
|
||||||
import net.minecraft.client.gui.components.Button;
|
import net.minecraft.client.gui.components.Button;
|
||||||
import net.minecraft.client.gui.components.ObjectSelectionList;
|
import net.minecraft.client.gui.components.ObjectSelectionList;
|
||||||
import com.mojang.blaze3d.vertex.BufferBuilder;
|
|
||||||
import com.mojang.blaze3d.vertex.Tesselator;
|
|
||||||
import com.mojang.blaze3d.vertex.DefaultVertexFormat;
|
|
||||||
import net.minecraft.sounds.SoundEvents;
|
import net.minecraft.sounds.SoundEvents;
|
||||||
import net.minecraft.util.Mth;
|
import net.minecraft.util.Mth;
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
@@ -19,8 +16,8 @@ import net.minecraft.network.chat.TextComponent;
|
|||||||
import net.minecraft.network.chat.TranslatableComponent;
|
import net.minecraft.network.chat.TranslatableComponent;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
import net.minecraftforge.fml.client.gui.widget.ExtendedButton;
|
import net.minecraftforge.fmlclient.gui.widget.ExtendedButton;
|
||||||
import net.minecraftforge.fml.client.gui.widget.Slider;
|
import net.minecraftforge.fmlclient.gui.widget.Slider;
|
||||||
import nl.requios.effortlessbuilding.EffortlessBuilding;
|
import nl.requios.effortlessbuilding.EffortlessBuilding;
|
||||||
|
|
||||||
import javax.annotation.ParametersAreNonnullByDefault;
|
import javax.annotation.ParametersAreNonnullByDefault;
|
||||||
@@ -48,22 +45,22 @@ public class PlayerSettingsGui extends Screen {
|
|||||||
|
|
||||||
int yy = top;
|
int yy = top;
|
||||||
shaderTypeList = new ShaderTypeList(this.minecraft);
|
shaderTypeList = new ShaderTypeList(this.minecraft);
|
||||||
this.children.add(shaderTypeList);
|
addWidget(shaderTypeList);
|
||||||
//TODO set selected name
|
//TODO set selected name
|
||||||
Component currentShaderName = ShaderType.DISSOLVE_BLUE.name;
|
Component currentShaderName = ShaderType.DISSOLVE_BLUE.name;
|
||||||
shaderTypeButton = new ExtendedButton(right - 180, yy, 180, 20, currentShaderName, (button) -> {
|
shaderTypeButton = new ExtendedButton(right - 180, yy, 180, 20, currentShaderName, (button) -> {
|
||||||
showShaderList = !showShaderList;
|
showShaderList = !showShaderList;
|
||||||
});
|
});
|
||||||
addButton(shaderTypeButton);
|
addRenderableOnly(shaderTypeButton);
|
||||||
|
|
||||||
yy += 50;
|
yy += 50;
|
||||||
Slider slider = new Slider(right - 200, yy, 200, 20, TextComponent.EMPTY, TextComponent.EMPTY, 0.5, 2.0, 1.0, true, true, (button) -> {
|
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());
|
closeButton = new ExtendedButton(left + 50, bottom - 20, 180, 20, new TextComponent("Done"), (button) -> this.minecraft.player.closeContainer());
|
||||||
addButton(closeButton);
|
addRenderableOnly(closeButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -205,9 +202,9 @@ public class PlayerSettingsGui extends Screen {
|
|||||||
// this.minecraft.getTextureManager().bindTexture(AbstractGui.BACKGROUND_LOCATION);
|
// this.minecraft.getTextureManager().bindTexture(AbstractGui.BACKGROUND_LOCATION);
|
||||||
RenderSystem.enableBlend();
|
RenderSystem.enableBlend();
|
||||||
RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ZERO, GlStateManager.DestFactor.ONE);
|
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;
|
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.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.y1, 0.0D).color(20, 20, 20, 180).endVertex();
|
||||||
bufferbuilder.vertex(this.x1, this.y0, 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);
|
// this.renderHoleBackground(this.y1, this.height, 255, 255);
|
||||||
RenderSystem.enableBlend();
|
RenderSystem.enableBlend();
|
||||||
RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ZERO, GlStateManager.DestFactor.ONE);
|
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();
|
RenderSystem.disableTexture();
|
||||||
// int i1 = 4;
|
// int i1 = 4;
|
||||||
// bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR);
|
// bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR);
|
||||||
@@ -252,19 +247,19 @@ public class PlayerSettingsGui extends Screen {
|
|||||||
l1 = this.y0;
|
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(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.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(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();
|
bufferbuilder.vertex(i, this.y0, 0.0D).uv(0.0F, 0.0F).color(0, 0, 0, 255).endVertex();
|
||||||
tessellator.end();
|
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(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 + 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(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();
|
bufferbuilder.vertex(i, l1, 0.0D).uv(0.0F, 0.0F).color(128, 128, 128, 255).endVertex();
|
||||||
tessellator.end();
|
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(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 + 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();
|
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_);
|
// this.renderDecorations(p_render_1_, p_render_2_);
|
||||||
RenderSystem.enableTexture();
|
RenderSystem.enableTexture();
|
||||||
RenderSystem.shadeModel(7424);
|
|
||||||
RenderSystem.enableAlphaTest();
|
|
||||||
RenderSystem.disableBlend();
|
RenderSystem.disableBlend();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -306,6 +299,11 @@ public class PlayerSettingsGui extends Screen {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Component getNarration() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,13 @@
|
|||||||
package nl.requios.effortlessbuilding.gui.buildmode;
|
package nl.requios.effortlessbuilding.gui.buildmode;
|
||||||
|
|
||||||
import com.google.common.base.Stopwatch;
|
import com.google.common.base.Stopwatch;
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.*;
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
import mcp.MethodsReturnNonnullByDefault;
|
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.gui.screens.Screen;
|
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.TextureAtlas;
|
||||||
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
||||||
import com.mojang.blaze3d.vertex.DefaultVertexFormat;
|
|
||||||
import net.minecraft.client.resources.language.I18n;
|
import net.minecraft.client.resources.language.I18n;
|
||||||
import net.minecraft.client.KeyMapping;
|
import net.minecraft.client.KeyMapping;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
@@ -265,12 +262,12 @@ public class RadialMenu extends Screen {
|
|||||||
|
|
||||||
RenderSystem.translatef(0f, 0f, 5f);
|
RenderSystem.translatef(0f, 0f, 5f);
|
||||||
RenderSystem.enableTexture();
|
RenderSystem.enableTexture();
|
||||||
RenderSystem.color3f(1f, 1f, 1f);
|
RenderSystem.setShaderColor(1f, 1f, 1f, 1f);
|
||||||
RenderSystem.disableBlend();
|
RenderSystem.disableBlend();
|
||||||
RenderSystem.enableAlphaTest();
|
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
|
//Draw buildmode icons
|
||||||
for (final MenuRegion menuRegion : modes) {
|
for (final MenuRegion menuRegion : modes) {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package nl.requios.effortlessbuilding.gui.buildmodifier;
|
package nl.requios.effortlessbuilding.gui.buildmodifier;
|
||||||
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
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.screens.Screen;
|
||||||
import net.minecraft.client.gui.components.AbstractWidget;
|
import net.minecraft.client.gui.components.AbstractWidget;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
@@ -33,8 +34,8 @@ public class ArraySettingsGui extends GuiCollapsibleScrollEntry {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init(List<AbstractWidget> buttons) {
|
public void init(List<Widget> renderables) {
|
||||||
super.init(buttons);
|
super.init(renderables);
|
||||||
|
|
||||||
int y = top;
|
int y = top;
|
||||||
buttonArrayEnabled = new GuiCheckBoxFixed(left - 15 + 8, y, "", false) {
|
buttonArrayEnabled = new GuiCheckBoxFixed(left - 15 + 8, y, "", false) {
|
||||||
@@ -44,26 +45,26 @@ public class ArraySettingsGui extends GuiCollapsibleScrollEntry {
|
|||||||
setCollapsed(!buttonArrayEnabled.isChecked());
|
setCollapsed(!buttonArrayEnabled.isChecked());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
buttons.add(buttonArrayEnabled);
|
renderables.add(buttonArrayEnabled);
|
||||||
|
|
||||||
y = top + 20;
|
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.setNumber(0);
|
||||||
textArrayOffsetX.setTooltip(new TextComponent("How much each copy is shifted."));
|
textArrayOffsetX.setTooltip(new TextComponent("How much each copy is shifted."));
|
||||||
arrayNumberFieldList.add(textArrayOffsetX);
|
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.setNumber(0);
|
||||||
textArrayOffsetY.setTooltip(new TextComponent("How much each copy is shifted."));
|
textArrayOffsetY.setTooltip(new TextComponent("How much each copy is shifted."));
|
||||||
arrayNumberFieldList.add(textArrayOffsetY);
|
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.setNumber(0);
|
||||||
textArrayOffsetZ.setTooltip(new TextComponent("How much each copy is shifted."));
|
textArrayOffsetZ.setTooltip(new TextComponent("How much each copy is shifted."));
|
||||||
arrayNumberFieldList.add(textArrayOffsetZ);
|
arrayNumberFieldList.add(textArrayOffsetZ);
|
||||||
|
|
||||||
y = top + 50;
|
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.setNumber(5);
|
||||||
textArrayCount.setTooltip(new TextComponent("How many copies should be made."));
|
textArrayCount.setTooltip(new TextComponent("How many copies should be made."));
|
||||||
arrayNumberFieldList.add(textArrayCount);
|
arrayNumberFieldList.add(textArrayCount);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package nl.requios.effortlessbuilding.gui.buildmodifier;
|
package nl.requios.effortlessbuilding.gui.buildmodifier;
|
||||||
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
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.screens.Screen;
|
||||||
import net.minecraft.client.gui.components.AbstractWidget;
|
import net.minecraft.client.gui.components.AbstractWidget;
|
||||||
import net.minecraft.client.gui.components.Button;
|
import net.minecraft.client.gui.components.Button;
|
||||||
@@ -40,8 +41,8 @@ public class MirrorSettingsGui extends GuiCollapsibleScrollEntry {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init(List<AbstractWidget> buttonList) {
|
public void init(List<Widget> renderables) {
|
||||||
super.init(buttonList);
|
super.init(renderables);
|
||||||
|
|
||||||
int y = top - 2;
|
int y = top - 2;
|
||||||
buttonMirrorEnabled = new GuiCheckBoxFixed(left - 15 + 8, y, "", false) {
|
buttonMirrorEnabled = new GuiCheckBoxFixed(left - 15 + 8, y, "", false) {
|
||||||
@@ -51,21 +52,21 @@ public class MirrorSettingsGui extends GuiCollapsibleScrollEntry {
|
|||||||
setCollapsed(!buttonMirrorEnabled.isChecked());
|
setCollapsed(!buttonMirrorEnabled.isChecked());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
buttonList.add(buttonMirrorEnabled);
|
renderables.add(buttonMirrorEnabled);
|
||||||
|
|
||||||
y = top + 18;
|
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.setNumber(0);
|
||||||
textMirrorPosX.setTooltip(
|
textMirrorPosX.setTooltip(
|
||||||
Arrays.asList(new TextComponent("The position of the mirror."), new TextComponent("For odd numbered builds add 0.5.").withStyle(ChatFormatting.GRAY)));
|
Arrays.asList(new TextComponent("The position of the mirror."), new TextComponent("For odd numbered builds add 0.5.").withStyle(ChatFormatting.GRAY)));
|
||||||
mirrorNumberFieldList.add(textMirrorPosX);
|
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.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)));
|
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);
|
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.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)));
|
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);
|
mirrorNumberFieldList.add(textMirrorPosZ);
|
||||||
@@ -81,7 +82,7 @@ public class MirrorSettingsGui extends GuiCollapsibleScrollEntry {
|
|||||||
mirrorButtonList.add(buttonMirrorZ);
|
mirrorButtonList.add(buttonMirrorZ);
|
||||||
|
|
||||||
y = top + 47;
|
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);
|
textMirrorRadius.setNumber(50);
|
||||||
//TODO change to diameter (remove /2)
|
//TODO change to diameter (remove /2)
|
||||||
textMirrorRadius.setTooltip(Arrays.asList(new TextComponent("How far the mirror reaches in any direction."),
|
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);
|
buttonToggleOdd.setUseAlternateIcon(toggleOdd);
|
||||||
}
|
}
|
||||||
|
|
||||||
buttonList.addAll(mirrorButtonList);
|
renderables.addAll(mirrorButtonList);
|
||||||
buttonList.addAll(mirrorIconButtonList);
|
renderables.addAll(mirrorIconButtonList);
|
||||||
|
|
||||||
setCollapsed(!buttonMirrorEnabled.isChecked());
|
setCollapsed(!buttonMirrorEnabled.isChecked());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package nl.requios.effortlessbuilding.gui.buildmodifier;
|
|||||||
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.client.gui.components.AbstractWidget;
|
||||||
import net.minecraft.client.gui.screens.Screen;
|
import net.minecraft.client.gui.screens.Screen;
|
||||||
import net.minecraft.client.gui.components.Button;
|
import net.minecraft.client.gui.components.Button;
|
||||||
import net.minecraft.network.chat.TextComponent;
|
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.network.PacketHandler;
|
||||||
import nl.requios.effortlessbuilding.proxy.ClientProxy;
|
import nl.requios.effortlessbuilding.proxy.ClientProxy;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
public class ModifierSettingsGui extends Screen {
|
public class ModifierSettingsGui extends Screen {
|
||||||
|
|
||||||
@@ -35,6 +39,7 @@ public class ModifierSettingsGui extends Screen {
|
|||||||
@Override
|
@Override
|
||||||
//Create buttons and labels and add them to buttonList/labelList
|
//Create buttons and labels and add them to buttonList/labelList
|
||||||
protected void init() {
|
protected void init() {
|
||||||
|
|
||||||
scrollPane = new GuiScrollPane(this, font, 8, height - 30);
|
scrollPane = new GuiScrollPane(this, font, 8, height - 30);
|
||||||
|
|
||||||
mirrorSettingsGui = new MirrorSettingsGui(scrollPane);
|
mirrorSettingsGui = new MirrorSettingsGui(scrollPane);
|
||||||
@@ -46,14 +51,14 @@ public class ModifierSettingsGui extends Screen {
|
|||||||
radialMirrorSettingsGui = new RadialMirrorSettingsGui(scrollPane);
|
radialMirrorSettingsGui = new RadialMirrorSettingsGui(scrollPane);
|
||||||
scrollPane.AddListEntry(radialMirrorSettingsGui);
|
scrollPane.AddListEntry(radialMirrorSettingsGui);
|
||||||
|
|
||||||
scrollPane.init(buttons);
|
scrollPane.init(renderables);
|
||||||
|
|
||||||
//Close button
|
//Close button
|
||||||
int y = height - 26;
|
int y = height - 26;
|
||||||
buttonClose = new Button(width / 2 - 100, y, 200, 20, new TextComponent("Close"), (button) -> {
|
buttonClose = new Button(width / 2 - 100, y, 200, 20, new TextComponent("Close"), (button) -> {
|
||||||
Minecraft.getInstance().player.closeContainer();
|
Minecraft.getInstance().player.closeContainer();
|
||||||
});
|
});
|
||||||
buttons.add(buttonClose);
|
addRenderableOnly(buttonClose);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -91,7 +96,9 @@ public class ModifierSettingsGui extends Screen {
|
|||||||
@Override
|
@Override
|
||||||
public boolean mouseClicked(double mouseX, double mouseY, int mouseButton) {
|
public boolean mouseClicked(double mouseX, double mouseY, int mouseButton) {
|
||||||
super.mouseClicked(mouseX, mouseY, 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);
|
return scrollPane.mouseClicked(mouseX, mouseY, mouseButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package nl.requios.effortlessbuilding.gui.buildmodifier;
|
package nl.requios.effortlessbuilding.gui.buildmodifier;
|
||||||
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
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.screens.Screen;
|
||||||
import net.minecraft.client.gui.components.AbstractWidget;
|
import net.minecraft.client.gui.components.AbstractWidget;
|
||||||
import net.minecraft.client.gui.components.Button;
|
import net.minecraft.client.gui.components.Button;
|
||||||
@@ -40,8 +41,8 @@ public class RadialMirrorSettingsGui extends GuiCollapsibleScrollEntry {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init(List<AbstractWidget> buttonList) {
|
public void init(List<Widget> renderables) {
|
||||||
super.init(buttonList);
|
super.init(renderables);
|
||||||
|
|
||||||
int y = top - 2;
|
int y = top - 2;
|
||||||
buttonRadialMirrorEnabled = new GuiCheckBoxFixed(left - 15 + 8, y, "", false) {
|
buttonRadialMirrorEnabled = new GuiCheckBoxFixed(left - 15 + 8, y, "", false) {
|
||||||
@@ -51,32 +52,32 @@ public class RadialMirrorSettingsGui extends GuiCollapsibleScrollEntry {
|
|||||||
setCollapsed(!buttonRadialMirrorEnabled.isChecked());
|
setCollapsed(!buttonRadialMirrorEnabled.isChecked());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
buttonList.add(buttonRadialMirrorEnabled);
|
renderables.add(buttonRadialMirrorEnabled);
|
||||||
|
|
||||||
y = top + 18;
|
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.setNumber(0);
|
||||||
textRadialMirrorPosX.setTooltip(
|
textRadialMirrorPosX.setTooltip(
|
||||||
Arrays.asList(new TextComponent("The position of the radial mirror."), new TextComponent("For odd numbered builds add 0.5.").withStyle(ChatFormatting.GRAY)));
|
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);
|
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.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)));
|
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);
|
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.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)));
|
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);
|
radialMirrorNumberFieldList.add(textRadialMirrorPosZ);
|
||||||
|
|
||||||
y = top + 47;
|
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.setNumber(4);
|
||||||
textRadialMirrorSlices.setTooltip(Arrays.asList(new TextComponent("The number of repeating slices."), new TextComponent("Minimally 2.").withStyle(ChatFormatting.GRAY)));
|
textRadialMirrorSlices.setTooltip(Arrays.asList(new TextComponent("The number of repeating slices."), new TextComponent("Minimally 2.").withStyle(ChatFormatting.GRAY)));
|
||||||
radialMirrorNumberFieldList.add(textRadialMirrorSlices);
|
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);
|
textRadialMirrorRadius.setNumber(50);
|
||||||
//TODO change to diameter (remove /2)
|
//TODO change to diameter (remove /2)
|
||||||
textRadialMirrorRadius.setTooltip(Arrays.asList(new TextComponent("How far the radial mirror reaches from its center position."),
|
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);
|
buttonToggleOdd.setUseAlternateIcon(toggleOdd);
|
||||||
}
|
}
|
||||||
|
|
||||||
buttonList.addAll(radialMirrorButtonList);
|
renderables.addAll(radialMirrorButtonList);
|
||||||
buttonList.addAll(radialMirrorIconButtonList);
|
renderables.addAll(radialMirrorIconButtonList);
|
||||||
|
|
||||||
setCollapsed(!buttonRadialMirrorEnabled.isChecked());
|
setCollapsed(!buttonRadialMirrorEnabled.isChecked());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack;
|
|||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.gui.components.Button;
|
import net.minecraft.client.gui.components.Button;
|
||||||
import net.minecraft.network.chat.TextComponent;
|
import net.minecraft.network.chat.TextComponent;
|
||||||
import net.minecraftforge.fml.client.gui.GuiUtils;
|
import net.minecraftforge.fmlclient.gui.GuiUtils;
|
||||||
|
|
||||||
import javax.annotation.ParametersAreNonnullByDefault;
|
import javax.annotation.ParametersAreNonnullByDefault;
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ public class GuiCheckBoxFixed extends Button {
|
|||||||
if (this.visible) {
|
if (this.visible) {
|
||||||
Minecraft mc = Minecraft.getInstance();
|
Minecraft mc = Minecraft.getInstance();
|
||||||
this.isHovered = mouseX >= this.x && mouseY >= this.y && mouseX < this.x + this.boxWidth && mouseY < this.y + this.height;
|
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);
|
this.renderBg(ms, mc, mouseX, mouseY);
|
||||||
int color = 14737632;
|
int color = 14737632;
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package nl.requios.effortlessbuilding.gui.elements;
|
|||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.gui.Font;
|
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.screens.Screen;
|
||||||
import net.minecraft.client.gui.components.AbstractWidget;
|
import net.minecraft.client.gui.components.AbstractWidget;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
@@ -27,7 +28,7 @@ public abstract class GuiCollapsibleScrollEntry implements GuiScrollPane.IScroll
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init(List<AbstractWidget> buttonList) {
|
public void init(List<Widget> renderables) {
|
||||||
left = scrollPane.getWidth() / 2 - 140;
|
left = scrollPane.getWidth() / 2 - 140;
|
||||||
right = scrollPane.getWidth() / 2 + 140;
|
right = scrollPane.getWidth() / 2 + 140;
|
||||||
top = scrollPane.getHeight() / 2 - 100;
|
top = scrollPane.getHeight() / 2 - 100;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package nl.requios.effortlessbuilding.gui.elements;
|
package nl.requios.effortlessbuilding.gui.elements;
|
||||||
|
|
||||||
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.gui.screens.Screen;
|
import net.minecraft.client.gui.screens.Screen;
|
||||||
@@ -56,7 +57,7 @@ public class GuiIconButton extends Button {
|
|||||||
super.render(ms, mouseX, mouseY, partialTicks);
|
super.render(ms, mouseX, mouseY, partialTicks);
|
||||||
if (this.visible) {
|
if (this.visible) {
|
||||||
this.isHovered = mouseX >= this.x && mouseY >= this.y && mouseX < this.x + this.width && mouseY < this.y + this.height;
|
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 currentIconX = this.iconX;
|
||||||
int currentIconY = this.iconY;
|
int currentIconY = this.iconY;
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
package nl.requios.effortlessbuilding.gui.elements;
|
package nl.requios.effortlessbuilding.gui.elements;
|
||||||
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
import mcp.MethodsReturnNonnullByDefault;
|
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||||
import net.minecraft.client.gui.GuiComponent;
|
import net.minecraft.client.gui.GuiComponent;
|
||||||
import net.minecraft.client.gui.Font;
|
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.screens.Screen;
|
||||||
import net.minecraft.client.gui.components.EditBox;
|
import net.minecraft.client.gui.components.EditBox;
|
||||||
import net.minecraft.client.gui.components.AbstractWidget;
|
import net.minecraft.client.gui.components.AbstractWidget;
|
||||||
@@ -34,7 +35,7 @@ public class GuiNumberField extends GuiComponent {
|
|||||||
|
|
||||||
List<Component> tooltip = new ArrayList<>();
|
List<Component> tooltip = new ArrayList<>();
|
||||||
|
|
||||||
public GuiNumberField(Font font, List<AbstractWidget> buttonList, int x, int y, int width, int height) {
|
public GuiNumberField(Font font, List<Widget> renderables, int x, int y, int width, int height) {
|
||||||
this.x = x;
|
this.x = x;
|
||||||
this.y = y;
|
this.y = y;
|
||||||
this.width = width;
|
this.width = width;
|
||||||
@@ -56,8 +57,8 @@ public class GuiNumberField extends GuiComponent {
|
|||||||
setNumber(getNumber() + valueChanged);
|
setNumber(getNumber() + valueChanged);
|
||||||
});
|
});
|
||||||
|
|
||||||
buttonList.add(minusButton);
|
renderables.add(minusButton);
|
||||||
buttonList.add(plusButton);
|
renderables.add(plusButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getNumber() {
|
public double getNumber() {
|
||||||
|
|||||||
@@ -1,17 +1,15 @@
|
|||||||
package nl.requios.effortlessbuilding.gui.elements;
|
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.platform.GlStateManager;
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
import mcp.MethodsReturnNonnullByDefault;
|
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.gui.Font;
|
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.components.events.GuiEventListener;
|
||||||
import net.minecraft.client.gui.screens.Screen;
|
import net.minecraft.client.gui.screens.Screen;
|
||||||
import net.minecraft.client.gui.components.AbstractWidget;
|
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.minecraft.util.Mth;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
@@ -102,8 +100,6 @@ public class GuiScrollPane extends SlotGui {
|
|||||||
|
|
||||||
RenderSystem.enableBlend();
|
RenderSystem.enableBlend();
|
||||||
RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ZERO, GlStateManager.DestFactor.ONE);
|
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();
|
RenderSystem.disableTexture();
|
||||||
|
|
||||||
//top
|
//top
|
||||||
@@ -132,19 +128,19 @@ public class GuiScrollPane extends SlotGui {
|
|||||||
l1 = this.y0;
|
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(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.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(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();
|
bufferbuilder.vertex(scrollbarLeft, this.y0, 0.0F).uv(0.0F, 0.0F).color(0, 0, 0, 255).endVertex();
|
||||||
tessellator.end();
|
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(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 + 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(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();
|
bufferbuilder.vertex(scrollbarLeft, l1, 0.0F).uv(0.0F, 0.0F).color(128, 128, 128, 255).endVertex();
|
||||||
tessellator.end();
|
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(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 + 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();
|
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);
|
//this.renderDecorations(mouseXIn, mouseYIn);
|
||||||
RenderSystem.enableTexture();
|
RenderSystem.enableTexture();
|
||||||
RenderSystem.shadeModel(7424);
|
|
||||||
RenderSystem.enableAlphaTest();
|
|
||||||
RenderSystem.disableBlend();
|
RenderSystem.disableBlend();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -361,15 +355,15 @@ public class GuiScrollPane extends SlotGui {
|
|||||||
int j1 = this.x0 + this.width / 2 + this.getRowWidth() / 2;
|
int j1 = this.x0 + this.width / 2 + this.getRowWidth() / 2;
|
||||||
RenderSystem.disableTexture();
|
RenderSystem.disableTexture();
|
||||||
float f = this.isFocused() ? 1.0F : 0.5F;
|
float f = this.isFocused() ? 1.0F : 0.5F;
|
||||||
RenderSystem.color4f(f, f, f, 1.0F);
|
RenderSystem.setShaderColor(f, f, f, 1.0F);
|
||||||
bufferbuilder.begin(7, DefaultVertexFormat.POSITION);
|
bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION);
|
||||||
bufferbuilder.vertex(i1, y + entryHeight2 + 2, 0.0D).endVertex();
|
bufferbuilder.vertex(i1, y + entryHeight2 + 2, 0.0D).endVertex();
|
||||||
bufferbuilder.vertex(j1, 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(j1, y - 2, 0.0D).endVertex();
|
||||||
bufferbuilder.vertex(i1, y - 2, 0.0D).endVertex();
|
bufferbuilder.vertex(i1, y - 2, 0.0D).endVertex();
|
||||||
tessellator.end();
|
tessellator.end();
|
||||||
RenderSystem.color4f(0.0F, 0.0F, 0.0F, 1.0F);
|
RenderSystem.setShaderColor(0.0F, 0.0F, 0.0F, 1.0F);
|
||||||
bufferbuilder.begin(7, DefaultVertexFormat.POSITION);
|
bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION);
|
||||||
bufferbuilder.vertex(i1 + 1, y + entryHeight2 + 1, 0.0D).endVertex();
|
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 + entryHeight2 + 1, 0.0D).endVertex();
|
||||||
bufferbuilder.vertex(j1 - 1, y - 1, 0.0D).endVertex();
|
bufferbuilder.vertex(j1 - 1, y - 1, 0.0D).endVertex();
|
||||||
@@ -404,9 +398,9 @@ public class GuiScrollPane extends SlotGui {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//PASSTHROUGHS
|
//PASSTHROUGHS
|
||||||
public void init(List<AbstractWidget> buttonList) {
|
public void init(List<Widget> renderables) {
|
||||||
for (IScrollEntry entry : this.listEntries) {
|
for (IScrollEntry entry : this.listEntries) {
|
||||||
entry.init(buttonList);
|
entry.init(renderables);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -442,7 +436,7 @@ public class GuiScrollPane extends SlotGui {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public interface IScrollEntry {
|
public interface IScrollEntry {
|
||||||
void init(List<AbstractWidget> buttonList);
|
void init(List<Widget> renderables);
|
||||||
|
|
||||||
void updateScreen();
|
void updateScreen();
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,12 @@
|
|||||||
package nl.requios.effortlessbuilding.gui.elements;
|
package nl.requios.effortlessbuilding.gui.elements;
|
||||||
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.*;
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
import mcp.MethodsReturnNonnullByDefault;
|
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.gui.components.events.AbstractContainerEventHandler;
|
import net.minecraft.client.gui.components.events.AbstractContainerEventHandler;
|
||||||
import net.minecraft.client.gui.components.events.GuiEventListener;
|
import net.minecraft.client.gui.components.events.GuiEventListener;
|
||||||
import net.minecraft.client.gui.components.Widget;
|
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.minecraft.util.Mth;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
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;
|
int j1 = this.x0 + this.width / 2 + this.getRowWidth() / 2;
|
||||||
RenderSystem.disableTexture();
|
RenderSystem.disableTexture();
|
||||||
float f = this.isFocused() ? 1.0F : 0.5F;
|
float f = this.isFocused() ? 1.0F : 0.5F;
|
||||||
RenderSystem.color4f(f, f, f, 1.0F);
|
RenderSystem.setShaderColor(f, f, f, 1.0F);
|
||||||
bufferbuilder.begin(7, DefaultVertexFormat.POSITION);
|
bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION);
|
||||||
bufferbuilder.vertex(i1, k + l + 2, 0.0D).endVertex();
|
bufferbuilder.vertex(i1, k + l + 2, 0.0D).endVertex();
|
||||||
bufferbuilder.vertex(j1, 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(j1, k - 2, 0.0D).endVertex();
|
||||||
bufferbuilder.vertex(i1, k - 2, 0.0D).endVertex();
|
bufferbuilder.vertex(i1, k - 2, 0.0D).endVertex();
|
||||||
tessellator.end();
|
tessellator.end();
|
||||||
RenderSystem.color4f(0.0F, 0.0F, 0.0F, 1.0F);
|
RenderSystem.setShaderColor(0.0F, 0.0F, 0.0F, 1.0F);
|
||||||
bufferbuilder.begin(7, DefaultVertexFormat.POSITION);
|
bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION);
|
||||||
bufferbuilder.vertex(i1 + 1, k + l + 1, 0.0D).endVertex();
|
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 + l + 1, 0.0D).endVertex();
|
||||||
bufferbuilder.vertex(j1 - 1, k - 1, 0.0D).endVertex();
|
bufferbuilder.vertex(j1 - 1, k - 1, 0.0D).endVertex();
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import net.minecraft.world.item.ItemStack;
|
|||||||
public class InventoryHelper {
|
public class InventoryHelper {
|
||||||
|
|
||||||
public static ItemStack findItemStackInInventory(Player player, Block block) {
|
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 &&
|
if (!invStack.isEmpty() && invStack.getItem() instanceof BlockItem &&
|
||||||
((BlockItem) invStack.getItem()).getBlock().equals(block)) {
|
((BlockItem) invStack.getItem()).getBlock().equals(block)) {
|
||||||
return invStack;
|
return invStack;
|
||||||
@@ -19,7 +19,7 @@ public class InventoryHelper {
|
|||||||
|
|
||||||
public static int findTotalBlocksInInventory(Player player, Block block) {
|
public static int findTotalBlocksInInventory(Player player, Block block) {
|
||||||
int total = 0;
|
int total = 0;
|
||||||
for (ItemStack invStack : player.inventory.items) {
|
for (ItemStack invStack : player.getInventory().items) {
|
||||||
if (!invStack.isEmpty() && invStack.getItem() instanceof BlockItem &&
|
if (!invStack.isEmpty() && invStack.getItem() instanceof BlockItem &&
|
||||||
((BlockItem) invStack.getItem()).getBlock().equals(block)) {
|
((BlockItem) invStack.getItem()).getBlock().equals(block)) {
|
||||||
total += invStack.getCount();
|
total += invStack.getCount();
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package nl.requios.effortlessbuilding.helper;
|
package nl.requios.effortlessbuilding.helper;
|
||||||
|
|
||||||
import net.minecraft.advancements.CriteriaTriggers;
|
import net.minecraft.advancements.CriteriaTriggers;
|
||||||
import net.minecraft.block.*;
|
|
||||||
import net.minecraft.world.level.material.Material;
|
import net.minecraft.world.level.material.Material;
|
||||||
import net.minecraft.world.entity.Entity;
|
import net.minecraft.world.entity.Entity;
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
@@ -41,7 +40,7 @@ public class SurvivalHelper {
|
|||||||
if (!world.isLoaded(pos)) return false;
|
if (!world.isLoaded(pos)) return false;
|
||||||
ItemStack itemstack = origstack;
|
ItemStack itemstack = origstack;
|
||||||
|
|
||||||
if (blockState.getBlock().isAir(blockState, world, pos) || itemstack.isEmpty()) {
|
if (blockState.isAir() || itemstack.isEmpty()) {
|
||||||
dropBlock(world, player, pos);
|
dropBlock(world, player, pos);
|
||||||
world.removeBlock(pos, false);
|
world.removeBlock(pos, false);
|
||||||
return true;
|
return true;
|
||||||
@@ -229,7 +228,7 @@ public class SurvivalHelper {
|
|||||||
private static boolean canPlayerEdit(Player player, Level world, BlockPos pos, ItemStack stack) {
|
private static boolean canPlayerEdit(Player player, Level world, BlockPos pos, ItemStack stack) {
|
||||||
if (!world.mayInteract(player, pos)) return false;
|
if (!world.mayInteract(player, pos)) return false;
|
||||||
|
|
||||||
if (player.abilities.mayBuild) {
|
if (player.getAbilities().mayBuild) {
|
||||||
//True in creative and survival mode
|
//True in creative and survival mode
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package nl.requios.effortlessbuilding.item;
|
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.Block;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.item.TooltipFlag;
|
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.level.material.Fluids;
|
||||||
import net.minecraft.world.inventory.AbstractContainerMenu;
|
import net.minecraft.world.inventory.AbstractContainerMenu;
|
||||||
import net.minecraft.world.MenuProvider;
|
import net.minecraft.world.MenuProvider;
|
||||||
import net.minecraft.item.*;
|
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.world.InteractionResultHolder;
|
import net.minecraft.world.InteractionResultHolder;
|
||||||
import net.minecraft.world.InteractionResult;
|
import net.minecraft.world.InteractionResult;
|
||||||
@@ -25,7 +24,7 @@ import net.minecraft.ChatFormatting;
|
|||||||
import net.minecraft.network.chat.TranslatableComponent;
|
import net.minecraft.network.chat.TranslatableComponent;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraftforge.common.capabilities.ICapabilityProvider;
|
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.CapabilityItemHandler;
|
||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraftforge.items.IItemHandler;
|
||||||
import nl.requios.effortlessbuilding.EffortlessBuilding;
|
import nl.requios.effortlessbuilding.EffortlessBuilding;
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
package nl.requios.effortlessbuilding.item;
|
package nl.requios.effortlessbuilding.item;
|
||||||
|
|
||||||
import mcp.MethodsReturnNonnullByDefault;
|
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||||
import net.minecraft.world.item.TooltipFlag;
|
import net.minecraft.world.item.TooltipFlag;
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.item.CreativeModeTab;
|
import net.minecraft.world.item.CreativeModeTab;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraft.util.*;
|
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraft.network.chat.TextComponent;
|
import net.minecraft.network.chat.TextComponent;
|
||||||
import net.minecraft.ChatFormatting;
|
import net.minecraft.ChatFormatting;
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
package nl.requios.effortlessbuilding.item;
|
package nl.requios.effortlessbuilding.item;
|
||||||
|
|
||||||
import mcp.MethodsReturnNonnullByDefault;
|
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||||
import net.minecraft.world.item.TooltipFlag;
|
import net.minecraft.world.item.TooltipFlag;
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.item.CreativeModeTab;
|
import net.minecraft.world.item.CreativeModeTab;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraft.util.*;
|
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraft.network.chat.TextComponent;
|
import net.minecraft.network.chat.TextComponent;
|
||||||
import net.minecraft.ChatFormatting;
|
import net.minecraft.ChatFormatting;
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
package nl.requios.effortlessbuilding.item;
|
package nl.requios.effortlessbuilding.item;
|
||||||
|
|
||||||
import mcp.MethodsReturnNonnullByDefault;
|
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||||
import net.minecraft.world.item.TooltipFlag;
|
import net.minecraft.world.item.TooltipFlag;
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.item.CreativeModeTab;
|
import net.minecraft.world.item.CreativeModeTab;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraft.util.*;
|
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraft.network.chat.TextComponent;
|
import net.minecraft.network.chat.TextComponent;
|
||||||
import net.minecraft.ChatFormatting;
|
import net.minecraft.ChatFormatting;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import net.minecraft.network.FriendlyByteBuf;
|
|||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
import net.minecraftforge.fml.LogicalSide;
|
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.EffortlessBuilding;
|
||||||
import nl.requios.effortlessbuilding.buildmodifier.BlockSet;
|
import nl.requios.effortlessbuilding.buildmodifier.BlockSet;
|
||||||
import nl.requios.effortlessbuilding.buildmodifier.UndoRedo;
|
import nl.requios.effortlessbuilding.buildmodifier.UndoRedo;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import net.minecraft.world.phys.BlockHitResult;
|
|||||||
import net.minecraft.world.phys.HitResult;
|
import net.minecraft.world.phys.HitResult;
|
||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
import net.minecraftforge.fml.LogicalSide;
|
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.buildmode.BuildModes;
|
||||||
|
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import net.minecraft.world.phys.BlockHitResult;
|
|||||||
import net.minecraft.world.phys.HitResult;
|
import net.minecraft.world.phys.HitResult;
|
||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
import net.minecraftforge.fml.LogicalSide;
|
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.buildmode.BuildModes;
|
||||||
import nl.requios.effortlessbuilding.render.BlockPreviewRenderer;
|
import nl.requios.effortlessbuilding.render.BlockPreviewRenderer;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package nl.requios.effortlessbuilding.network;
|
|||||||
|
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import net.minecraft.network.FriendlyByteBuf;
|
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.EffortlessBuilding;
|
||||||
import nl.requios.effortlessbuilding.buildmode.BuildModes;
|
import nl.requios.effortlessbuilding.buildmode.BuildModes;
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package nl.requios.effortlessbuilding.network;
|
|||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import net.minecraft.network.FriendlyByteBuf;
|
import net.minecraft.network.FriendlyByteBuf;
|
||||||
import net.minecraftforge.fml.LogicalSide;
|
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.EffortlessBuilding;
|
||||||
import nl.requios.effortlessbuilding.buildmodifier.UndoRedo;
|
import nl.requios.effortlessbuilding.buildmodifier.UndoRedo;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package nl.requios.effortlessbuilding.network;
|
|||||||
|
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import net.minecraft.network.FriendlyByteBuf;
|
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.EffortlessBuilding;
|
||||||
import nl.requios.effortlessbuilding.buildmode.ModeOptions;
|
import nl.requios.effortlessbuilding.buildmode.ModeOptions;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package nl.requios.effortlessbuilding.network;
|
|||||||
|
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import net.minecraft.network.FriendlyByteBuf;
|
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.EffortlessBuilding;
|
||||||
import nl.requios.effortlessbuilding.buildmode.BuildModes;
|
import nl.requios.effortlessbuilding.buildmode.BuildModes;
|
||||||
import nl.requios.effortlessbuilding.buildmode.ModeSettingsManager;
|
import nl.requios.effortlessbuilding.buildmode.ModeSettingsManager;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import net.minecraft.world.entity.player.Player;
|
|||||||
import net.minecraft.network.FriendlyByteBuf;
|
import net.minecraft.network.FriendlyByteBuf;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.world.phys.Vec3;
|
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.EffortlessBuilding;
|
||||||
import nl.requios.effortlessbuilding.buildmodifier.Array;
|
import nl.requios.effortlessbuilding.buildmodifier.Array;
|
||||||
import nl.requios.effortlessbuilding.buildmodifier.Mirror;
|
import nl.requios.effortlessbuilding.buildmodifier.Mirror;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package nl.requios.effortlessbuilding.network;
|
package nl.requios.effortlessbuilding.network;
|
||||||
|
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraftforge.fml.network.NetworkRegistry;
|
import net.minecraftforge.fmllegacy.network.NetworkRegistry;
|
||||||
import net.minecraftforge.fml.network.simple.SimpleChannel;
|
import net.minecraftforge.fmllegacy.network.simple.SimpleChannel;
|
||||||
import nl.requios.effortlessbuilding.EffortlessBuilding;
|
import nl.requios.effortlessbuilding.EffortlessBuilding;
|
||||||
|
|
||||||
public class PacketHandler {
|
public class PacketHandler {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import net.minecraft.network.FriendlyByteBuf;
|
|||||||
import net.minecraft.world.phys.BlockHitResult;
|
import net.minecraft.world.phys.BlockHitResult;
|
||||||
import net.minecraft.world.phys.HitResult;
|
import net.minecraft.world.phys.HitResult;
|
||||||
import net.minecraftforge.fml.LogicalSide;
|
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.EffortlessBuilding;
|
||||||
import nl.requios.effortlessbuilding.proxy.ClientProxy;
|
import nl.requios.effortlessbuilding.proxy.ClientProxy;
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package nl.requios.effortlessbuilding.network;
|
|||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import net.minecraft.network.FriendlyByteBuf;
|
import net.minecraft.network.FriendlyByteBuf;
|
||||||
import net.minecraftforge.fml.LogicalSide;
|
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.EffortlessBuilding;
|
||||||
|
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package nl.requios.effortlessbuilding.proxy;
|
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.state.BlockState;
|
||||||
import net.minecraft.world.level.block.SoundType;
|
import net.minecraft.world.level.block.SoundType;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
@@ -31,11 +31,13 @@ import net.minecraftforge.event.TickEvent;
|
|||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.DeferredWorkQueue;
|
import net.minecraftforge.fml.DeferredWorkQueue;
|
||||||
import net.minecraftforge.fml.LogicalSide;
|
import net.minecraftforge.fml.LogicalSide;
|
||||||
import net.minecraftforge.fml.client.registry.ClientRegistry;
|
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
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.EffortlessBuilding;
|
||||||
import nl.requios.effortlessbuilding.buildmode.BuildModes;
|
import nl.requios.effortlessbuilding.buildmode.BuildModes;
|
||||||
import nl.requios.effortlessbuilding.buildmode.ModeOptions;
|
import nl.requios.effortlessbuilding.buildmode.ModeOptions;
|
||||||
@@ -372,7 +374,8 @@ public class ClientProxy implements IProxy {
|
|||||||
ClientRegistry.registerKeyBinding(keyBinding);
|
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<NetworkEvent.Context> ctx) {
|
public Player getPlayerEntityFromContext(Supplier<NetworkEvent.Context> ctx) {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package nl.requios.effortlessbuilding.proxy;
|
|||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||||
import net.minecraftforge.fml.network.NetworkEvent;
|
import net.minecraftforge.fmllegacy.network.NetworkEvent;
|
||||||
|
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import net.minecraft.world.entity.player.Player;
|
|||||||
import net.minecraft.server.level.ServerPlayer;
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||||
import net.minecraftforge.fml.network.NetworkEvent;
|
import net.minecraftforge.fmllegacy.network.NetworkEvent;
|
||||||
import net.minecraftforge.fml.network.PacketDistributor;
|
import net.minecraftforge.fmllegacy.network.PacketDistributor;
|
||||||
import nl.requios.effortlessbuilding.network.PacketHandler;
|
import nl.requios.effortlessbuilding.network.PacketHandler;
|
||||||
import nl.requios.effortlessbuilding.network.TranslatedLogMessage;
|
import nl.requios.effortlessbuilding.network.TranslatedLogMessage;
|
||||||
|
|
||||||
|
|||||||
@@ -251,7 +251,7 @@ public class BlockPreviewRenderer {
|
|||||||
BlockPos coordinate = breakCoordinates.get(i);
|
BlockPos coordinate = breakCoordinates.get(i);
|
||||||
|
|
||||||
BlockState blockState = player.level.getBlockState(coordinate);
|
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) {
|
if (SurvivalHelper.canBreak(player.level, player, coordinate) || i == 0) {
|
||||||
VoxelShape collisionShape = blockState.getCollisionShape(player.level, coordinate);
|
VoxelShape collisionShape = blockState.getCollisionShape(player.level, coordinate);
|
||||||
RenderHandler.renderBlockOutline(matrixStack, buffer, coordinate, collisionShape, new Vec3(0f, 0f, 0f));
|
RenderHandler.renderBlockOutline(matrixStack, buffer, coordinate, collisionShape, new Vec3(0f, 0f, 0f));
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package nl.requios.effortlessbuilding.render;
|
package nl.requios.effortlessbuilding.render;
|
||||||
|
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
|
import com.mojang.blaze3d.vertex.VertexFormat;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.renderer.RenderStateShard;
|
import net.minecraft.client.renderer.RenderStateShard;
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
@@ -8,7 +9,7 @@ import net.minecraft.client.renderer.texture.TextureAtlas;
|
|||||||
import com.mojang.blaze3d.vertex.DefaultVertexFormat;
|
import com.mojang.blaze3d.vertex.DefaultVertexFormat;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
import net.minecraftforge.fml.common.ObfuscationReflectionHelper;
|
import net.minecraftforge.fml.util.ObfuscationReflectionHelper;
|
||||||
import org.lwjgl.opengl.*;
|
import org.lwjgl.opengl.*;
|
||||||
|
|
||||||
import java.util.OptionalDouble;
|
import java.util.OptionalDouble;
|
||||||
@@ -18,14 +19,16 @@ public class BuildRenderTypes {
|
|||||||
public static final RenderStateShard.TransparencyStateShard TRANSLUCENT_TRANSPARENCY;
|
public static final RenderStateShard.TransparencyStateShard TRANSLUCENT_TRANSPARENCY;
|
||||||
public static final RenderStateShard.TransparencyStateShard NO_TRANSPARENCY;
|
public static final RenderStateShard.TransparencyStateShard NO_TRANSPARENCY;
|
||||||
|
|
||||||
public static final RenderStateShard.DiffuseLightingStateShard DIFFUSE_LIGHTING_ENABLED;
|
//TODO 1.17
|
||||||
public static final RenderStateShard.DiffuseLightingStateShard DIFFUSE_LIGHTING_DISABLED;
|
// 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.LayeringStateShard PROJECTION_LAYERING;
|
||||||
|
|
||||||
public static final RenderStateShard.CullStateShard CULL_DISABLED;
|
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 WRITE_TO_DEPTH_AND_COLOR;
|
||||||
public static final RenderStateShard.WriteMaskStateShard COLOR_WRITE;
|
public static final RenderStateShard.WriteMaskStateShard COLOR_WRITE;
|
||||||
@@ -40,14 +43,12 @@ public class BuildRenderTypes {
|
|||||||
TRANSLUCENT_TRANSPARENCY = ObfuscationReflectionHelper.getPrivateValue(RenderStateShard.class, null, "TRANSLUCENT_TRANSPARENCY");
|
TRANSLUCENT_TRANSPARENCY = ObfuscationReflectionHelper.getPrivateValue(RenderStateShard.class, null, "TRANSLUCENT_TRANSPARENCY");
|
||||||
NO_TRANSPARENCY = ObfuscationReflectionHelper.getPrivateValue(RenderStateShard.class, null, "NO_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");
|
PROJECTION_LAYERING = ObfuscationReflectionHelper.getPrivateValue(RenderStateShard.class, null, "VIEW_OFFSET_Z_LAYERING");
|
||||||
|
|
||||||
CULL_DISABLED = new RenderStateShard.CullStateShard(false);
|
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_DEPTH_WRITING = true;
|
||||||
final boolean ENABLE_COLOUR_COMPONENTS_WRITING = true;
|
final boolean ENABLE_COLOUR_COMPONENTS_WRITING = true;
|
||||||
@@ -76,7 +77,7 @@ public class BuildRenderTypes {
|
|||||||
.setCullState(CULL_DISABLED)
|
.setCullState(CULL_DISABLED)
|
||||||
.createCompositeState(false);
|
.createCompositeState(false);
|
||||||
LINES = RenderType.create("eb_lines",
|
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()
|
renderState = RenderType.CompositeState.builder()
|
||||||
.setLineState(new RenderStateShard.LineStateShard(OptionalDouble.of(2)))
|
.setLineState(new RenderStateShard.LineStateShard(OptionalDouble.of(2)))
|
||||||
@@ -86,7 +87,7 @@ public class BuildRenderTypes {
|
|||||||
.setCullState(CULL_DISABLED)
|
.setCullState(CULL_DISABLED)
|
||||||
.createCompositeState(false);
|
.createCompositeState(false);
|
||||||
PLANES = RenderType.create("eb_planes",
|
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();
|
// RenderSystem.pushTextureAttributes();
|
||||||
|
|
||||||
ShaderHandler.useShader(ShaderHandler.dissolve, generateShaderCallback(dissolve, Vec3.atLowerCornerOf(blockPos), Vec3.atLowerCornerOf(firstPos), Vec3.atLowerCornerOf(secondPos), blockPos == secondPos, red));
|
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);
|
}, ShaderHandler::releaseShader);
|
||||||
|
|
||||||
RenderType.CompositeState renderState = RenderType.CompositeState.builder()
|
RenderType.CompositeState renderState = RenderType.CompositeState.builder()
|
||||||
.setTextureState(new RenderStateShard.TextureStateShard(ShaderHandler.shaderMaskTextureLocation, false, false))
|
.setTextureState(new RenderStateShard.TextureStateShard(ShaderHandler.shaderMaskTextureLocation, false, false))
|
||||||
.setTexturingState(MY_TEXTURING)
|
.setTexturingState(MY_TEXTURING)
|
||||||
.setTransparencyState(TRANSLUCENT_TRANSPARENCY)
|
.setTransparencyState(TRANSLUCENT_TRANSPARENCY)
|
||||||
.setDiffuseLightingState(DIFFUSE_LIGHTING_DISABLED)
|
//TODO 1.17
|
||||||
.setAlphaState(DEFAULT_ALPHA)
|
// .setDiffuseLightingState(DIFFUSE_LIGHTING_DISABLED)
|
||||||
|
// .setAlphaState(DEFAULT_ALPHA)
|
||||||
.setCullState(new RenderStateShard.CullStateShard(true))
|
.setCullState(new RenderStateShard.CullStateShard(true))
|
||||||
.setLightmapState(new RenderStateShard.LightmapStateShard(false))
|
.setLightmapState(new RenderStateShard.LightmapStateShard(false))
|
||||||
.setOverlayState(new RenderStateShard.OverlayStateShard(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
|
//Unique name for every combination, otherwise it will reuse the previous one
|
||||||
String name = "eb_block_previews_" + dissolve + "_" + blockPos + "_" + firstPos + "_" + secondPos + "_" + red;
|
String name = "eb_block_previews_" + dissolve + "_" + blockPos + "_" + firstPos + "_" + secondPos + "_" + red;
|
||||||
return RenderType.create(name,
|
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<Integer> generateShaderCallback(final float dissolve, final Vec3 blockpos,
|
private static Consumer<Integer> generateShaderCallback(final float dissolve, final Vec3 blockpos,
|
||||||
@@ -151,13 +154,15 @@ public class BuildRenderTypes {
|
|||||||
//mask
|
//mask
|
||||||
ARBShaderObjects.glUniform1iARB(maskUniform, secondaryTextureUnit);
|
ARBShaderObjects.glUniform1iARB(maskUniform, secondaryTextureUnit);
|
||||||
glActiveTexture(ARBMultitexture.GL_TEXTURE0_ARB + 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());
|
//GL11.glBindTexture(GL11.GL_TEXTURE_2D, mc.getTextureManager().getTexture(ShaderHandler.shaderMaskTextureLocation).getGlTextureId());
|
||||||
|
|
||||||
//image
|
//image
|
||||||
ARBShaderObjects.glUniform1iARB(imageUniform, primaryTextureUnit);
|
ARBShaderObjects.glUniform1iARB(imageUniform, primaryTextureUnit);
|
||||||
glActiveTexture(ARBMultitexture.GL_TEXTURE0_ARB + 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());
|
//GL11.glBindTexture(GL11.GL_TEXTURE_2D, mc.getTextureManager().getTexture(AtlasTexture.LOCATION_BLOCKS_TEXTURE).getGlTextureId());
|
||||||
|
|
||||||
//blockpos
|
//blockpos
|
||||||
|
|||||||
Reference in New Issue
Block a user