From ac429ca64e57428a005a47244f04f3d330a2a8a8 Mon Sep 17 00:00:00 2001 From: Christian Knaapen Date: Wed, 4 Dec 2019 20:43:40 +0100 Subject: [PATCH] Initial 1.14 commit. Migrated using xml mapping (in User\.IntelliJIdea2019.3\config\migration). Went through all classes to fix minor issues. Main tasks left to do: screens, blockBreak animation, ClientProxy/BlockRayTraceResult. --- build.gradle | 26 +++- .../EffortlessBuilding.java | 15 +- .../effortlessbuilding/EventHandler.java | 49 +++---- .../effortlessbuilding/ModEventHandler.java | 4 +- .../buildmode/BaseBuildMode.java | 17 ++- .../buildmode/BuildModes.java | 51 +++---- .../buildmode/IBuildMode.java | 14 +- .../buildmode/ModeOptions.java | 4 +- .../buildmode/ModeSettingsManager.java | 14 +- .../buildmode/ThreeClicksBuildMode.java | 26 ++-- .../buildmode/TwoClicksBuildMode.java | 12 +- .../buildmode/buildmodes/Circle.java | 8 +- .../buildmode/buildmodes/Cube.java | 18 +-- .../buildmode/buildmodes/Cylinder.java | 12 +- .../buildmode/buildmodes/DiagonalLine.java | 13 +- .../buildmode/buildmodes/DiagonalWall.java | 13 +- .../buildmode/buildmodes/Floor.java | 12 +- .../buildmode/buildmodes/Line.java | 12 +- .../buildmode/buildmodes/Normal.java | 14 +- .../buildmode/buildmodes/NormalPlus.java | 14 +- .../buildmode/buildmodes/SlopeFloor.java | 12 +- .../buildmode/buildmodes/Sphere.java | 12 +- .../buildmode/buildmodes/Wall.java | 12 +- .../buildmodifier/Array.java | 18 +-- .../buildmodifier/BlockSet.java | 12 +- .../buildmodifier/BuildModifiers.java | 66 ++++----- .../buildmodifier/Mirror.java | 92 ++++++------ .../ModifierSettingsManager.java | 16 +-- .../buildmodifier/RadialMirror.java | 26 ++-- .../buildmodifier/UndoRedo.java | 66 +++++---- .../ItemHandlerCapabilityProvider.java | 13 +- .../capability/ModeCapabilityManager.java | 24 ++-- .../capability/ModifierCapabilityManager.java | 77 +++++----- .../command/CommandReach.java | 11 +- .../compatibility/CompatHelper.java | 21 ++- .../gui/RandomizerBagContainer.java | 24 ++-- .../gui/RandomizerBagGuiContainer.java | 17 +-- .../gui/RandomizerBagGuiHandler.java | 39 +++-- .../gui/buildmode/RadialMenu.java | 64 ++++----- .../gui/buildmodifier/ArraySettingsGui.java | 37 +++-- .../gui/buildmodifier/MirrorSettingsGui.java | 45 +++--- .../buildmodifier/ModifierSettingsGui.java | 18 ++- .../RadialMirrorSettingsGui.java | 43 +++--- .../elements/GuiCollapsibleScrollEntry.java | 17 ++- .../gui/elements/GuiIconButton.java | 8 +- .../gui/elements/GuiNumberField.java | 31 ++-- .../gui/elements/GuiScrollPane.java | 31 ++-- .../helper/InventoryHelper.java | 17 ++- .../helper/ReachConditionFactory.java | 26 +++- .../helper/ReachHelper.java | 12 +- .../helper/SurvivalHelper.java | 93 ++++++------ .../item/ItemRandomizerBag.java | 68 ++++----- .../item/ItemReachUpgrade1.java | 12 +- .../item/ItemReachUpgrade2.java | 14 +- .../item/ItemReachUpgrade3.java | 14 +- .../network/AddUndoMessage.java | 26 ++-- .../network/BlockBrokenMessage.java | 25 ++-- .../network/BlockPlacedMessage.java | 25 ++-- .../network/CancelModeMessage.java | 4 +- .../network/ClearUndoMessage.java | 4 +- .../network/ModeActionMessage.java | 4 +- .../network/ModeSettingsMessage.java | 6 +- .../network/ModifierSettingsMessage.java | 4 +- .../network/RequestLookAtMessage.java | 11 +- .../effortlessbuilding/proxy/ClientProxy.java | 94 ++++++------ .../effortlessbuilding/proxy/IProxy.java | 4 +- .../effortlessbuilding/proxy/ServerProxy.java | 4 +- .../render/BlockPreviewRenderer.java | 97 +++++++------ .../render/RenderHandler.java | 136 +++++------------- .../render/ShaderHandler.java | 11 +- 70 files changed, 923 insertions(+), 988 deletions(-) diff --git a/build.gradle b/build.gradle index fab26fb..b6fc8ff 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,7 @@ apply plugin: 'net.minecraftforge.gradle' apply plugin: 'eclipse' apply plugin: 'maven-publish' -version = '1.13.2-2.15' +version = '1.14.4-2.15' group = 'nl.requios.effortlessbuilding' // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = 'effortlessbuilding' @@ -25,10 +25,10 @@ minecraft { // stable_# Stables are built at the discretion of the MCP team. // Use non-default mappings at your own risk. they may not always work. // Simply re-run your setup task after changing the mappings to update your workspace. - mappings channel: 'snapshot', version: '20180921-1.13' + mappings channel: 'snapshot', version: '20190719-1.14.3' // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. - // accessTransformer = file('build/resources/main/META-INF/accesstransformer.cfg') + // accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') // Default run configurations. // These can be tweaked, removed, or duplicated as needed. @@ -64,6 +64,24 @@ minecraft { } } } + + data { + workingDirectory project.file('run') + + // Recommended logging data for a userdev environment (SCAN,REGISTRIES,REGISTRYDUMP) + property 'forge.logging.markers', 'REGISTRIES' + + // Recommended logging level for the console + property 'forge.logging.console.level', 'debug' + + args '--mod', 'effortlessbuilding', '--all', '--output', file('src/generated/resources/') + + mods { + effortlessbuilding { + source sourceSets.main + } + } + } } } @@ -71,7 +89,7 @@ dependencies { // Specify the version of Minecraft to use, If this is any group other then 'net.minecraft' it is assumed // that the dep is a ForgeGradle 'patcher' dependency. And it's patches will be applied. // The userdev artifact is a special name and will get all sorts of transformations applied to it. - minecraft 'net.minecraftforge:forge:1.13.2-25.0.219' + minecraft 'net.minecraftforge:forge:1.14.4-28.1.102' // You may put jars on which you depend on in ./libs or you may define them like so.. // compile "some.group:artifact:version:classifier" diff --git a/src/main/java/nl/requios/effortlessbuilding/EffortlessBuilding.java b/src/main/java/nl/requios/effortlessbuilding/EffortlessBuilding.java index 22d2406..d986c82 100644 --- a/src/main/java/nl/requios/effortlessbuilding/EffortlessBuilding.java +++ b/src/main/java/nl/requios/effortlessbuilding/EffortlessBuilding.java @@ -1,10 +1,10 @@ package nl.requios.effortlessbuilding; import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.util.ResourceLocation; -import net.minecraft.util.text.TextComponentString; +import net.minecraft.util.text.StringTextComponent; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.capabilities.CapabilityManager; import net.minecraftforge.common.crafting.CraftingHelper; @@ -20,7 +20,6 @@ import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent; import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent; import net.minecraftforge.fml.event.server.FMLServerStartingEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.fml.network.NetworkRegistry; import nl.requios.effortlessbuilding.capability.ModeCapabilityManager; import nl.requios.effortlessbuilding.capability.ModifierCapabilityManager; import nl.requios.effortlessbuilding.command.CommandReach; @@ -35,7 +34,6 @@ import nl.requios.effortlessbuilding.network.PacketHandler; import nl.requios.effortlessbuilding.proxy.ClientProxy; import nl.requios.effortlessbuilding.proxy.IProxy; import nl.requios.effortlessbuilding.proxy.ServerProxy; -import nl.requios.effortlessbuilding.render.ShaderHandler; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -104,7 +102,8 @@ public class EffortlessBuilding //TODO 1.13 config // ConfigManager.sync(MODID, Config.Type.INSTANCE); - ModLoadingContext.get().registerExtensionPoint(ExtensionPoint.GUIFACTORY, () -> RandomizerBagGuiHandler::openGui); + //TODO 1.14 GUI +// ModLoadingContext.get().registerExtensionPoint(ExtensionPoint.GUIFACTORY, () -> RandomizerBagGuiHandler::openGui); proxy.setup(event); @@ -143,11 +142,11 @@ public class EffortlessBuilding logger.info(msg); } - public static void log(EntityPlayer player, String msg){ + public static void log(PlayerEntity player, String msg){ log(player, msg, false); } - public static void log(EntityPlayer player, String msg, boolean actionBar){ - player.sendStatusMessage(new TextComponentString(msg), actionBar); + public static void log(PlayerEntity player, String msg, boolean actionBar){ + player.sendStatusMessage(new StringTextComponent(msg), actionBar); } } diff --git a/src/main/java/nl/requios/effortlessbuilding/EventHandler.java b/src/main/java/nl/requios/effortlessbuilding/EventHandler.java index 2c20061..e575208 100644 --- a/src/main/java/nl/requios/effortlessbuilding/EventHandler.java +++ b/src/main/java/nl/requios/effortlessbuilding/EventHandler.java @@ -1,16 +1,13 @@ package nl.requios.effortlessbuilding; -import net.minecraft.block.state.IBlockState; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Blocks; -import net.minecraft.stats.Stat; -import net.minecraft.stats.StatList; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.event.AttachCapabilitiesEvent; import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.event.world.BlockEvent; @@ -33,15 +30,13 @@ import nl.requios.effortlessbuilding.network.RequestLookAtMessage; import java.util.List; -import static net.minecraftforge.fml.common.gameevent.PlayerEvent.*; - @Mod.EventBusSubscriber public class EventHandler { @SubscribeEvent public static void attachCapabilities(AttachCapabilitiesEvent event) { - if (event.getObject() instanceof EntityPlayer) { + if (event.getObject() instanceof PlayerEntity) { event.addCapability(new ResourceLocation(EffortlessBuilding.MODID, "build_modifier"), new ModifierCapabilityManager.Provider()); event.addCapability(new ResourceLocation(EffortlessBuilding.MODID, "build_mode"), new ModeCapabilityManager.Provider()); } @@ -67,10 +62,10 @@ public class EventHandler public static void onBlockPlaced(BlockEvent.EntityPlaceEvent event) { if (event.getWorld().isRemote()) return; - if (!(event.getEntity() instanceof EntityPlayer)) return; + if (!(event.getEntity() instanceof PlayerEntity)) return; //Cancel event if necessary - EntityPlayerMP player = ((EntityPlayerMP) event.getEntity()); + ServerPlayerEntity player = ((ServerPlayerEntity) event.getEntity()); BuildModes.BuildModeEnum buildMode = ModeSettingsManager.getModeSettings(player).getBuildMode(); ModifierSettingsManager.ModifierSettings modifierSettings = ModifierSettingsManager.getModifierSettings(player); @@ -112,7 +107,7 @@ public class EventHandler BuildModes.onBlockBroken(event.getPlayer(), event.getPos(), false); //Add to undo stack in client - PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> (EntityPlayerMP) event.getPlayer()), new AddUndoMessage(event.getPos(), event.getState(), Blocks.AIR.getDefaultState())); + PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) event.getPlayer()), new AddUndoMessage(event.getPos(), event.getState(), Blocks.AIR.getDefaultState())); } } @@ -121,7 +116,7 @@ public class EventHandler //Disable if config says so if (!BuildConfig.survivalBalancers.increasedMiningTime.get()) return; - EntityPlayer player = event.getEntityPlayer(); + PlayerEntity player = event.getEntityPlayer(); World world = player.world; BlockPos pos = event.getPos(); @@ -135,7 +130,7 @@ public class EventHandler for (int i = 1; i < coordinates.size(); i++) { BlockPos coordinate = coordinates.get(i); //get existing blockstates at those coordinates - IBlockState blockState = world.getBlockState(coordinate); + BlockState blockState = world.getBlockState(coordinate); //add hardness for each blockstate, if can break if (SurvivalHelper.canBreak(world, player, coordinate)) totalBlockHardness += blockState.getBlockHardness(world, coordinate); @@ -154,31 +149,31 @@ public class EventHandler } @SubscribeEvent - public static void onPlayerLoggedIn(PlayerLoggedInEvent event) { - EntityPlayer player = event.getPlayer(); + public static void onPlayerLoggedIn(PlayerEvent.PlayerLoggedInEvent event) { + PlayerEntity player = event.getPlayer(); ModifierSettingsManager.handleNewPlayer(player); ModeSettingsManager.handleNewPlayer(player); } @SubscribeEvent - public static void onPlayerLoggedOut(PlayerLoggedOutEvent event) { - EntityPlayer player = event.getPlayer(); + public static void onPlayerLoggedOut(PlayerEvent.PlayerLoggedOutEvent event) { + PlayerEntity player = event.getPlayer(); if (player.getEntityWorld().isRemote) return; UndoRedo.clear(player); - PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> (EntityPlayerMP) player), new ClearUndoMessage()); + PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new ClearUndoMessage()); } @SubscribeEvent - public static void onPlayerRespawn(PlayerRespawnEvent event) { - EntityPlayer player = event.getPlayer(); + public static void onPlayerRespawn(PlayerEvent.PlayerRespawnEvent event) { + PlayerEntity player = event.getPlayer(); ModifierSettingsManager.handleNewPlayer(player); ModeSettingsManager.handleNewPlayer(player); } @SubscribeEvent - public static void onPlayerChangedDimension(PlayerChangedDimensionEvent event) { - EntityPlayer player = event.getPlayer(); + public static void onPlayerChangedDimension(PlayerEvent.PlayerChangedDimensionEvent event) { + PlayerEntity player = event.getPlayer(); if (player.getEntityWorld().isRemote) return; //Set build mode to normal @@ -197,16 +192,16 @@ public class EventHandler ModeSettingsManager.handleNewPlayer(player); UndoRedo.clear(player); - PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> (EntityPlayerMP) player), new ClearUndoMessage()); + PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new ClearUndoMessage()); } @SubscribeEvent public static void onPlayerClone(PlayerEvent.Clone event) { //Attach capabilities on death, otherwise crash - EntityPlayer oldPlayer = event.getOriginal(); + PlayerEntity oldPlayer = event.getOriginal(); oldPlayer.revive(); - EntityPlayer newPlayer = event.getEntityPlayer(); + PlayerEntity newPlayer = event.getEntityPlayer(); ModifierSettingsManager.setModifierSettings(newPlayer, ModifierSettingsManager.getModifierSettings(oldPlayer)); ModeSettingsManager.setModeSettings(newPlayer, ModeSettingsManager.getModeSettings(oldPlayer)); } diff --git a/src/main/java/nl/requios/effortlessbuilding/ModEventHandler.java b/src/main/java/nl/requios/effortlessbuilding/ModEventHandler.java index 2e7ca75..277b3c1 100644 --- a/src/main/java/nl/requios/effortlessbuilding/ModEventHandler.java +++ b/src/main/java/nl/requios/effortlessbuilding/ModEventHandler.java @@ -2,7 +2,7 @@ package nl.requios.effortlessbuilding; import net.minecraft.block.Block; import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; +import net.minecraft.item.BlockItem; import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; @@ -24,7 +24,7 @@ public class ModEventHandler { for (Block block : EffortlessBuilding.BLOCKS) { - event.getRegistry().register(new ItemBlock(block, new Item.Properties()).setRegistryName(block.getRegistryName())); + event.getRegistry().register(new BlockItem(block, new Item.Properties()).setRegistryName(block.getRegistryName())); } } } diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/BaseBuildMode.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/BaseBuildMode.java index ac4da0d..3a88aea 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/BaseBuildMode.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/BaseBuildMode.java @@ -1,13 +1,12 @@ package nl.requios.effortlessbuilding.buildmode; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.EnumFacing; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import java.util.Dictionary; import java.util.Hashtable; -import java.util.List; import java.util.UUID; public abstract class BaseBuildMode implements IBuildMode { @@ -16,25 +15,25 @@ public abstract class BaseBuildMode implements IBuildMode { protected Dictionary rightClickClientTable = new Hashtable<>(); protected Dictionary rightClickServerTable = new Hashtable<>(); protected Dictionary firstPosTable = new Hashtable<>(); - protected Dictionary sideHitTable = new Hashtable<>(); + protected Dictionary sideHitTable = new Hashtable<>(); protected Dictionary hitVecTable = new Hashtable<>(); @Override - public void initialize(EntityPlayer player) { + public void initialize(PlayerEntity player) { rightClickClientTable.put(player.getUniqueID(), 0); rightClickServerTable.put(player.getUniqueID(), 0); - firstPosTable.put(player.getUniqueID(), BlockPos.ORIGIN); - sideHitTable.put(player.getUniqueID(), EnumFacing.UP); + firstPosTable.put(player.getUniqueID(), BlockPos.ZERO); + sideHitTable.put(player.getUniqueID(), Direction.UP); hitVecTable.put(player.getUniqueID(), Vec3d.ZERO); } @Override - public EnumFacing getSideHit(EntityPlayer player) { + public Direction getSideHit(PlayerEntity player) { return sideHitTable.get(player.getUniqueID()); } @Override - public Vec3d getHitVec(EntityPlayer player) { + public Vec3d getHitVec(PlayerEntity player) { return hitVecTable.get(player.getUniqueID()); } } diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/BuildModes.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/BuildModes.java index 3ec456f..09ab609 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/BuildModes.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/BuildModes.java @@ -1,9 +1,9 @@ package nl.requios.effortlessbuilding.buildmode; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.EnumFacing; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceFluidMode; +import net.minecraft.util.math.RayTraceContext; import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.Vec3d; import nl.requios.effortlessbuilding.EffortlessBuilding; @@ -26,8 +26,8 @@ public class BuildModes { //Static variables are shared between client and server in singleplayer //We need them separate - public static Dictionary currentlyBreakingClient = new Hashtable<>(); - public static Dictionary currentlyBreakingServer = new Hashtable<>(); + public static Dictionary currentlyBreakingClient = new Hashtable<>(); + public static Dictionary currentlyBreakingServer = new Hashtable<>(); public enum BuildModeEnum { NORMAL("effortlessbuilding.mode.normal", new Normal()), @@ -57,10 +57,10 @@ public class BuildModes { //Uses a network message to get the previous raytraceresult from the player //The server could keep track of all raytraceresults but this might lag with many players //Raytraceresult is needed for sideHit and hitVec - public static void onBlockPlacedMessage(EntityPlayer player, BlockPlacedMessage message) { + public static void onBlockPlacedMessage(PlayerEntity player, BlockPlacedMessage message) { //Check if not in the middle of breaking - Dictionary currentlyBreaking = player.world.isRemote ? currentlyBreakingClient : currentlyBreakingServer; + Dictionary currentlyBreaking = player.world.isRemote ? currentlyBreakingClient : currentlyBreakingServer; if (currentlyBreaking.get(player) != null && currentlyBreaking.get(player)) { //Cancel breaking initializeMode(player); @@ -112,7 +112,7 @@ public class BuildModes { coordinates = coordinates.subList(0, limit); } - EnumFacing sideHit = buildMode.instance.getSideHit(player); + Direction sideHit = buildMode.instance.getSideHit(player); if (sideHit == null) sideHit = message.getSideHit(); Vec3d hitVec = buildMode.instance.getHitVec(player); @@ -127,15 +127,15 @@ public class BuildModes { } //Use a network message to break blocks in the distance using clientside mouse input - public static void onBlockBrokenMessage(EntityPlayer player, BlockBrokenMessage message) { + public static void onBlockBrokenMessage(PlayerEntity player, BlockBrokenMessage message) { BlockPos startPos = message.isBlockHit() ? message.getBlockPos() : null; onBlockBroken(player, startPos, true); } - public static void onBlockBroken(EntityPlayer player, BlockPos startPos, boolean breakStartPos) { + public static void onBlockBroken(PlayerEntity player, BlockPos startPos, boolean breakStartPos) { //Check if not in the middle of placing - Dictionary currentlyBreaking = player.world.isRemote ? currentlyBreakingClient : currentlyBreakingServer; + Dictionary currentlyBreaking = player.world.isRemote ? currentlyBreakingClient : currentlyBreakingServer; if (currentlyBreaking.get(player) != null && !currentlyBreaking.get(player)) { //Cancel placing initializeMode(player); @@ -153,7 +153,7 @@ public class BuildModes { //Get coordinates BuildModeEnum buildMode = modeSettings.getBuildMode(); - List coordinates = buildMode.instance.onRightClick(player, startPos, EnumFacing.UP, Vec3d.ZERO, true); + List coordinates = buildMode.instance.onRightClick(player, startPos, Direction.UP, Vec3d.ZERO, true); if (coordinates.isEmpty()) { currentlyBreaking.put(player, true); @@ -168,7 +168,7 @@ public class BuildModes { currentlyBreaking.remove(player); } - public static List findCoordinates(EntityPlayer player, BlockPos startPos, boolean skipRaytrace) { + public static List findCoordinates(PlayerEntity player, BlockPos startPos, boolean skipRaytrace) { List coordinates = new ArrayList<>(); ModeSettingsManager.ModeSettings modeSettings = ModeSettingsManager.getModeSettings(player); @@ -177,27 +177,27 @@ public class BuildModes { return coordinates; } - public static void initializeMode(EntityPlayer player) { + public static void initializeMode(PlayerEntity player) { //Resetting mode, so not placing or breaking - Dictionary currentlyBreaking = player.world.isRemote ? currentlyBreakingClient : currentlyBreakingServer; + Dictionary currentlyBreaking = player.world.isRemote ? currentlyBreakingClient : currentlyBreakingServer; currentlyBreaking.remove(player); ModeSettingsManager.getModeSettings(player).getBuildMode().instance.initialize(player); } - public static boolean isCurrentlyPlacing(EntityPlayer player) { - Dictionary currentlyBreaking = player.world.isRemote ? currentlyBreakingClient : currentlyBreakingServer; + public static boolean isCurrentlyPlacing(PlayerEntity player) { + Dictionary currentlyBreaking = player.world.isRemote ? currentlyBreakingClient : currentlyBreakingServer; return currentlyBreaking.get(player) != null && !currentlyBreaking.get(player); } - public static boolean isCurrentlyBreaking(EntityPlayer player) { - Dictionary currentlyBreaking = player.world.isRemote ? currentlyBreakingClient : currentlyBreakingServer; + public static boolean isCurrentlyBreaking(PlayerEntity player) { + Dictionary currentlyBreaking = player.world.isRemote ? currentlyBreakingClient : currentlyBreakingServer; return currentlyBreaking.get(player) != null && currentlyBreaking.get(player); } //Either placing or breaking - public static boolean isActive(EntityPlayer player) { - Dictionary currentlyBreaking = player.world.isRemote ? currentlyBreakingClient : currentlyBreakingServer; + public static boolean isActive(PlayerEntity player) { + Dictionary currentlyBreaking = player.world.isRemote ? currentlyBreakingClient : currentlyBreakingServer; return currentlyBreaking.get(player) != null; } @@ -229,13 +229,14 @@ public class BuildModes { return new Vec3d(x, y, z); } - public static boolean isCriteriaValid(Vec3d start, Vec3d look, int reach, EntityPlayer player, boolean skipRaytrace, Vec3d lineBound, Vec3d planeBound, double distToPlayerSq) { + public static boolean isCriteriaValid(Vec3d start, Vec3d look, int reach, PlayerEntity player, boolean skipRaytrace, Vec3d lineBound, Vec3d planeBound, double distToPlayerSq) { boolean intersects = false; if (!skipRaytrace) { //collision within a 1 block radius to selected is fine - RayTraceResult rayTraceResult = player.world.rayTraceBlocks(start, lineBound, RayTraceFluidMode.NEVER, true, false); - intersects = rayTraceResult != null && rayTraceResult.type == RayTraceResult.Type.BLOCK && - planeBound.subtract(rayTraceResult.hitVec).lengthSquared() > 4; + RayTraceContext rayTraceContext = new RayTraceContext(start, lineBound, RayTraceContext.BlockMode.COLLIDER, RayTraceContext.FluidMode.NONE, player); + RayTraceResult rayTraceResult = player.world.rayTraceBlocks(rayTraceContext); + intersects = rayTraceResult != null && rayTraceResult.getType() == RayTraceResult.Type.BLOCK && + planeBound.subtract(rayTraceResult.getHitVec()).lengthSquared() > 4; } return planeBound.subtract(start).dotProduct(look) > 0 && diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/IBuildMode.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/IBuildMode.java index f455641..d435085 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/IBuildMode.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/IBuildMode.java @@ -1,7 +1,7 @@ package nl.requios.effortlessbuilding.buildmode; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.EnumFacing; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; @@ -10,16 +10,16 @@ import java.util.List; public interface IBuildMode { //Fired when a player selects a buildmode and when it needs to initializeMode - void initialize(EntityPlayer player); + void initialize(PlayerEntity player); //Fired when a block would be placed //Return a list of coordinates where you want to place blocks - List onRightClick(EntityPlayer player, BlockPos blockPos, EnumFacing sideHit, Vec3d hitVec, boolean skipRaytrace); + List onRightClick(PlayerEntity player, BlockPos blockPos, Direction sideHit, Vec3d hitVec, boolean skipRaytrace); //Fired continuously for visualization purposes - List findCoordinates(EntityPlayer player, BlockPos blockPos, boolean skipRaytrace); + List findCoordinates(PlayerEntity player, BlockPos blockPos, boolean skipRaytrace); - EnumFacing getSideHit(EntityPlayer player); + Direction getSideHit(PlayerEntity player); - Vec3d getHitVec(EntityPlayer player); + Vec3d getHitVec(PlayerEntity player); } diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/ModeOptions.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/ModeOptions.java index 81dec27..64ba945 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/ModeOptions.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/ModeOptions.java @@ -1,6 +1,6 @@ package nl.requios.effortlessbuilding.buildmode; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.text.TextFormatting; import nl.requios.effortlessbuilding.EffortlessBuilding; import nl.requios.effortlessbuilding.buildmodifier.ModifierSettingsManager; @@ -110,7 +110,7 @@ public class ModeOptions { } //Called on both client and server - public static void performAction(EntityPlayer player, ActionEnum action) { + public static void performAction(PlayerEntity player, ActionEnum action) { if (action == null) return; switch (action) { diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/ModeSettingsManager.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/ModeSettingsManager.java index d6f2369..13e0c90 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/ModeSettingsManager.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/ModeSettingsManager.java @@ -1,7 +1,7 @@ package nl.requios.effortlessbuilding.buildmode; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.network.PacketDistributor; @@ -19,7 +19,7 @@ public class ModeSettingsManager { //Retrieves the buildsettings of a player through the modifierCapability capability //Never returns null @Nonnull - public static ModeSettings getModeSettings(EntityPlayer player) { + public static ModeSettings getModeSettings(PlayerEntity player) { LazyOptional modeCapability = player.getCapability(ModeCapabilityManager.modeCapability, null); @@ -37,7 +37,7 @@ public class ModeSettingsManager { // throw new IllegalArgumentException("Player does not have modeCapability capability"); } - public static void setModeSettings(EntityPlayer player, ModeSettings modeSettings) { + public static void setModeSettings(PlayerEntity player, ModeSettings modeSettings) { if (player == null) { EffortlessBuilding.log("Cannot set buildmode settings, player is null"); return; @@ -56,7 +56,7 @@ public class ModeSettingsManager { } } - public static String sanitize(ModeSettings modeSettings, EntityPlayer player) { + public static String sanitize(ModeSettings modeSettings, PlayerEntity player) { int maxReach = ReachHelper.getMaxReach(player); String error = ""; @@ -84,7 +84,7 @@ public class ModeSettingsManager { } } - public static void handleNewPlayer(EntityPlayer player){ + public static void handleNewPlayer(PlayerEntity player){ //Makes sure player has mode settings (if it doesnt it will create it) getModeSettings(player); @@ -92,7 +92,7 @@ public class ModeSettingsManager { if (!player.world.isRemote) { //Send to client ModeSettingsMessage msg = new ModeSettingsMessage(getModeSettings(player)); - PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> (EntityPlayerMP) player), msg); + PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), msg); } } } diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/ThreeClicksBuildMode.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/ThreeClicksBuildMode.java index a8f9ba5..60e1e06 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/ThreeClicksBuildMode.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/ThreeClicksBuildMode.java @@ -1,11 +1,9 @@ package nl.requios.effortlessbuilding.buildmode; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.EnumFacing; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; -import nl.requios.effortlessbuilding.buildmode.buildmodes.DiagonalLine; -import nl.requios.effortlessbuilding.buildmode.buildmodes.Floor; import nl.requios.effortlessbuilding.helper.ReachHelper; import java.util.*; @@ -34,20 +32,20 @@ public abstract class ThreeClicksBuildMode extends BaseBuildMode { //check if its not behind the player and its not too close and not too far //also check if raytrace from player to block does not intersect blocks - public boolean isValid(Vec3d start, Vec3d look, int reach, EntityPlayer player, boolean skipRaytrace) { + public boolean isValid(Vec3d start, Vec3d look, int reach, PlayerEntity player, boolean skipRaytrace) { return BuildModes.isCriteriaValid(start, look, reach, player, skipRaytrace, lineBound, planeBound, distToPlayerSq); } } @Override - public void initialize(EntityPlayer player) { + public void initialize(PlayerEntity player) { super.initialize(player); - secondPosTable.put(player.getUniqueID(), BlockPos.ORIGIN); + secondPosTable.put(player.getUniqueID(), BlockPos.ZERO); } @Override - public List onRightClick(EntityPlayer player, BlockPos blockPos, EnumFacing sideHit, Vec3d hitVec, boolean skipRaytrace) { + public List onRightClick(PlayerEntity player, BlockPos blockPos, Direction sideHit, Vec3d hitVec, boolean skipRaytrace) { List list = new ArrayList<>(); Dictionary rightClickTable = player.world.isRemote ? rightClickClientTable : rightClickServerTable; @@ -89,7 +87,7 @@ public abstract class ThreeClicksBuildMode extends BaseBuildMode { } @Override - public List findCoordinates(EntityPlayer player, BlockPos blockPos, boolean skipRaytrace) { + public List findCoordinates(PlayerEntity player, BlockPos blockPos, boolean skipRaytrace) { List list = new ArrayList<>(); Dictionary rightClickTable = player.world.isRemote ? rightClickClientTable : rightClickServerTable; int rightClickNr = rightClickTable.get(player.getUniqueID()); @@ -158,19 +156,19 @@ public abstract class ThreeClicksBuildMode extends BaseBuildMode { } //Finds the place of the second block pos - protected abstract BlockPos findSecondPos(EntityPlayer player, BlockPos firstPos, boolean skipRaytrace); + protected abstract BlockPos findSecondPos(PlayerEntity player, BlockPos firstPos, boolean skipRaytrace); //Finds the place of the third block pos - protected abstract BlockPos findThirdPos(EntityPlayer player, BlockPos firstPos, BlockPos secondPos, boolean skipRaytrace); + protected abstract BlockPos findThirdPos(PlayerEntity player, BlockPos firstPos, BlockPos secondPos, boolean skipRaytrace); //After first and second pos are known, we want to visualize the blocks in a way (like floor for cube) - protected abstract List getIntermediateBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2); + protected abstract List getIntermediateBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2); //After first, second and third pos are known, we want all the blocks - protected abstract List getFinalBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3); + protected abstract List getFinalBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3); //Finds height after floor has been chosen in buildmodes with 3 clicks - public static BlockPos findHeight(EntityPlayer player, BlockPos secondPos, boolean skipRaytrace) { + public static BlockPos findHeight(PlayerEntity player, BlockPos secondPos, boolean skipRaytrace) { Vec3d look = player.getLookVec(); Vec3d start = new Vec3d(player.posX, player.posY + player.getEyeHeight(), player.posZ); diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/TwoClicksBuildMode.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/TwoClicksBuildMode.java index 265989f..744d2a0 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/TwoClicksBuildMode.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/TwoClicksBuildMode.java @@ -1,7 +1,7 @@ package nl.requios.effortlessbuilding.buildmode; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.EnumFacing; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import nl.requios.effortlessbuilding.helper.ReachHelper; @@ -14,7 +14,7 @@ import java.util.UUID; public abstract class TwoClicksBuildMode extends BaseBuildMode { @Override - public List onRightClick(EntityPlayer player, BlockPos blockPos, EnumFacing sideHit, Vec3d hitVec, boolean skipRaytrace) { + public List onRightClick(PlayerEntity player, BlockPos blockPos, Direction sideHit, Vec3d hitVec, boolean skipRaytrace) { List list = new ArrayList<>(); Dictionary rightClickTable = player.world.isRemote ? rightClickClientTable : rightClickServerTable; @@ -44,7 +44,7 @@ public abstract class TwoClicksBuildMode extends BaseBuildMode { } @Override - public List findCoordinates(EntityPlayer player, BlockPos blockPos, boolean skipRaytrace) { + public List findCoordinates(PlayerEntity player, BlockPos blockPos, boolean skipRaytrace) { List list = new ArrayList<>(); Dictionary rightClickTable = player.world.isRemote ? rightClickClientTable : rightClickServerTable; int rightClickNr = rightClickTable.get(player.getUniqueID()); @@ -79,8 +79,8 @@ public abstract class TwoClicksBuildMode extends BaseBuildMode { } //Finds the place of the second block pos based on criteria (floor must be on same height as first click, wall on same plane etc) - protected abstract BlockPos findSecondPos(EntityPlayer player, BlockPos firstPos, boolean skipRaytrace); + protected abstract BlockPos findSecondPos(PlayerEntity player, BlockPos firstPos, boolean skipRaytrace); //After first and second pos are known, we want all the blocks - protected abstract List getAllBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2); + protected abstract List getAllBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2); } diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Circle.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Circle.java index 1e57d24..5c917cd 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Circle.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Circle.java @@ -1,6 +1,6 @@ package nl.requios.effortlessbuilding.buildmode.buildmodes; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; import nl.requios.effortlessbuilding.buildmode.TwoClicksBuildMode; @@ -11,16 +11,16 @@ import java.util.*; public class Circle extends TwoClicksBuildMode { @Override - protected BlockPos findSecondPos(EntityPlayer player, BlockPos firstPos, boolean skipRaytrace) { + protected BlockPos findSecondPos(PlayerEntity player, BlockPos firstPos, boolean skipRaytrace) { return Floor.findFloor(player, firstPos, skipRaytrace); } @Override - protected List getAllBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2) { + protected List getAllBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2) { return getCircleBlocks(player, x1, y1, z1, x2, y2, z2); } - public static List getCircleBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2) { + public static List getCircleBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2) { List list = new ArrayList<>(); float centerX = x1; diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Cube.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Cube.java index 95914b2..e53e52b 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Cube.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Cube.java @@ -1,39 +1,35 @@ package nl.requios.effortlessbuilding.buildmode.buildmodes; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.EnumFacing; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Vec3d; -import nl.requios.effortlessbuilding.buildmode.IBuildMode; import nl.requios.effortlessbuilding.buildmode.ModeOptions; import nl.requios.effortlessbuilding.buildmode.ThreeClicksBuildMode; -import nl.requios.effortlessbuilding.helper.ReachHelper; import java.util.*; public class Cube extends ThreeClicksBuildMode { @Override - protected BlockPos findSecondPos(EntityPlayer player, BlockPos firstPos, boolean skipRaytrace) { + protected BlockPos findSecondPos(PlayerEntity player, BlockPos firstPos, boolean skipRaytrace) { return Floor.findFloor(player, firstPos, skipRaytrace); } @Override - protected BlockPos findThirdPos(EntityPlayer player, BlockPos firstPos, BlockPos secondPos, boolean skipRaytrace) { + protected BlockPos findThirdPos(PlayerEntity player, BlockPos firstPos, BlockPos secondPos, boolean skipRaytrace) { return findHeight(player, secondPos, skipRaytrace); } @Override - protected List getIntermediateBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2) { + protected List getIntermediateBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2) { return getFloorBlocksUsingCubeFill(player, x1, y1, z1, x2, y2, z2); } @Override - protected List getFinalBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { + protected List getFinalBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { return getCubeBlocks(player, x1, y1, z1, x3, y3, z3); } - public static List getFloorBlocksUsingCubeFill(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2) { + public static List getFloorBlocksUsingCubeFill(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2) { List list = new ArrayList<>(); if (ModeOptions.getCubeFill() == ModeOptions.ActionEnum.CUBE_SKELETON) @@ -44,7 +40,7 @@ public class Cube extends ThreeClicksBuildMode { return list; } - public static List getCubeBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2) { + public static List getCubeBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2) { List list = new ArrayList<>(); switch (ModeOptions.getCubeFill()) { diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Cylinder.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Cylinder.java index c57b62f..c334372 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Cylinder.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Cylinder.java @@ -1,6 +1,6 @@ package nl.requios.effortlessbuilding.buildmode.buildmodes; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.math.BlockPos; import nl.requios.effortlessbuilding.buildmode.ThreeClicksBuildMode; @@ -10,26 +10,26 @@ import java.util.List; public class Cylinder extends ThreeClicksBuildMode { @Override - public BlockPos findSecondPos(EntityPlayer player, BlockPos firstPos, boolean skipRaytrace) { + public BlockPos findSecondPos(PlayerEntity player, BlockPos firstPos, boolean skipRaytrace) { return Floor.findFloor(player, firstPos, skipRaytrace); } @Override - public BlockPos findThirdPos(EntityPlayer player, BlockPos firstPos, BlockPos secondPos, boolean skipRaytrace) { + public BlockPos findThirdPos(PlayerEntity player, BlockPos firstPos, BlockPos secondPos, boolean skipRaytrace) { return findHeight(player, secondPos, skipRaytrace); } @Override - public List getIntermediateBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2) { + public List getIntermediateBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2) { return Circle.getCircleBlocks(player, x1, y1, z1, x2, y2, z2); } @Override - public List getFinalBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { + public List getFinalBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { return getCylinderBlocks(player, x1, y1, z1, x2, y2, z2, x3, y3, z3); } - public static List getCylinderBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { + public static List getCylinderBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { List list = new ArrayList<>(); //Get circle blocks (using CIRCLE_START and FILL options built-in) diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/DiagonalLine.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/DiagonalLine.java index e95fa38..aa47567 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/DiagonalLine.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/DiagonalLine.java @@ -1,10 +1,9 @@ package nl.requios.effortlessbuilding.buildmode.buildmodes; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import nl.requios.effortlessbuilding.buildmode.ThreeClicksBuildMode; -import nl.requios.effortlessbuilding.helper.ReachHelper; import java.util.ArrayList; import java.util.List; @@ -12,29 +11,29 @@ import java.util.List; public class DiagonalLine extends ThreeClicksBuildMode { @Override - protected BlockPos findSecondPos(EntityPlayer player, BlockPos firstPos, boolean skipRaytrace) { + protected BlockPos findSecondPos(PlayerEntity player, BlockPos firstPos, boolean skipRaytrace) { return Floor.findFloor(player, firstPos, skipRaytrace); } @Override - protected BlockPos findThirdPos(EntityPlayer player, BlockPos firstPos, BlockPos secondPos, boolean skipRaytrace) { + protected BlockPos findThirdPos(PlayerEntity player, BlockPos firstPos, BlockPos secondPos, boolean skipRaytrace) { return findHeight(player, secondPos, skipRaytrace); } @Override - protected List getIntermediateBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2) { + protected List getIntermediateBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2) { //Add diagonal line from first to second return getDiagonalLineBlocks(player, x1, y1, z1, x2, y2, z2, 10); } @Override - protected List getFinalBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { + protected List getFinalBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { //Add diagonal line from first to third return getDiagonalLineBlocks(player, x1, y1, z1, x3, y3, z3, 10); } //Add diagonal line from first to second - public static List getDiagonalLineBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2, float sampleMultiplier) { + public static List getDiagonalLineBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2, float sampleMultiplier) { List list = new ArrayList<>(); Vec3d first = new Vec3d(x1, y1, z1).add(0.5, 0.5, 0.5); diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/DiagonalWall.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/DiagonalWall.java index 6a4cebb..f37ef08 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/DiagonalWall.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/DiagonalWall.java @@ -1,9 +1,8 @@ package nl.requios.effortlessbuilding.buildmode.buildmodes; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.math.BlockPos; import nl.requios.effortlessbuilding.buildmode.ThreeClicksBuildMode; -import nl.requios.effortlessbuilding.helper.ReachHelper; import java.util.ArrayList; import java.util.List; @@ -11,27 +10,27 @@ import java.util.List; public class DiagonalWall extends ThreeClicksBuildMode { @Override - protected BlockPos findSecondPos(EntityPlayer player, BlockPos firstPos, boolean skipRaytrace) { + protected BlockPos findSecondPos(PlayerEntity player, BlockPos firstPos, boolean skipRaytrace) { return Floor.findFloor(player, firstPos, skipRaytrace); } @Override - protected BlockPos findThirdPos(EntityPlayer player, BlockPos firstPos, BlockPos secondPos, boolean skipRaytrace) { + protected BlockPos findThirdPos(PlayerEntity player, BlockPos firstPos, BlockPos secondPos, boolean skipRaytrace) { return findHeight(player, secondPos, skipRaytrace); } @Override - protected List getIntermediateBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2) { + protected List getIntermediateBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2) { return DiagonalLine.getDiagonalLineBlocks(player, x1, y1, z1, x2, y2, z2, 1); } @Override - protected List getFinalBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { + protected List getFinalBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { return getDiagonalWallBlocks(player, x1, y1, z1, x2, y2, z2, x3, y3, z3); } //Add diagonal wall from first to second - public static List getDiagonalWallBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { + public static List getDiagonalWallBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { List list = new ArrayList<>(); //Get diagonal line blocks diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Floor.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Floor.java index 89f4d04..956c52f 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Floor.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Floor.java @@ -1,6 +1,6 @@ package nl.requios.effortlessbuilding.buildmode.buildmodes; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import nl.requios.effortlessbuilding.buildmode.BuildModes; @@ -23,18 +23,18 @@ public class Floor extends TwoClicksBuildMode { //check if its not behind the player and its not too close and not too far //also check if raytrace from player to block does not intersect blocks - public boolean isValid(Vec3d start, Vec3d look, int reach, EntityPlayer player, boolean skipRaytrace) { + public boolean isValid(Vec3d start, Vec3d look, int reach, PlayerEntity player, boolean skipRaytrace) { return BuildModes.isCriteriaValid(start, look, reach, player, skipRaytrace, planeBound, planeBound, distToPlayerSq); } } @Override - protected BlockPos findSecondPos(EntityPlayer player, BlockPos firstPos, boolean skipRaytrace) { + protected BlockPos findSecondPos(PlayerEntity player, BlockPos firstPos, boolean skipRaytrace) { return findFloor(player, firstPos, skipRaytrace); } - public static BlockPos findFloor(EntityPlayer player, BlockPos firstPos, boolean skipRaytrace) { + public static BlockPos findFloor(PlayerEntity player, BlockPos firstPos, boolean skipRaytrace) { Vec3d look = player.getLookVec(); Vec3d start = new Vec3d(player.posX, player.posY + player.getEyeHeight(), player.posZ); @@ -58,11 +58,11 @@ public class Floor extends TwoClicksBuildMode { } @Override - protected List getAllBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2) { + protected List getAllBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2) { return getFloorBlocks(player, x1, y1, z1, x2, y2, z2); } - public static List getFloorBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2) { + public static List getFloorBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2) { List list = new ArrayList<>(); if (ModeOptions.getFill() == ModeOptions.ActionEnum.FULL) diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Line.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Line.java index 5d0e3ad..b411cf8 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Line.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Line.java @@ -1,6 +1,6 @@ package nl.requios.effortlessbuilding.buildmode.buildmodes; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import nl.requios.effortlessbuilding.buildmode.BuildModes; @@ -47,7 +47,7 @@ public class Line extends TwoClicksBuildMode { //check if its not behind the player and its not too close and not too far //also check if raytrace from player to block does not intersect blocks - public boolean isValid(Vec3d start, Vec3d look, int reach, EntityPlayer player, boolean skipRaytrace) { + public boolean isValid(Vec3d start, Vec3d look, int reach, PlayerEntity player, boolean skipRaytrace) { return BuildModes.isCriteriaValid(start, look, reach, player, skipRaytrace, lineBound, planeBound, distToPlayerSq); } @@ -55,11 +55,11 @@ public class Line extends TwoClicksBuildMode { } @Override - protected BlockPos findSecondPos(EntityPlayer player, BlockPos firstPos, boolean skipRaytrace) { + protected BlockPos findSecondPos(PlayerEntity player, BlockPos firstPos, boolean skipRaytrace) { return findLine(player, firstPos, skipRaytrace); } - public static BlockPos findLine(EntityPlayer player, BlockPos firstPos, boolean skipRaytrace) { + public static BlockPos findLine(PlayerEntity player, BlockPos firstPos, boolean skipRaytrace) { Vec3d look = player.getLookVec(); Vec3d start = new Vec3d(player.posX, player.posY + player.getEyeHeight(), player.posZ); @@ -109,11 +109,11 @@ public class Line extends TwoClicksBuildMode { } @Override - protected List getAllBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2) { + protected List getAllBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2) { return getLineBlocks(player, x1, y1, z1, x2, y2, z2); } - public static List getLineBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2) { + public static List getLineBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2) { List list = new ArrayList<>(); if (x1 != x2) { diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Normal.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Normal.java index f917a32..4623c52 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Normal.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Normal.java @@ -1,7 +1,7 @@ package nl.requios.effortlessbuilding.buildmode.buildmodes; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.EnumFacing; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import nl.requios.effortlessbuilding.buildmode.IBuildMode; @@ -11,31 +11,31 @@ import java.util.List; public class Normal implements IBuildMode { @Override - public void initialize(EntityPlayer player) { + public void initialize(PlayerEntity player) { } @Override - public List onRightClick(EntityPlayer player, BlockPos blockPos, EnumFacing sideHit, Vec3d hitVec, boolean skipRaytrace) { + public List onRightClick(PlayerEntity player, BlockPos blockPos, Direction sideHit, Vec3d hitVec, boolean skipRaytrace) { List list = new ArrayList<>(); if (blockPos != null) list.add(blockPos); return list; } @Override - public List findCoordinates(EntityPlayer player, BlockPos blockPos, boolean skipRaytrace) { + public List findCoordinates(PlayerEntity player, BlockPos blockPos, boolean skipRaytrace) { List list = new ArrayList<>(); if (blockPos != null) list.add(blockPos); return list; } @Override - public EnumFacing getSideHit(EntityPlayer player) { + public Direction getSideHit(PlayerEntity player) { return null; } @Override - public Vec3d getHitVec(EntityPlayer player) { + public Vec3d getHitVec(PlayerEntity player) { return null; } } diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/NormalPlus.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/NormalPlus.java index 63ec7e5..3b2f4de 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/NormalPlus.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/NormalPlus.java @@ -1,7 +1,7 @@ package nl.requios.effortlessbuilding.buildmode.buildmodes; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.EnumFacing; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import nl.requios.effortlessbuilding.buildmode.IBuildMode; @@ -11,31 +11,31 @@ import java.util.List; public class NormalPlus implements IBuildMode { @Override - public void initialize(EntityPlayer player) { + public void initialize(PlayerEntity player) { } @Override - public List onRightClick(EntityPlayer player, BlockPos blockPos, EnumFacing sideHit, Vec3d hitVec, boolean skipRaytrace) { + public List onRightClick(PlayerEntity player, BlockPos blockPos, Direction sideHit, Vec3d hitVec, boolean skipRaytrace) { List list = new ArrayList<>(); if (blockPos != null) list.add(blockPos); return list; } @Override - public List findCoordinates(EntityPlayer player, BlockPos blockPos, boolean skipRaytrace) { + public List findCoordinates(PlayerEntity player, BlockPos blockPos, boolean skipRaytrace) { List list = new ArrayList<>(); if (blockPos != null) list.add(blockPos); return list; } @Override - public EnumFacing getSideHit(EntityPlayer player) { + public Direction getSideHit(PlayerEntity player) { return null; } @Override - public Vec3d getHitVec(EntityPlayer player) { + public Vec3d getHitVec(PlayerEntity player) { return null; } } diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/SlopeFloor.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/SlopeFloor.java index df7c78e..6d60b33 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/SlopeFloor.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/SlopeFloor.java @@ -1,6 +1,6 @@ package nl.requios.effortlessbuilding.buildmode.buildmodes; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.math.BlockPos; import nl.requios.effortlessbuilding.buildmode.ModeOptions; import nl.requios.effortlessbuilding.buildmode.ThreeClicksBuildMode; @@ -12,27 +12,27 @@ import java.util.List; public class SlopeFloor extends ThreeClicksBuildMode { @Override - protected BlockPos findSecondPos(EntityPlayer player, BlockPos firstPos, boolean skipRaytrace) { + protected BlockPos findSecondPos(PlayerEntity player, BlockPos firstPos, boolean skipRaytrace) { return Floor.findFloor(player, firstPos, skipRaytrace); } @Override - protected BlockPos findThirdPos(EntityPlayer player, BlockPos firstPos, BlockPos secondPos, boolean skipRaytrace) { + protected BlockPos findThirdPos(PlayerEntity player, BlockPos firstPos, BlockPos secondPos, boolean skipRaytrace) { return findHeight(player, secondPos, skipRaytrace); } @Override - protected List getIntermediateBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2) { + protected List getIntermediateBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2) { return Floor.getFloorBlocks(player, x1, y1, z1, x2, y2, z2); } @Override - protected List getFinalBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { + protected List getFinalBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { return getSlopeFloorBlocks(player, x1, y1, z1, x2, y2, z2, x3, y3, z3); } //Add slope floor from first to second - public static List getSlopeFloorBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { + public static List getSlopeFloorBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { List list = new ArrayList<>(); int axisLimit = ReachHelper.getMaxBlocksPerAxis(player); diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Sphere.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Sphere.java index 6deea57..8b13366 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Sphere.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Sphere.java @@ -1,6 +1,6 @@ package nl.requios.effortlessbuilding.buildmode.buildmodes; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; import nl.requios.effortlessbuilding.buildmode.ModeOptions; @@ -12,26 +12,26 @@ import java.util.List; public class Sphere extends ThreeClicksBuildMode { @Override - public BlockPos findSecondPos(EntityPlayer player, BlockPos firstPos, boolean skipRaytrace) { + public BlockPos findSecondPos(PlayerEntity player, BlockPos firstPos, boolean skipRaytrace) { return Floor.findFloor(player, firstPos, skipRaytrace); } @Override - public BlockPos findThirdPos(EntityPlayer player, BlockPos firstPos, BlockPos secondPos, boolean skipRaytrace) { + public BlockPos findThirdPos(PlayerEntity player, BlockPos firstPos, BlockPos secondPos, boolean skipRaytrace) { return findHeight(player, secondPos, skipRaytrace); } @Override - public List getIntermediateBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2) { + public List getIntermediateBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2) { return Circle.getCircleBlocks(player, x1, y1, z1, x2, y2, z2); } @Override - public List getFinalBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { + public List getFinalBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { return getSphereBlocks(player, x1, y1, z1, x2, y2, z2, x3, y3, z3); } - public static List getSphereBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { + public static List getSphereBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3) { List list = new ArrayList<>(); float centerX = x1; diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Wall.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Wall.java index 60da58b..37bcb27 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Wall.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/buildmodes/Wall.java @@ -1,6 +1,6 @@ package nl.requios.effortlessbuilding.buildmode.buildmodes; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import nl.requios.effortlessbuilding.buildmode.BuildModes; @@ -26,18 +26,18 @@ public class Wall extends TwoClicksBuildMode { //check if its not behind the player and its not too close and not too far //also check if raytrace from player to block does not intersect blocks - public boolean isValid(Vec3d start, Vec3d look, int reach, EntityPlayer player, boolean skipRaytrace) { + public boolean isValid(Vec3d start, Vec3d look, int reach, PlayerEntity player, boolean skipRaytrace) { return BuildModes.isCriteriaValid(start, look, reach, player, skipRaytrace, planeBound, planeBound, distToPlayerSq); } } @Override - protected BlockPos findSecondPos(EntityPlayer player, BlockPos firstPos, boolean skipRaytrace) { + protected BlockPos findSecondPos(PlayerEntity player, BlockPos firstPos, boolean skipRaytrace) { return findWall(player, firstPos, skipRaytrace); } - public static BlockPos findWall(EntityPlayer player, BlockPos firstPos, boolean skipRaytrace) { + public static BlockPos findWall(PlayerEntity player, BlockPos firstPos, boolean skipRaytrace) { Vec3d look = player.getLookVec(); Vec3d start = new Vec3d(player.posX, player.posY + player.getEyeHeight(), player.posZ); @@ -76,11 +76,11 @@ public class Wall extends TwoClicksBuildMode { } @Override - protected List getAllBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2) { + protected List getAllBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2) { return getWallBlocks(player, x1, y1, z1, x2, y2, z2); } - public static List getWallBlocks(EntityPlayer player, int x1, int y1, int z1, int x2, int y2, int z2) { + public static List getWallBlocks(PlayerEntity player, int x1, int y1, int z1, int x2, int y2, int z2) { List list = new ArrayList<>(); if (x1 == x2) { diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/Array.java b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/Array.java index 6f0cc37..d0ce13a 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/Array.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/Array.java @@ -1,10 +1,10 @@ package nl.requios.effortlessbuilding.buildmodifier; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.block.BlockState; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumHand; +import net.minecraft.util.Direction; +import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.Vec3i; @@ -18,7 +18,7 @@ public class Array { public static class ArraySettings{ public boolean enabled = false; - public BlockPos offset = BlockPos.ORIGIN; + public BlockPos offset = BlockPos.ZERO; public int count = 5; public ArraySettings() { @@ -41,7 +41,7 @@ public class Array { } } - public static List findCoordinates(EntityPlayer player, BlockPos startPos) { + public static List findCoordinates(PlayerEntity player, BlockPos startPos) { List coordinates = new ArrayList<>(); //find arraysettings for the player @@ -59,8 +59,8 @@ public class Array { return coordinates; } - public static List findBlockStates(EntityPlayer player, BlockPos startPos, IBlockState blockState, ItemStack itemStack, List itemStacks) { - List blockStates = new ArrayList<>(); + public static List findBlockStates(PlayerEntity player, BlockPos startPos, BlockState blockState, ItemStack itemStack, List itemStacks) { + List blockStates = new ArrayList<>(); //find arraysettings for the player that placed the block ArraySettings a = ModifierSettingsManager.getModifierSettings(player).getArraySettings(); @@ -82,7 +82,7 @@ public class Array { if (bagInventory != null) { itemStack = ItemRandomizerBag.pickRandomStack(bagInventory); blockState = BuildModifiers - .getBlockStateFromItem(itemStack, player, startPos, EnumFacing.UP, new Vec3d(0, 0, 0), EnumHand.MAIN_HAND); + .getBlockStateFromItem(itemStack, player, startPos, Direction.UP, new Vec3d(0, 0, 0), Hand.MAIN_HAND); } //blockState = blockState.getBlock().getStateForPlacement(player.world, pos, ) diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/BlockSet.java b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/BlockSet.java index ac7747c..a341610 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/BlockSet.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/BlockSet.java @@ -1,6 +1,6 @@ package nl.requios.effortlessbuilding.buildmodifier; -import net.minecraft.block.state.IBlockState; +import net.minecraft.block.BlockState; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; @@ -8,13 +8,13 @@ import java.util.List; public class BlockSet { private List coordinates; - private List previousBlockStates; - private List newBlockStates; + private List previousBlockStates; + private List newBlockStates; private Vec3d hitVec; private BlockPos firstPos; private BlockPos secondPos; - public BlockSet(List coordinates, List previousBlockStates, List newBlockStates, Vec3d hitVec, + public BlockSet(List coordinates, List previousBlockStates, List newBlockStates, Vec3d hitVec, BlockPos firstPos, BlockPos secondPos) { this.coordinates = coordinates; this.previousBlockStates = previousBlockStates; @@ -28,11 +28,11 @@ public class BlockSet { return coordinates; } - public List getPreviousBlockStates() { + public List getPreviousBlockStates() { return previousBlockStates; } - public List getNewBlockStates() { + public List getNewBlockStates() { return newBlockStates; } diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/BuildModifiers.java b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/BuildModifiers.java index 693a5a0..46a634f 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/BuildModifiers.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/BuildModifiers.java @@ -1,18 +1,19 @@ package nl.requios.effortlessbuilding.buildmodifier; import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; +import net.minecraft.block.BlockState; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.block.Blocks; +import net.minecraft.item.BlockItem; import net.minecraft.item.BlockItemUseContext; -import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumHand; +import net.minecraft.item.ItemUseContext; +import net.minecraft.util.Direction; +import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; -import nl.requios.effortlessbuilding.EffortlessBuilding; import nl.requios.effortlessbuilding.compatibility.CompatHelper; import nl.requios.effortlessbuilding.helper.InventoryHelper; import nl.requios.effortlessbuilding.helper.SurvivalHelper; @@ -24,7 +25,7 @@ import java.util.*; public class BuildModifiers { //Called from BuildModes - public static void onBlockPlaced(EntityPlayer player, List startCoordinates, EnumFacing sideHit, Vec3d hitVec, boolean placeStartPos) { + public static void onBlockPlaced(PlayerEntity player, List startCoordinates, Direction sideHit, Vec3d hitVec, boolean placeStartPos) { World world = player.world; ItemRandomizerBag.renewRandomness(); @@ -34,14 +35,14 @@ public class BuildModifiers { //find coordinates and blockstates List coordinates = findCoordinates(player, startCoordinates); List itemStacks = new ArrayList<>(); - List blockStates = findBlockStates(player, startCoordinates, hitVec, sideHit, itemStacks); + List blockStates = findBlockStates(player, startCoordinates, hitVec, sideHit, itemStacks); //check if valid blockstates if (blockStates.size() == 0 || coordinates.size() != blockStates.size()) return; //remember previous blockstates for undo - List previousBlockStates = new ArrayList<>(coordinates.size()); - List newBlockStates = new ArrayList<>(coordinates.size()); + List previousBlockStates = new ArrayList<>(coordinates.size()); + List newBlockStates = new ArrayList<>(coordinates.size()); for (BlockPos coordinate : coordinates) { previousBlockStates.add(world.getBlockState(coordinate)); } @@ -57,17 +58,17 @@ public class BuildModifiers { //place blocks for (int i = placeStartPos ? 0 : 1; i < coordinates.size(); i++) { BlockPos blockPos = coordinates.get(i); - IBlockState blockState = blockStates.get(i); + BlockState blockState = blockStates.get(i); ItemStack itemStack = itemStacks.get(i); - if (world.isBlockLoaded(blockPos, true)) { + if (world.isBlockPresent(blockPos)) { //check itemstack empty if (itemStack.isEmpty()) { //try to find new stack, otherwise continue itemStack = InventoryHelper.findItemStackInInventory(player, blockState.getBlock()); if (itemStack.isEmpty()) continue; } - SurvivalHelper.placeBlock(world, player, blockPos, blockState, itemStack, EnumFacing.UP, hitVec, false, false, false); + SurvivalHelper.placeBlock(world, player, blockPos, blockState, itemStack, Direction.UP, hitVec, false, false, false); } } @@ -91,7 +92,7 @@ public class BuildModifiers { } } - public static void onBlockBroken(EntityPlayer player, List startCoordinates, boolean breakStartPos) { + public static void onBlockBroken(PlayerEntity player, List startCoordinates, boolean breakStartPos) { World world = player.world; List coordinates = findCoordinates(player, startCoordinates); @@ -99,8 +100,8 @@ public class BuildModifiers { if (coordinates.isEmpty()) return; //remember previous blockstates for undo - List previousBlockStates = new ArrayList<>(coordinates.size()); - List newBlockStates = new ArrayList<>(coordinates.size()); + List previousBlockStates = new ArrayList<>(coordinates.size()); + List newBlockStates = new ArrayList<>(coordinates.size()); for (BlockPos coordinate : coordinates) { previousBlockStates.add(world.getBlockState(coordinate)); } @@ -122,7 +123,7 @@ public class BuildModifiers { //break all those blocks for (int i = breakStartPos ? 0 : 1; i < coordinates.size(); i++) { BlockPos coordinate = coordinates.get(i); - if (world.isBlockLoaded(coordinate, false)) { + if (world.isBlockPresent(coordinate) && !world.isAirBlock(coordinate)) { if (!onlyInstaBreaking || world.getBlockState(coordinate).getBlockHardness(world, coordinate) == 0f) { SurvivalHelper.breakBlock(world, player, coordinate, false); } @@ -147,7 +148,7 @@ public class BuildModifiers { } - public static List findCoordinates(EntityPlayer player, List posList) { + public static List findCoordinates(PlayerEntity player, List posList) { List coordinates = new ArrayList<>(); //Add current blocks being placed too coordinates.addAll(posList); @@ -168,18 +169,18 @@ public class BuildModifiers { return coordinates; } - public static List findCoordinates(EntityPlayer player, BlockPos blockPos) { + public static List findCoordinates(PlayerEntity player, BlockPos blockPos) { return findCoordinates(player, new ArrayList<>(Arrays.asList(blockPos))); } - public static List findBlockStates(EntityPlayer player, List posList, Vec3d hitVec, EnumFacing facing, List itemStacks) { - List blockStates = new ArrayList<>(); + public static List findBlockStates(PlayerEntity player, List posList, Vec3d hitVec, Direction facing, List itemStacks) { + List blockStates = new ArrayList<>(); itemStacks.clear(); //Get itemstack - ItemStack itemStack = player.getHeldItem(EnumHand.MAIN_HAND); + ItemStack itemStack = player.getHeldItem(Hand.MAIN_HAND); if (itemStack.isEmpty() || !CompatHelper.isItemBlockProxy(itemStack)) { - itemStack = player.getHeldItem(EnumHand.OFF_HAND); + itemStack = player.getHeldItem(Hand.OFF_HAND); } if (itemStack.isEmpty() || !CompatHelper.isItemBlockProxy(itemStack)) { return blockStates; @@ -187,22 +188,22 @@ public class BuildModifiers { //Get ItemBlock stack ItemStack itemBlock = ItemStack.EMPTY; - if (itemStack.getItem() instanceof ItemBlock) itemBlock = itemStack; + if (itemStack.getItem() instanceof BlockItem) itemBlock = itemStack; else itemBlock = CompatHelper.getItemBlockFromStack(itemStack); ItemRandomizerBag.resetRandomness(); //Add blocks in posList first for (BlockPos blockPos : posList) { - if (!(itemStack.getItem() instanceof ItemBlock)) itemBlock = CompatHelper.getItemBlockFromStack(itemStack); - IBlockState blockState = getBlockStateFromItem(itemBlock, player, blockPos, facing, hitVec, EnumHand.MAIN_HAND); + if (!(itemStack.getItem() instanceof BlockItem)) itemBlock = CompatHelper.getItemBlockFromStack(itemStack); + BlockState blockState = getBlockStateFromItem(itemBlock, player, blockPos, facing, hitVec, Hand.MAIN_HAND); blockStates.add(blockState); itemStacks.add(itemBlock); } for (BlockPos blockPos : posList) { - IBlockState blockState = getBlockStateFromItem(itemBlock, player, blockPos, facing, hitVec, EnumHand.MAIN_HAND); + BlockState blockState = getBlockStateFromItem(itemBlock, player, blockPos, facing, hitVec, Hand.MAIN_HAND); - List arrayBlockStates = Array.findBlockStates(player, blockPos, blockState, itemStack, itemStacks); + List arrayBlockStates = Array.findBlockStates(player, blockPos, blockState, itemStack, itemStacks); blockStates.addAll(arrayBlockStates); blockStates.addAll(Mirror.findBlockStates(player, blockPos, blockState, itemStack, itemStacks)); blockStates.addAll(RadialMirror.findBlockStates(player, blockPos, blockState, itemStack, itemStacks)); @@ -210,7 +211,7 @@ public class BuildModifiers { List arrayCoordinates = Array.findCoordinates(player, blockPos); for (int i = 0; i < arrayCoordinates.size(); i++) { BlockPos coordinate = arrayCoordinates.get(i); - IBlockState blockState1 = arrayBlockStates.get(i); + BlockState blockState1 = arrayBlockStates.get(i); blockStates.addAll(Mirror.findBlockStates(player, coordinate, blockState1, itemStack, itemStacks)); blockStates.addAll(RadialMirror.findBlockStates(player, coordinate, blockState1, itemStack, itemStacks)); } @@ -235,9 +236,8 @@ public class BuildModifiers { modifierSettings.doQuickReplace(); } - public static IBlockState getBlockStateFromItem(ItemStack itemStack, EntityPlayer player, BlockPos blockPos, EnumFacing facing, Vec3d hitVec, EnumHand hand) { - return Block.getBlockFromItem(itemStack.getItem()).getStateForPlacement(new BlockItemUseContext(player.world, player, itemStack, blockPos, facing, - ((float) hitVec.x), ((float) hitVec.y), ((float) hitVec.z))); + public static BlockState getBlockStateFromItem(ItemStack itemStack, PlayerEntity player, BlockPos blockPos, Direction facing, Vec3d hitVec, Hand hand) { + return Block.getBlockFromItem(itemStack.getItem()).getStateForPlacement(new BlockItemUseContext(new ItemUseContext(player, hand, new BlockRayTraceResult(hitVec, facing, blockPos, false)))); } //Returns true if equal (or both null) diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/Mirror.java b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/Mirror.java index 7b5c850..590a8a9 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/Mirror.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/Mirror.java @@ -1,16 +1,16 @@ package nl.requios.effortlessbuilding.buildmodifier; -import net.minecraft.block.BlockDirectional; -import net.minecraft.block.BlockDispenser; -import net.minecraft.block.BlockSlab; -import net.minecraft.block.BlockStairs; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.block.*; +import net.minecraft.block.StairsBlock; +import net.minecraft.block.DirectionalBlock; +import net.minecraft.block.SlabBlock; +import net.minecraft.block.BlockState; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.state.properties.Half; import net.minecraft.state.properties.SlabType; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumHand; +import net.minecraft.util.Direction; +import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraftforge.items.IItemHandler; @@ -47,7 +47,7 @@ public class Mirror { } } - public static List findCoordinates(EntityPlayer player, BlockPos startPos) { + public static List findCoordinates(PlayerEntity player, BlockPos startPos) { List coordinates = new ArrayList<>(); //find mirrorsettings for the player @@ -87,8 +87,8 @@ public class Mirror { coordinates.add(newBlockPos); } - public static List findBlockStates(EntityPlayer player, BlockPos startPos, IBlockState blockState, ItemStack itemStack, List itemStacks) { - List blockStates = new ArrayList<>(); + public static List findBlockStates(PlayerEntity player, BlockPos startPos, BlockState blockState, ItemStack itemStack, List itemStacks) { + List blockStates = new ArrayList<>(); //find mirrorsettings for the player MirrorSettings m = ModifierSettingsManager.getModifierSettings(player).getMirrorSettings(); @@ -100,15 +100,15 @@ public class Mirror { bagInventory = ItemRandomizerBag.getBagInventory(itemStack); } - if (m.mirrorX) blockStateMirrorX(player, m, startPos, blockState, bagInventory, itemStack, EnumHand.MAIN_HAND, blockStates, itemStacks); - if (m.mirrorY) blockStateMirrorY(player, m, startPos, blockState, bagInventory, itemStack, EnumHand.MAIN_HAND, blockStates, itemStacks); - if (m.mirrorZ) blockStateMirrorZ(player, m, startPos, blockState, bagInventory, itemStack, EnumHand.MAIN_HAND, blockStates, itemStacks); + if (m.mirrorX) blockStateMirrorX(player, m, startPos, blockState, bagInventory, itemStack, Hand.MAIN_HAND, blockStates, itemStacks); + if (m.mirrorY) blockStateMirrorY(player, m, startPos, blockState, bagInventory, itemStack, Hand.MAIN_HAND, blockStates, itemStacks); + if (m.mirrorZ) blockStateMirrorZ(player, m, startPos, blockState, bagInventory, itemStack, Hand.MAIN_HAND, blockStates, itemStacks); return blockStates; } - private static void blockStateMirrorX(EntityPlayer player, MirrorSettings m, BlockPos oldBlockPos, IBlockState oldBlockState, - IItemHandler bagInventory, ItemStack itemStack, EnumHand hand, List blockStates, List itemStacks) { + private static void blockStateMirrorX(PlayerEntity player, MirrorSettings m, BlockPos oldBlockPos, BlockState oldBlockState, + IItemHandler bagInventory, ItemStack itemStack, Hand hand, List blockStates, List itemStacks) { //find mirror position double x = m.position.x + (m.position.x - oldBlockPos.getX() - 0.5); BlockPos newBlockPos = new BlockPos(x, oldBlockPos.getY(), oldBlockPos.getZ()); @@ -116,11 +116,11 @@ public class Mirror { //Randomizer bag synergy if (bagInventory != null) { itemStack = ItemRandomizerBag.pickRandomStack(bagInventory); - oldBlockState = BuildModifiers.getBlockStateFromItem(itemStack, player, oldBlockPos, EnumFacing.UP, new Vec3d(0, 0, 0), hand); + oldBlockState = BuildModifiers.getBlockStateFromItem(itemStack, player, oldBlockPos, Direction.UP, new Vec3d(0, 0, 0), hand); } //Find blockstate - IBlockState newBlockState = oldBlockState == null ? null : oldBlockState.mirror(net.minecraft.util.Mirror.FRONT_BACK); + BlockState newBlockState = oldBlockState == null ? null : oldBlockState.mirror(net.minecraft.util.Mirror.FRONT_BACK); //Store blockstate and itemstack blockStates.add(newBlockState); @@ -130,8 +130,8 @@ public class Mirror { if (m.mirrorZ) blockStateMirrorZ(player, m, newBlockPos, newBlockState, bagInventory, itemStack, hand, blockStates, itemStacks); } - private static void blockStateMirrorY(EntityPlayer player, MirrorSettings m, BlockPos oldBlockPos, IBlockState oldBlockState, - IItemHandler bagInventory, ItemStack itemStack, EnumHand hand, List blockStates, List itemStacks) { + private static void blockStateMirrorY(PlayerEntity player, MirrorSettings m, BlockPos oldBlockPos, BlockState oldBlockState, + IItemHandler bagInventory, ItemStack itemStack, Hand hand, List blockStates, List itemStacks) { //find mirror position double y = m.position.y + (m.position.y - oldBlockPos.getY() - 0.5); BlockPos newBlockPos = new BlockPos(oldBlockPos.getX(), y, oldBlockPos.getZ()); @@ -139,11 +139,11 @@ public class Mirror { //Randomizer bag synergy if (bagInventory != null) { itemStack = ItemRandomizerBag.pickRandomStack(bagInventory); - oldBlockState = BuildModifiers.getBlockStateFromItem(itemStack, player, oldBlockPos, EnumFacing.UP, new Vec3d(0, 0, 0), hand); + oldBlockState = BuildModifiers.getBlockStateFromItem(itemStack, player, oldBlockPos, Direction.UP, new Vec3d(0, 0, 0), hand); } //Find blockstate - IBlockState newBlockState = oldBlockState == null ? null : getVerticalMirror(oldBlockState); + BlockState newBlockState = oldBlockState == null ? null : getVerticalMirror(oldBlockState); //Store blockstate and itemstack blockStates.add(newBlockState); @@ -152,8 +152,8 @@ public class Mirror { if (m.mirrorZ) blockStateMirrorZ(player, m, newBlockPos, newBlockState, bagInventory, itemStack, hand, blockStates, itemStacks); } - private static void blockStateMirrorZ(EntityPlayer player, MirrorSettings m, BlockPos oldBlockPos, IBlockState oldBlockState, - IItemHandler bagInventory, ItemStack itemStack, EnumHand hand, List blockStates, List itemStacks) { + private static void blockStateMirrorZ(PlayerEntity player, MirrorSettings m, BlockPos oldBlockPos, BlockState oldBlockState, + IItemHandler bagInventory, ItemStack itemStack, Hand hand, List blockStates, List itemStacks) { //find mirror position double z = m.position.z + (m.position.z - oldBlockPos.getZ() - 0.5); BlockPos newBlockPos = new BlockPos(oldBlockPos.getX(), oldBlockPos.getY(), z); @@ -161,11 +161,11 @@ public class Mirror { //Randomizer bag synergy if (bagInventory != null) { itemStack = ItemRandomizerBag.pickRandomStack(bagInventory); - oldBlockState = BuildModifiers.getBlockStateFromItem(itemStack, player, oldBlockPos, EnumFacing.UP, new Vec3d(0, 0, 0), hand); + oldBlockState = BuildModifiers.getBlockStateFromItem(itemStack, player, oldBlockPos, Direction.UP, new Vec3d(0, 0, 0), hand); } //Find blockstate - IBlockState newBlockState = oldBlockState == null ? null : oldBlockState.mirror(net.minecraft.util.Mirror.LEFT_RIGHT); + BlockState newBlockState = oldBlockState == null ? null : oldBlockState.mirror(net.minecraft.util.Mirror.LEFT_RIGHT); //Store blockstate and itemstack blockStates.add(newBlockState); @@ -184,42 +184,42 @@ public class Mirror { return true; } - private static IBlockState getVerticalMirror(IBlockState blockState) { + private static BlockState getVerticalMirror(BlockState blockState) { //Stairs - if (blockState.getBlock() instanceof BlockStairs) { - if (blockState.get(BlockStairs.HALF) == Half.BOTTOM) { - return blockState.with(BlockStairs.HALF, Half.TOP); + if (blockState.getBlock() instanceof StairsBlock) { + if (blockState.get(StairsBlock.HALF) == Half.BOTTOM) { + return blockState.with(StairsBlock.HALF, Half.TOP); } else { - return blockState.with(BlockStairs.HALF, Half.BOTTOM); + return blockState.with(StairsBlock.HALF, Half.BOTTOM); } } //Slabs - if (blockState.getBlock() instanceof BlockSlab) { - if (blockState.get(BlockSlab.TYPE) == SlabType.DOUBLE) { + if (blockState.getBlock() instanceof SlabBlock) { + if (blockState.get(SlabBlock.TYPE) == SlabType.DOUBLE) { return blockState; - } else if (blockState.get(BlockSlab.TYPE) == SlabType.BOTTOM) { - return blockState.with(BlockSlab.TYPE, SlabType.TOP); + } else if (blockState.get(SlabBlock.TYPE) == SlabType.BOTTOM) { + return blockState.with(SlabBlock.TYPE, SlabType.TOP); } else { - return blockState.with(BlockSlab.TYPE, SlabType.BOTTOM); + return blockState.with(SlabBlock.TYPE, SlabType.BOTTOM); } } //Buttons, endrod, observer, piston - if (blockState.getBlock() instanceof BlockDirectional) { - if (blockState.get(BlockDirectional.FACING) == EnumFacing.DOWN) { - return blockState.with(BlockDirectional.FACING, EnumFacing.UP); - } else if (blockState.get(BlockDirectional.FACING) == EnumFacing.UP) { - return blockState.with(BlockDirectional.FACING, EnumFacing.DOWN); + if (blockState.getBlock() instanceof DirectionalBlock) { + if (blockState.get(DirectionalBlock.FACING) == Direction.DOWN) { + return blockState.with(DirectionalBlock.FACING, Direction.UP); + } else if (blockState.get(DirectionalBlock.FACING) == Direction.UP) { + return blockState.with(DirectionalBlock.FACING, Direction.DOWN); } } //Dispenser, dropper - if (blockState.getBlock() instanceof BlockDispenser) { - if (blockState.get(BlockDispenser.FACING) == EnumFacing.DOWN) { - return blockState.with(BlockDispenser.FACING, EnumFacing.UP); - } else if (blockState.get(BlockDispenser.FACING) == EnumFacing.UP) { - return blockState.with(BlockDispenser.FACING, EnumFacing.DOWN); + if (blockState.getBlock() instanceof DispenserBlock) { + if (blockState.get(DispenserBlock.FACING) == Direction.DOWN) { + return blockState.with(DispenserBlock.FACING, Direction.UP); + } else if (blockState.get(DispenserBlock.FACING) == Direction.UP) { + return blockState.with(DispenserBlock.FACING, Direction.DOWN); } } diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/ModifierSettingsManager.java b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/ModifierSettingsManager.java index 690f6b9..e24e8b3 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/ModifierSettingsManager.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/ModifierSettingsManager.java @@ -1,7 +1,7 @@ package nl.requios.effortlessbuilding.buildmodifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.network.PacketDistributor; @@ -13,8 +13,6 @@ import nl.requios.effortlessbuilding.network.ModifierSettingsMessage; import nl.requios.effortlessbuilding.network.PacketHandler; import javax.annotation.Nonnull; -import java.util.HashMap; -import java.util.UUID; @Mod.EventBusSubscriber public class ModifierSettingsManager { @@ -22,7 +20,7 @@ public class ModifierSettingsManager { //Retrieves the buildsettings of a player through the modifierCapability capability //Never returns null @Nonnull - public static ModifierSettings getModifierSettings(EntityPlayer player){ + public static ModifierSettings getModifierSettings(PlayerEntity player){ LazyOptional modifierCapability = player.getCapability(ModifierCapabilityManager.modifierCapability, null); @@ -40,7 +38,7 @@ public class ModifierSettingsManager { // throw new IllegalArgumentException("Player does not have modifierCapability capability"); } - public static void setModifierSettings(EntityPlayer player, ModifierSettings modifierSettings) { + public static void setModifierSettings(PlayerEntity player, ModifierSettings modifierSettings) { if (player == null) { EffortlessBuilding.log("Cannot set buildsettings, player is null"); return; @@ -58,7 +56,7 @@ public class ModifierSettingsManager { } } - public static String sanitize(ModifierSettings modifierSettings, EntityPlayer player) { + public static String sanitize(ModifierSettings modifierSettings, PlayerEntity player) { int maxReach = ReachHelper.getMaxReach(player); String error = ""; @@ -194,7 +192,7 @@ public class ModifierSettingsManager { } } - public static void handleNewPlayer(EntityPlayer player){ + public static void handleNewPlayer(PlayerEntity player){ //Makes sure player has modifier settings (if it doesnt it will create it) getModifierSettings(player); @@ -202,7 +200,7 @@ public class ModifierSettingsManager { if (!player.world.isRemote) { //Send to client ModifierSettingsMessage msg = new ModifierSettingsMessage(getModifierSettings(player)); - PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> (EntityPlayerMP) player), msg); + PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), msg); } } } diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/RadialMirror.java b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/RadialMirror.java index a57e8f1..ee81f9b 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/RadialMirror.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/RadialMirror.java @@ -1,10 +1,10 @@ package nl.requios.effortlessbuilding.buildmodifier; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.block.BlockState; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumHand; +import net.minecraft.util.Direction; +import net.minecraft.util.Hand; import net.minecraft.util.Mirror; import net.minecraft.util.Rotation; import net.minecraft.util.math.BlockPos; @@ -44,7 +44,7 @@ public class RadialMirror { } } - public static List findCoordinates(EntityPlayer player, BlockPos startPos) { + public static List findCoordinates(PlayerEntity player, BlockPos startPos) { List coordinates = new ArrayList<>(); //find radial mirror settings for the player @@ -77,8 +77,8 @@ public class RadialMirror { return coordinates; } - public static List findBlockStates(EntityPlayer player, BlockPos startPos, IBlockState blockState, ItemStack itemStack, List itemStacks) { - List blockStates = new ArrayList<>(); + public static List findBlockStates(PlayerEntity player, BlockPos startPos, BlockState blockState, ItemStack itemStack, List itemStacks) { + List blockStates = new ArrayList<>(); List coordinates = new ArrayList<>(); //to keep track of duplicates //find radial mirror settings for the player that placed the block @@ -105,7 +105,7 @@ public class RadialMirror { bagInventory = ItemRandomizerBag.getBagInventory(itemStack); } - IBlockState newBlockState; + BlockState newBlockState; for (int i = 1; i < r.slices; i++) { newBlockState = blockState; double curAngle = sliceAngle * i; @@ -124,7 +124,7 @@ public class RadialMirror { if (bagInventory != null) { itemStack = ItemRandomizerBag.pickRandomStack(bagInventory); newBlockState = BuildModifiers - .getBlockStateFromItem(itemStack, player, startPos, EnumFacing.UP, new Vec3d(0, 0, 0), EnumHand.MAIN_HAND); + .getBlockStateFromItem(itemStack, player, startPos, Direction.UP, new Vec3d(0, 0, 0), Hand.MAIN_HAND); newBlockState = rotateOriginalBlockState(startAngleToCenter, newBlockState); } @@ -139,8 +139,8 @@ public class RadialMirror { return blockStates; } - private static IBlockState rotateOriginalBlockState(double startAngleToCenter, IBlockState blockState) { - IBlockState newBlockState = blockState; + private static BlockState rotateOriginalBlockState(double startAngleToCenter, BlockState blockState) { + BlockState newBlockState = blockState; if (startAngleToCenter < -0.751 * Math.PI || startAngleToCenter > 0.749 * Math.PI) { newBlockState = blockState.rotate(Rotation.CLOCKWISE_180); @@ -153,8 +153,8 @@ public class RadialMirror { return newBlockState; } - private static IBlockState rotateBlockState(Vec3d relVec, IBlockState blockState, boolean alternate) { - IBlockState newBlockState; + private static BlockState rotateBlockState(Vec3d relVec, BlockState blockState, boolean alternate) { + BlockState newBlockState; double angleToCenter = MathHelper.atan2(relVec.x, relVec.z); //between -PI and PI if (angleToCenter < -0.751 * Math.PI || angleToCenter > 0.749 * Math.PI) { diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/UndoRedo.java b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/UndoRedo.java index f68c7b3..b91880d 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/UndoRedo.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/UndoRedo.java @@ -1,15 +1,17 @@ package nl.requios.effortlessbuilding.buildmodifier; import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.BlockItem; import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; +import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; +import net.minecraft.world.server.ServerWorld; +import net.minecraft.world.storage.loot.LootContext; import nl.requios.effortlessbuilding.BuildConfig; import nl.requios.effortlessbuilding.EffortlessBuilding; import nl.requios.effortlessbuilding.helper.FixedStack; @@ -29,7 +31,7 @@ public class UndoRedo { private static Map> redoStacksServer = new HashMap<>(); //add to undo stack - public static void addUndo(EntityPlayer player, BlockSet blockSet) { + public static void addUndo(PlayerEntity player, BlockSet blockSet) { Map> undoStacks = player.world.isRemote ? undoStacksClient : undoStacksServer; //Assert coordinates is as long as previous and new blockstate lists @@ -56,7 +58,7 @@ public class UndoRedo { undoStacks.get(player.getUniqueID()).push(blockSet); } - private static void addRedo(EntityPlayer player, BlockSet blockSet) { + private static void addRedo(PlayerEntity player, BlockSet blockSet) { Map> redoStacks = player.world.isRemote ? redoStacksClient : redoStacksServer; //(No asserts necessary, it's private) @@ -69,7 +71,7 @@ public class UndoRedo { redoStacks.get(player.getUniqueID()).push(blockSet); } - public static boolean undo(EntityPlayer player) { + public static boolean undo(PlayerEntity player) { Map> undoStacks = player.world.isRemote ? undoStacksClient : undoStacksServer; if (!undoStacks.containsKey(player.getUniqueID())) return false; @@ -80,8 +82,8 @@ public class UndoRedo { BlockSet blockSet = undoStack.pop(); List coordinates = blockSet.getCoordinates(); - List previousBlockStates = blockSet.getPreviousBlockStates(); - List newBlockStates = blockSet.getNewBlockStates(); + List previousBlockStates = blockSet.getPreviousBlockStates(); + List newBlockStates = blockSet.getNewBlockStates(); Vec3d hitVec = blockSet.getHitVec(); //Find up to date itemstacks in player inventory @@ -98,17 +100,17 @@ public class UndoRedo { if (previousBlockStates.get(i).equals(newBlockStates.get(i))) continue; //get blockstate from itemstack - IBlockState previousBlockState = Blocks.AIR.getDefaultState(); - if (itemStack.getItem() instanceof ItemBlock) { + BlockState previousBlockState = Blocks.AIR.getDefaultState(); + if (itemStack.getItem() instanceof BlockItem) { previousBlockState = previousBlockStates.get(i);//((ItemBlock) itemStack.getItem()).getBlock().getDefaultState(); } - if (player.world.isBlockLoaded(coordinate, true)) { + if (player.world.isBlockPresent(coordinate)) { //check itemstack empty if (itemStack.isEmpty()) { itemStack = findItemStackInInventory(player, previousBlockStates.get(i)); //get blockstate from new itemstack - if (!itemStack.isEmpty() && itemStack.getItem() instanceof ItemBlock) { + if (!itemStack.isEmpty() && itemStack.getItem() instanceof BlockItem) { previousBlockState = previousBlockStates.get(i);//((ItemBlock) itemStack.getItem()).getBlock().getDefaultState(); } else { previousBlockState = Blocks.AIR.getDefaultState(); @@ -116,7 +118,7 @@ public class UndoRedo { } if (itemStack.isEmpty()) SurvivalHelper.breakBlock(player.world, player, coordinate, true); //if previousBlockState is air, placeBlock will set it to air - SurvivalHelper.placeBlock(player.world, player, coordinate, previousBlockState, itemStack, EnumFacing.UP, hitVec, true, false, false); + SurvivalHelper.placeBlock(player.world, player, coordinate, previousBlockState, itemStack, Direction.UP, hitVec, true, false, false); } } } @@ -127,7 +129,7 @@ public class UndoRedo { return true; } - public static boolean redo(EntityPlayer player) { + public static boolean redo(PlayerEntity player) { Map> redoStacks = player.world.isRemote ? redoStacksClient : redoStacksServer; if (!redoStacks.containsKey(player.getUniqueID())) return false; @@ -138,8 +140,8 @@ public class UndoRedo { BlockSet blockSet = redoStack.pop(); List coordinates = blockSet.getCoordinates(); - List previousBlockStates = blockSet.getPreviousBlockStates(); - List newBlockStates = blockSet.getNewBlockStates(); + List previousBlockStates = blockSet.getPreviousBlockStates(); + List newBlockStates = blockSet.getNewBlockStates(); Vec3d hitVec = blockSet.getHitVec(); //Find up to date itemstacks in player inventory @@ -156,24 +158,24 @@ public class UndoRedo { if (previousBlockStates.get(i).equals(newBlockStates.get(i))) continue; //get blockstate from itemstack - IBlockState newBlockState = Blocks.AIR.getDefaultState(); - if (itemStack.getItem() instanceof ItemBlock) { + BlockState newBlockState = Blocks.AIR.getDefaultState(); + if (itemStack.getItem() instanceof BlockItem) { newBlockState = newBlockStates.get(i);//((ItemBlock) itemStack.getItem()).getBlock().getDefaultState(); } - if (player.world.isBlockLoaded(coordinate, true)) { + if (player.world.isBlockPresent(coordinate)) { //check itemstack empty if (itemStack.isEmpty()) { itemStack = findItemStackInInventory(player, newBlockStates.get(i)); //get blockstate from new itemstack - if (!itemStack.isEmpty() && itemStack.getItem() instanceof ItemBlock) { + if (!itemStack.isEmpty() && itemStack.getItem() instanceof BlockItem) { newBlockState = newBlockStates.get(i);//((ItemBlock) itemStack.getItem()).getBlock().getDefaultState(); } else { newBlockState = Blocks.AIR.getDefaultState(); } } if (itemStack.isEmpty()) SurvivalHelper.breakBlock(player.world, player, coordinate, true); - SurvivalHelper.placeBlock(player.world, player, coordinate, newBlockState, itemStack, EnumFacing.UP, hitVec, true, false, false); + SurvivalHelper.placeBlock(player.world, player, coordinate, newBlockState, itemStack, Direction.UP, hitVec, true, false, false); } } } @@ -184,7 +186,7 @@ public class UndoRedo { return true; } - public static void clear(EntityPlayer player) { + public static void clear(PlayerEntity player) { Map> undoStacks = player.world.isRemote ? undoStacksClient : undoStacksServer; Map> redoStacks = player.world.isRemote ? redoStacksClient : redoStacksServer; if (undoStacks.containsKey(player.getUniqueID())) { @@ -195,15 +197,15 @@ public class UndoRedo { } } - private static List findItemStacksInInventory(EntityPlayer player, List blockStates) { + private static List findItemStacksInInventory(PlayerEntity player, List blockStates) { List itemStacks = new ArrayList<>(blockStates.size()); - for (IBlockState blockState : blockStates) { + for (BlockState blockState : blockStates) { itemStacks.add(findItemStackInInventory(player, blockState)); } return itemStacks; } - private static ItemStack findItemStackInInventory(EntityPlayer player, IBlockState blockState) { + private static ItemStack findItemStackInInventory(PlayerEntity player, BlockState blockState) { ItemStack itemStack = ItemStack.EMPTY; //First try previousBlockStates @@ -213,10 +215,12 @@ public class UndoRedo { //then anything it drops if (itemStack.isEmpty()) { - Item itemDropped = blockState.getBlock().getItemDropped(blockState, player.world, BlockPos.ORIGIN, 10).asItem(); - if (itemDropped instanceof ItemBlock) { - Block block = ((ItemBlock) itemDropped).getBlock(); - itemStack = InventoryHelper.findItemStackInInventory(player, block); + List itemsDropped = blockState.getDrops(new LootContext.Builder((ServerWorld) player.world)); + for (ItemStack itemStackDropped : itemsDropped) { + if (itemStackDropped.getItem() instanceof BlockItem) { + Block block = ((BlockItem) itemStackDropped.getItem()).getBlock(); + itemStack = InventoryHelper.findItemStackInInventory(player, block); + } } } diff --git a/src/main/java/nl/requios/effortlessbuilding/capability/ItemHandlerCapabilityProvider.java b/src/main/java/nl/requios/effortlessbuilding/capability/ItemHandlerCapabilityProvider.java index f2d1648..ced8acc 100644 --- a/src/main/java/nl/requios/effortlessbuilding/capability/ItemHandlerCapabilityProvider.java +++ b/src/main/java/nl/requios/effortlessbuilding/capability/ItemHandlerCapabilityProvider.java @@ -1,9 +1,8 @@ package nl.requios.effortlessbuilding.capability; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumFacing; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.util.Direction; import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.CapabilityInject; import net.minecraftforge.common.capabilities.ICapabilitySerializable; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.CapabilityItemHandler; @@ -14,22 +13,22 @@ import nl.requios.effortlessbuilding.item.ItemRandomizerBag; import javax.annotation.Nonnull; import javax.annotation.Nullable; -public class ItemHandlerCapabilityProvider implements ICapabilitySerializable { +public class ItemHandlerCapabilityProvider implements ICapabilitySerializable { IItemHandler itemHandler = new ItemStackHandler(ItemRandomizerBag.INV_SIZE); @Nonnull @Override - public LazyOptional getCapability(@Nonnull Capability cap, @Nullable EnumFacing side) { + public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.orEmpty(cap, LazyOptional.of(() -> itemHandler)); } @Override - public NBTTagCompound serializeNBT() { + public CompoundNBT serializeNBT() { return ((ItemStackHandler) itemHandler).serializeNBT(); } @Override - public void deserializeNBT(NBTTagCompound nbt) { + public void deserializeNBT(CompoundNBT nbt) { ((ItemStackHandler) itemHandler).deserializeNBT(nbt); } } diff --git a/src/main/java/nl/requios/effortlessbuilding/capability/ModeCapabilityManager.java b/src/main/java/nl/requios/effortlessbuilding/capability/ModeCapabilityManager.java index 8999520..c4188f3 100644 --- a/src/main/java/nl/requios/effortlessbuilding/capability/ModeCapabilityManager.java +++ b/src/main/java/nl/requios/effortlessbuilding/capability/ModeCapabilityManager.java @@ -1,8 +1,8 @@ package nl.requios.effortlessbuilding.capability; -import net.minecraft.nbt.INBTBase; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumFacing; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.nbt.INBT; +import net.minecraft.util.Direction; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.CapabilityInject; import net.minecraftforge.common.capabilities.ICapabilitySerializable; @@ -45,12 +45,12 @@ public class ModeCapabilityManager { public static class Storage implements Capability.IStorage { @Override - public INBTBase writeNBT(Capability capability, IModeCapability instance, EnumFacing side) { - NBTTagCompound compound = new NBTTagCompound(); + public INBT writeNBT(Capability capability, IModeCapability instance, Direction side) { + CompoundNBT compound = new CompoundNBT(); ModeSettings modeSettings = instance.getModeData(); if (modeSettings == null) modeSettings = new ModeSettings(); - //compound.setInteger("buildMode", modeSettings.getBuildMode().ordinal()); + //compound.putInteger("buildMode", modeSettings.getBuildMode().ordinal()); //TODO add mode settings @@ -58,8 +58,8 @@ public class ModeCapabilityManager { } @Override - public void readNBT(Capability capability, IModeCapability instance, EnumFacing side, INBTBase nbt) { - NBTTagCompound compound = (NBTTagCompound) nbt; + public void readNBT(Capability capability, IModeCapability instance, Direction side, INBT nbt) { + CompoundNBT compound = (CompoundNBT) nbt; //BuildModes.BuildModeEnum buildMode = BuildModes.BuildModeEnum.values()[compound.getInteger("buildMode")]; @@ -70,22 +70,22 @@ public class ModeCapabilityManager { } } - public static class Provider implements ICapabilitySerializable { + public static class Provider implements ICapabilitySerializable { IModeCapability inst = modeCapability.getDefaultInstance(); @Nonnull @Override - public LazyOptional getCapability(@Nonnull Capability cap, @Nullable EnumFacing side) { + public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { return modeCapability.orEmpty(cap, LazyOptional.of(() -> inst)); } @Override - public INBTBase serializeNBT() { + public INBT serializeNBT() { return modeCapability.getStorage().writeNBT(modeCapability, inst, null); } @Override - public void deserializeNBT(INBTBase nbt) { + public void deserializeNBT(INBT nbt) { modeCapability.getStorage().readNBT(modeCapability, inst, null, nbt); } diff --git a/src/main/java/nl/requios/effortlessbuilding/capability/ModifierCapabilityManager.java b/src/main/java/nl/requios/effortlessbuilding/capability/ModifierCapabilityManager.java index 0405c05..b855b5a 100644 --- a/src/main/java/nl/requios/effortlessbuilding/capability/ModifierCapabilityManager.java +++ b/src/main/java/nl/requios/effortlessbuilding/capability/ModifierCapabilityManager.java @@ -1,8 +1,8 @@ package nl.requios.effortlessbuilding.capability; -import net.minecraft.nbt.INBTBase; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumFacing; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.nbt.INBT; +import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraftforge.common.capabilities.Capability; @@ -12,7 +12,6 @@ import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; -import nl.requios.effortlessbuilding.EffortlessBuilding; import nl.requios.effortlessbuilding.buildmodifier.Array; import nl.requios.effortlessbuilding.buildmodifier.Mirror; import nl.requios.effortlessbuilding.buildmodifier.RadialMirror; @@ -20,8 +19,6 @@ import nl.requios.effortlessbuilding.buildmodifier.RadialMirror; import javax.annotation.Nonnull; import javax.annotation.Nullable; -import java.util.concurrent.Callable; - import static nl.requios.effortlessbuilding.buildmodifier.ModifierSettingsManager.*; @Mod.EventBusSubscriber @@ -52,57 +49,57 @@ public class ModifierCapabilityManager { public static class Storage implements Capability.IStorage { @Override - public INBTBase writeNBT(Capability capability, IModifierCapability instance, EnumFacing side) { - NBTTagCompound compound = new NBTTagCompound(); + public INBT writeNBT(Capability capability, IModifierCapability instance, Direction side) { + CompoundNBT compound = new CompoundNBT(); ModifierSettings modifierSettings = instance.getModifierData(); if (modifierSettings == null) modifierSettings = new ModifierSettings(); //MIRROR Mirror.MirrorSettings m = modifierSettings.getMirrorSettings(); if (m == null) m = new Mirror.MirrorSettings(); - compound.setBoolean("mirrorEnabled", m.enabled); - compound.setDouble("mirrorPosX", m.position.x); - compound.setDouble("mirrorPosY", m.position.y); - compound.setDouble("mirrorPosZ", m.position.z); - compound.setBoolean("mirrorX", m.mirrorX); - compound.setBoolean("mirrorY", m.mirrorY); - compound.setBoolean("mirrorZ", m.mirrorZ); - compound.setInt("mirrorRadius", m.radius); - compound.setBoolean("mirrorDrawLines", m.drawLines); - compound.setBoolean("mirrorDrawPlanes", m.drawPlanes); + compound.putBoolean("mirrorEnabled", m.enabled); + compound.putDouble("mirrorPosX", m.position.x); + compound.putDouble("mirrorPosY", m.position.y); + compound.putDouble("mirrorPosZ", m.position.z); + compound.putBoolean("mirrorX", m.mirrorX); + compound.putBoolean("mirrorY", m.mirrorY); + compound.putBoolean("mirrorZ", m.mirrorZ); + compound.putInt("mirrorRadius", m.radius); + compound.putBoolean("mirrorDrawLines", m.drawLines); + compound.putBoolean("mirrorDrawPlanes", m.drawPlanes); //ARRAY Array.ArraySettings a = modifierSettings.getArraySettings(); if (a == null) a = new Array.ArraySettings(); - compound.setBoolean("arrayEnabled", a.enabled); - compound.setInt("arrayOffsetX", a.offset.getX()); - compound.setInt("arrayOffsetY", a.offset.getY()); - compound.setInt("arrayOffsetZ", a.offset.getZ()); - compound.setInt("arrayCount", a.count); + compound.putBoolean("arrayEnabled", a.enabled); + compound.putInt("arrayOffsetX", a.offset.getX()); + compound.putInt("arrayOffsetY", a.offset.getY()); + compound.putInt("arrayOffsetZ", a.offset.getZ()); + compound.putInt("arrayCount", a.count); - compound.setInt("reachUpgrade", modifierSettings.getReachUpgrade()); + compound.putInt("reachUpgrade", modifierSettings.getReachUpgrade()); - //compound.setBoolean("quickReplace", buildSettings.doQuickReplace()); dont save quickreplace + //compound.putBoolean("quickReplace", buildSettings.doQuickReplace()); dont save quickreplace //RADIAL MIRROR RadialMirror.RadialMirrorSettings r = modifierSettings.getRadialMirrorSettings(); if (r == null) r = new RadialMirror.RadialMirrorSettings(); - compound.setBoolean("radialMirrorEnabled", r.enabled); - compound.setDouble("radialMirrorPosX", r.position.x); - compound.setDouble("radialMirrorPosY", r.position.y); - compound.setDouble("radialMirrorPosZ", r.position.z); - compound.setInt("radialMirrorSlices", r.slices); - compound.setBoolean("radialMirrorAlternate", r.alternate); - compound.setInt("radialMirrorRadius", r.radius); - compound.setBoolean("radialMirrorDrawLines", r.drawLines); - compound.setBoolean("radialMirrorDrawPlanes", r.drawPlanes); + compound.putBoolean("radialMirrorEnabled", r.enabled); + compound.putDouble("radialMirrorPosX", r.position.x); + compound.putDouble("radialMirrorPosY", r.position.y); + compound.putDouble("radialMirrorPosZ", r.position.z); + compound.putInt("radialMirrorSlices", r.slices); + compound.putBoolean("radialMirrorAlternate", r.alternate); + compound.putInt("radialMirrorRadius", r.radius); + compound.putBoolean("radialMirrorDrawLines", r.drawLines); + compound.putBoolean("radialMirrorDrawPlanes", r.drawPlanes); return compound; } @Override - public void readNBT(Capability capability, IModifierCapability instance, EnumFacing side, INBTBase nbt) { - NBTTagCompound compound = (NBTTagCompound) nbt; + public void readNBT(Capability capability, IModifierCapability instance, Direction side, INBT nbt) { + CompoundNBT compound = (CompoundNBT) nbt; //MIRROR boolean mirrorEnabled = compound.getBoolean("mirrorEnabled"); @@ -150,23 +147,23 @@ public class ModifierCapabilityManager { } } - public static class Provider implements ICapabilitySerializable { + public static class Provider implements ICapabilitySerializable { IModifierCapability inst = modifierCapability.getDefaultInstance(); @Nonnull @Override - public LazyOptional getCapability(@Nonnull Capability cap, @Nullable EnumFacing side) { + public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { return modifierCapability.orEmpty(cap, LazyOptional.of(() -> inst)); } @Override - public INBTBase serializeNBT() { + public INBT serializeNBT() { return modifierCapability.getStorage().writeNBT(modifierCapability, inst, null); } @Override - public void deserializeNBT(INBTBase nbt) { + public void deserializeNBT(INBT nbt) { modifierCapability.getStorage().readNBT(modifierCapability, inst, null, nbt); } diff --git a/src/main/java/nl/requios/effortlessbuilding/command/CommandReach.java b/src/main/java/nl/requios/effortlessbuilding/command/CommandReach.java index 284f745..74ac3e0 100644 --- a/src/main/java/nl/requios/effortlessbuilding/command/CommandReach.java +++ b/src/main/java/nl/requios/effortlessbuilding/command/CommandReach.java @@ -4,14 +4,13 @@ import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.arguments.IntegerArgumentType; import net.minecraft.command.CommandSource; import net.minecraft.command.Commands; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.util.text.TextComponentString; +import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.util.text.StringTextComponent; import net.minecraftforge.fml.network.PacketDistributor; import nl.requios.effortlessbuilding.EffortlessBuilding; import nl.requios.effortlessbuilding.buildmodifier.ModifierSettingsManager; import nl.requios.effortlessbuilding.network.ModifierSettingsMessage; import nl.requios.effortlessbuilding.network.PacketHandler; -import nl.requios.effortlessbuilding.network.RequestLookAtMessage; public class CommandReach { @@ -23,19 +22,19 @@ public class CommandReach { })))); } - private static int setReachLevel(EntityPlayerMP player, int level){ + private static int setReachLevel(ServerPlayerEntity player, int level){ ModifierSettingsManager.ModifierSettings modifierSettings = ModifierSettingsManager.getModifierSettings(player); modifierSettings.setReachUpgrade(level); ModifierSettingsManager.setModifierSettings(player, modifierSettings); //Send to client PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), new ModifierSettingsMessage(modifierSettings)); - player.sendMessage(new TextComponentString("Reach level of " + player.getName().getString() + " set to " + modifierSettings.getReachUpgrade())); + player.sendMessage(new StringTextComponent("Reach level of " + player.getName().getString() + " set to " + modifierSettings.getReachUpgrade())); return 1; } - private static int getReachLevel(EntityPlayerMP player){ + private static int getReachLevel(ServerPlayerEntity player){ int reachUpgrade = ModifierSettingsManager.getModifierSettings(player).getReachUpgrade(); EffortlessBuilding.log(player, "Current reach: level "+reachUpgrade); diff --git a/src/main/java/nl/requios/effortlessbuilding/compatibility/CompatHelper.java b/src/main/java/nl/requios/effortlessbuilding/compatibility/CompatHelper.java index 99c93ca..1f6efe6 100644 --- a/src/main/java/nl/requios/effortlessbuilding/compatibility/CompatHelper.java +++ b/src/main/java/nl/requios/effortlessbuilding/compatibility/CompatHelper.java @@ -1,11 +1,10 @@ package nl.requios.effortlessbuilding.compatibility; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.block.BlockState; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.BlockItem; import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumHand; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; @@ -39,7 +38,7 @@ public class CompatHelper { // /dank/null, or plain old blocks. public static boolean isItemBlockProxy(ItemStack stack) { Item item = stack.getItem(); - if (item instanceof ItemBlock) + if (item instanceof BlockItem) return true; if ((item instanceof ItemRandomizerBag)) return true; @@ -54,13 +53,13 @@ public class CompatHelper { public static ItemStack getItemBlockFromStack(ItemStack proxy) { Item proxyItem = proxy.getItem(); - if (proxyItem instanceof ItemBlock) + if (proxyItem instanceof BlockItem) return proxy; //Randomizer Bag if (proxyItem instanceof ItemRandomizerBag) { ItemStack itemStack = proxy; - while (!(itemStack.getItem() instanceof ItemBlock || itemStack.isEmpty())) { + while (!(itemStack.getItem() instanceof BlockItem || itemStack.isEmpty())) { if (itemStack.getItem() instanceof ItemRandomizerBag) itemStack = ItemRandomizerBag.pickRandomStack(ItemRandomizerBag.getBagInventory(itemStack)); } @@ -79,11 +78,11 @@ public class CompatHelper { return ItemStack.EMPTY; } - public static ItemStack getItemBlockByState(ItemStack stack, IBlockState state) { + public static ItemStack getItemBlockByState(ItemStack stack, BlockState state) { if (state == null) return ItemStack.EMPTY; Item blockItem = Item.getItemFromBlock(state.getBlock()); - if (stack.getItem() instanceof ItemBlock) + if (stack.getItem() instanceof BlockItem) return stack; else if (stack.getItem() instanceof ItemRandomizerBag) { IItemHandler bagInventory = ItemRandomizerBag.getBagInventory(stack); @@ -100,7 +99,7 @@ public class CompatHelper { // Handle IItemHandler slot stacks not being modifiable. We must call IItemHandler#extractItem, // because the ItemStack returned by IItemHandler#getStackInSlot isn't modifiable. - public static void shrinkStack(ItemStack origStack, ItemStack curStack, EntityPlayer player) { + public static void shrinkStack(ItemStack origStack, ItemStack curStack, PlayerEntity player) { //TODO 1.13 compatibility, offhand support //Hacky way to get the origstack, because given origStack is itemblock stack and never proxy // origStack = player.getHeldItem(EnumHand.MAIN_HAND); @@ -123,7 +122,7 @@ public class CompatHelper { for (int i = 0; i < handler.getSlots(); i++) { ItemStack ref = handler.getStackInSlot(i); - if (ref.getItem() instanceof ItemBlock) + if (ref.getItem() instanceof BlockItem) if (ref.getItem() == blockItem) return i; } diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagContainer.java b/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagContainer.java index 4c82643..ce7c8e6 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagContainer.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagContainer.java @@ -1,12 +1,12 @@ package nl.requios.effortlessbuilding.gui; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.ClickType; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.Slot; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.entity.player.PlayerInventory; +import net.minecraft.inventory.container.ClickType; +import net.minecraft.inventory.container.Container; +import net.minecraft.inventory.container.Slot; import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumHand; +import net.minecraft.util.Hand; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.SlotItemHandler; import nl.requios.effortlessbuilding.item.ItemRandomizerBag; @@ -19,7 +19,7 @@ public class RandomizerBagContainer extends Container { private static final int INV_START = ItemRandomizerBag.INV_SIZE, INV_END = INV_START + 26, HOTBAR_START = INV_END + 1, HOTBAR_END = HOTBAR_START + 8; - public RandomizerBagContainer(InventoryPlayer parInventoryPlayer, IItemHandler parIInventory) { + public RandomizerBagContainer(PlayerInventory parInventoryPlayer, IItemHandler parIInventory) { bagInventory = parIInventory; sizeInventory = bagInventory.getSlots(); for (int i = 0; i < sizeInventory; ++i) { @@ -41,7 +41,7 @@ public class RandomizerBagContainer extends Container { } @Override - public boolean canInteractWith(EntityPlayer playerIn) { + public boolean canInteractWith(PlayerEntity playerIn) { return true; } @@ -54,7 +54,7 @@ public class RandomizerBagContainer extends Container { } @Override - public ItemStack transferStackInSlot(EntityPlayer playerIn, int slotIndex) { + public ItemStack transferStackInSlot(PlayerEntity playerIn, int slotIndex) { ItemStack itemstack = ItemStack.EMPTY; Slot slot = this.inventorySlots.get(slotIndex); @@ -107,9 +107,9 @@ public class RandomizerBagContainer extends Container { * be able to save properly */ @Override - public ItemStack slotClick(int slot, int dragType, ClickType clickTypeIn, EntityPlayer player) { + public ItemStack slotClick(int slot, int dragType, ClickType clickTypeIn, PlayerEntity player) { // this will prevent the player from interacting with the item that opened the inventory: - if (slot >= 0 && getSlot(slot) != null && getSlot(slot).getStack().equals(player.getHeldItem(EnumHand.MAIN_HAND))) { + if (slot >= 0 && getSlot(slot) != null && getSlot(slot).getStack().equals(player.getHeldItem(Hand.MAIN_HAND))) { return ItemStack.EMPTY; } return super.slotClick(slot, dragType, clickTypeIn, player); @@ -119,7 +119,7 @@ public class RandomizerBagContainer extends Container { * Callback for when the crafting gui is closed. */ @Override - public void onContainerClosed(EntityPlayer player) + public void onContainerClosed(PlayerEntity player) { super.onContainerClosed(player); if(!player.world.isRemote) diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagGuiContainer.java b/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagGuiContainer.java index 20ed9b0..cf92671 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagGuiContainer.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagGuiContainer.java @@ -1,8 +1,9 @@ package nl.requios.effortlessbuilding.gui; -import net.minecraft.client.gui.inventory.GuiContainer; +import com.mojang.blaze3d.platform.GlStateManager; +import net.minecraft.client.gui.screen.inventory.ContainerScreen; import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.entity.player.PlayerInventory; import net.minecraft.util.ResourceLocation; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -10,13 +11,13 @@ import net.minecraftforge.items.IItemHandler; import nl.requios.effortlessbuilding.EffortlessBuilding; @OnlyIn(Dist.CLIENT) -public class RandomizerBagGuiContainer extends GuiContainer { +public class RandomizerBagGuiContainer extends ContainerScreen { private static final ResourceLocation guiTextures = new ResourceLocation(EffortlessBuilding.MODID, "textures/gui/container/randomizerbag.png"); - private final InventoryPlayer inventoryPlayer; + private final PlayerInventory inventoryPlayer; private final IItemHandler inventoryBag; - public RandomizerBagGuiContainer(InventoryPlayer inventoryPlayer, IItemHandler inventoryBag) { + public RandomizerBagGuiContainer(PlayerInventory inventoryPlayer, IItemHandler inventoryBag) { super(new RandomizerBagContainer(inventoryPlayer, inventoryBag)); this.inventoryPlayer = inventoryPlayer; this.inventoryBag = inventoryBag; @@ -34,14 +35,14 @@ public class RandomizerBagGuiContainer extends GuiContainer { @Override protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { String s = "Randomizer Bag"; - fontRenderer.drawString(s, 8, 6, 0x404040); - fontRenderer.drawString(inventoryPlayer.getDisplayName().getUnformattedComponentText(), 8, ySize - 96 + 2, 0x404040); + font.drawString(s, 8, 6, 0x404040); + font.drawString(inventoryPlayer.getDisplayName().getUnformattedComponentText(), 8, ySize - 96 + 2, 0x404040); } @Override protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) { GlStateManager.color3f(1.0F, 1.0F, 1.0F); - mc.getTextureManager().bindTexture(guiTextures); + minecraft.getTextureManager().bindTexture(guiTextures); int marginHorizontal = (width - xSize) / 2; int marginVertical = (height - ySize) / 2; drawTexturedModalRect(marginHorizontal, marginVertical, 0, 0, xSize, ySize); diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagGuiHandler.java b/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagGuiHandler.java index a46f68e..6f023bd 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagGuiHandler.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/RandomizerBagGuiHandler.java @@ -1,30 +1,25 @@ package nl.requios.effortlessbuilding.gui; import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityPlayerSP; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.util.EnumHand; -import net.minecraft.util.ResourceLocation; +import net.minecraft.client.entity.player.ClientPlayerEntity; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.entity.player.PlayerInventory; +import net.minecraft.inventory.container.Container; +import net.minecraft.util.Hand; import net.minecraft.util.text.ITextComponent; -import net.minecraft.util.text.TextComponentString; +import net.minecraft.util.text.StringTextComponent; import net.minecraft.world.IInteractionObject; -import net.minecraft.world.World; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fml.common.network.IGuiHandler; import net.minecraftforge.fml.network.FMLPlayMessages; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; import nl.requios.effortlessbuilding.EffortlessBuilding; -import nl.requios.effortlessbuilding.capability.ItemHandlerCapabilityProvider; import nl.requios.effortlessbuilding.item.ItemRandomizerBag; import javax.annotation.Nullable; - +TODO 1.14 GUI public class RandomizerBagGuiHandler implements /*IGuiHandler, */IInteractionObject { // @Nullable // @Override @@ -60,11 +55,11 @@ public class RandomizerBagGuiHandler implements /*IGuiHandler, */IInteractionObj // } @OnlyIn(Dist.CLIENT) - public static GuiScreen openGui(FMLPlayMessages.OpenContainer openContainer) { + public static Screen openGui(FMLPlayMessages.OpenContainer openContainer) { if (openContainer.getId().equals(EffortlessBuilding.RANDOMIZER_BAG_GUI)) { - EntityPlayerSP player = Minecraft.getInstance().player; - if (player.getHeldItem(EnumHand.MAIN_HAND).getItem() instanceof ItemRandomizerBag) { - IItemHandler itemHandler = player.getHeldItem(EnumHand.MAIN_HAND).getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY).orElse(null); + ClientPlayerEntity player = Minecraft.getInstance().player; + if (player.getHeldItem(Hand.MAIN_HAND).getItem() instanceof ItemRandomizerBag) { + IItemHandler itemHandler = player.getHeldItem(Hand.MAIN_HAND).getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY).orElse(null); if (itemHandler != null) { return new RandomizerBagGuiContainer(player.inventory, itemHandler); } @@ -74,9 +69,9 @@ public class RandomizerBagGuiHandler implements /*IGuiHandler, */IInteractionObj } @Override - public Container createContainer(InventoryPlayer inventory, EntityPlayer player) { - if (player.getHeldItem(EnumHand.MAIN_HAND).getItem() instanceof ItemRandomizerBag) { - IItemHandler itemHandler = player.getHeldItem(EnumHand.MAIN_HAND).getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY).orElse(null); + public Container createContainer(PlayerInventory inventory, PlayerEntity player) { + if (player.getHeldItem(Hand.MAIN_HAND).getItem() instanceof ItemRandomizerBag) { + IItemHandler itemHandler = player.getHeldItem(Hand.MAIN_HAND).getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY).orElse(null); if (itemHandler != null) { return new RandomizerBagContainer(inventory, itemHandler); } @@ -91,7 +86,7 @@ public class RandomizerBagGuiHandler implements /*IGuiHandler, */IInteractionObj @Override public ITextComponent getName() { - return new TextComponentString("Randomizer Bag"); + return new StringTextComponent("Randomizer Bag"); } @Override @@ -101,7 +96,7 @@ public class RandomizerBagGuiHandler implements /*IGuiHandler, */IInteractionObj @Override public ITextComponent getDisplayName() { - return new TextComponentString("Randomizer Bag"); + return new StringTextComponent("Randomizer Bag"); } @Nullable diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/buildmode/RadialMenu.java b/src/main/java/nl/requios/effortlessbuilding/gui/buildmode/RadialMenu.java index 1c8a71d..310b622 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/buildmode/RadialMenu.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/buildmode/RadialMenu.java @@ -3,11 +3,12 @@ package nl.requios.effortlessbuilding.gui.buildmode; import java.util.ArrayList; import java.util.concurrent.TimeUnit; +import com.mojang.blaze3d.platform.GlStateManager; +import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.resources.I18n; -import net.minecraft.client.settings.KeyBinding; +import net.minecraft.util.Direction; import net.minecraft.util.text.TextFormatting; import nl.requios.effortlessbuilding.EffortlessBuilding; -import nl.requios.effortlessbuilding.buildmode.ModeOptions; import nl.requios.effortlessbuilding.buildmode.ModeSettingsManager; import nl.requios.effortlessbuilding.proxy.ClientProxy; import org.apache.commons.lang3.text.WordUtils; @@ -16,14 +17,11 @@ import org.lwjgl.opengl.GL11; import com.google.common.base.Stopwatch; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; -import net.minecraft.util.EnumFacing; -import net.minecraftforge.client.model.ModelLoader; import static nl.requios.effortlessbuilding.buildmode.BuildModes.*; import static nl.requios.effortlessbuilding.buildmode.ModeOptions.*; @@ -32,7 +30,7 @@ import static nl.requios.effortlessbuilding.buildmode.ModeOptions.*; * From Chisels and Bits by AlgorithmX2 * https://github.com/AlgorithmX2/Chisels-and-Bits/blob/1.12/src/main/java/mod/chiselsandbits/client/gui/ChiselsAndBitsMenu.java */ -public class RadialMenu extends GuiScreen { +public class RadialMenu extends Screen { private final float TIME_SCALE = 0.01f; public static final RadialMenu instance = new RadialMenu(); @@ -66,8 +64,8 @@ public class RadialMenu extends GuiScreen { } public void configure(final int scaledWidth, final int scaledHeight ) { - mc = Minecraft.getInstance(); - fontRenderer = mc.fontRenderer; + Minecraft mc = Minecraft.getInstance(); + font = mc.fontRenderer; width = scaledWidth; height = scaledHeight; } @@ -80,10 +78,10 @@ public class RadialMenu extends GuiScreen { public final ActionEnum action; public String name; - public EnumFacing textSide; + public Direction textSide; public MenuButton(final String name, final ActionEnum action, final double x, final double y, - final EnumFacing textSide) { + final Direction textSide) { this.name = I18n.format(name); this.action = action; x1 = x - 10; @@ -122,7 +120,7 @@ public class RadialMenu extends GuiScreen { drawGradientRect(0, 0, width, height, startColor, endColor); - GlStateManager.disableTexture2D(); + GlStateManager.disableTexture(); GlStateManager.enableBlend(); GlStateManager.disableAlphaTest(); GlStateManager.blendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); @@ -158,17 +156,17 @@ public class RadialMenu extends GuiScreen { } //Add actions - buttons.add(new MenuButton(ActionEnum.UNDO.name, ActionEnum.UNDO, -buttonDistance - 26, -13, EnumFacing.UP)); - buttons.add(new MenuButton(ActionEnum.REDO.name, ActionEnum.REDO, -buttonDistance, -13, EnumFacing.UP)); - buttons.add(new MenuButton(ActionEnum.OPEN_MODIFIER_SETTINGS.name, ActionEnum.OPEN_MODIFIER_SETTINGS, -buttonDistance - 26, 13, EnumFacing.DOWN)); - buttons.add(new MenuButton(ActionEnum.REPLACE.name, ActionEnum.REPLACE, -buttonDistance, 13, EnumFacing.DOWN)); + buttons.add(new MenuButton(ActionEnum.UNDO.name, ActionEnum.UNDO, -buttonDistance - 26, -13, Direction.UP)); + buttons.add(new MenuButton(ActionEnum.REDO.name, ActionEnum.REDO, -buttonDistance, -13, Direction.UP)); + buttons.add(new MenuButton(ActionEnum.OPEN_MODIFIER_SETTINGS.name, ActionEnum.OPEN_MODIFIER_SETTINGS, -buttonDistance - 26, 13, Direction.DOWN)); + buttons.add(new MenuButton(ActionEnum.REPLACE.name, ActionEnum.REPLACE, -buttonDistance, 13, Direction.DOWN)); //Add buildmode dependent options OptionEnum[] options = currentBuildMode.options; for (int i = 0; i < options.length; i++) { for (int j = 0; j < options[i].actions.length; j++) { ActionEnum action = options[i].actions[j]; - buttons.add(new MenuButton(action.name, action, buttonDistance + j * 26, -13 + i * 39, EnumFacing.DOWN)); + buttons.add(new MenuButton(action.name, action, buttonDistance + j * 26, -13 + i * 39, Direction.DOWN)); } } @@ -345,16 +343,16 @@ public class RadialMenu extends GuiScreen { tessellator.draw(); //Draw strings - //fontRenderer.drawStringWithShadow("Actions", (int) (middleX - buttonDistance - 13) - fontRenderer.getStringWidth("Actions") * 0.5f, (int) middleY - 38, 0xffffffff); + //font.drawStringWithShadow("Actions", (int) (middleX - buttonDistance - 13) - font.getStringWidth("Actions") * 0.5f, (int) middleY - 38, 0xffffffff); //Draw option strings for (int i = 0; i < currentBuildMode.options.length; i++) { OptionEnum option = options[i]; - fontRenderer.drawStringWithShadow(I18n.format(option.name), (int) (middleX + buttonDistance - 9), (int) middleY - 37 + i * 39, 0xeeeeeeff); + font.drawStringWithShadow(I18n.format(option.name), (int) (middleX + buttonDistance - 9), (int) middleY - 37 + i * 39, 0xeeeeeeff); } String credits = "Effortless Building"; - fontRenderer.drawStringWithShadow(credits, width - fontRenderer.getStringWidth(credits) - 4, height - 10, 0x88888888); + font.drawStringWithShadow(credits, width - font.getStringWidth(credits) - 4, height - 10, 0x88888888); //Draw buildmode text for (final MenuRegion menuRegion : modes) { @@ -364,16 +362,16 @@ public class RadialMenu extends GuiScreen { final double y = (menuRegion.y1 + menuRegion.y2) * 0.5; int fixed_x = (int) (x * textDistance); - final int fixed_y = (int) (y * textDistance) - fontRenderer.FONT_HEIGHT / 2; + final int fixed_y = (int) (y * textDistance) - font.FONT_HEIGHT / 2; final String text = I18n.format(menuRegion.mode.name); if ( x <= -0.2 ) { - fixed_x -= fontRenderer.getStringWidth(text); + fixed_x -= font.getStringWidth(text); } else if ( -0.2 <= x && x <= 0.2 ) { - fixed_x -= fontRenderer.getStringWidth(text) / 2; + fixed_x -= font.getStringWidth(text) / 2; } - fontRenderer.drawStringWithShadow(text, (int) middleX + fixed_x, (int) middleY + fixed_y, 0xffffffff); + font.drawStringWithShadow(text, (int) middleX + fixed_x, (int) middleY + fixed_y, 0xffffffff); } } @@ -408,30 +406,30 @@ public class RadialMenu extends GuiScreen { } if (!keybind.isEmpty()) keybindFormatted = TextFormatting.GRAY + "(" + WordUtils.capitalizeFully(keybind) + ")"; - if (button.textSide == EnumFacing.WEST) { + if (button.textSide == Direction.WEST) { - fontRenderer.drawSplitString( text, (int) (middleX + button.x1 - 8 ) - fontRenderer.getStringWidth(text), + font.drawSplitString( text, (int) (middleX + button.x1 - 8 ) - font.getStringWidth(text), (int) (middleY + button.y1 + 6), wrap, 0xffffffff); - } else if (button.textSide == EnumFacing.EAST) { + } else if (button.textSide == Direction.EAST) { - fontRenderer.drawSplitString(text, (int) (middleX + button.x2 + 8), + font.drawSplitString(text, (int) (middleX + button.x2 + 8), (int) (middleY + button.y1 + 6 ), wrap, 0xffffffff); - } else if (button.textSide == EnumFacing.UP || button.textSide == EnumFacing.NORTH) { + } else if (button.textSide == Direction.UP || button.textSide == Direction.NORTH) { - fontRenderer.drawSplitString( keybindFormatted, (int) (middleX + (button.x1 + button.x2) * 0.5 - fontRenderer.getStringWidth(keybindFormatted) * 0.5), + font.drawSplitString( keybindFormatted, (int) (middleX + (button.x1 + button.x2) * 0.5 - font.getStringWidth(keybindFormatted) * 0.5), (int) (middleY + button.y1 - 26), wrap,0xffffffff); - fontRenderer.drawSplitString( text, (int) (middleX + (button.x1 + button.x2) * 0.5 - fontRenderer.getStringWidth(text) * 0.5), + font.drawSplitString( text, (int) (middleX + (button.x1 + button.x2) * 0.5 - font.getStringWidth(text) * 0.5), (int) (middleY + button.y1 - 14), wrap,0xffffffff); - } else if (button.textSide == EnumFacing.DOWN || button.textSide == EnumFacing.SOUTH) { + } else if (button.textSide == Direction.DOWN || button.textSide == Direction.SOUTH) { - fontRenderer.drawSplitString(text, (int) (middleX + (button.x1 + button.x2) * 0.5 - fontRenderer.getStringWidth(text) * 0.5), + font.drawSplitString(text, (int) (middleX + (button.x1 + button.x2) * 0.5 - font.getStringWidth(text) * 0.5), (int) (middleY + button.y1 + 26), wrap, 0xffffffff); - fontRenderer.drawSplitString(keybindFormatted, (int) (middleX + (button.x1 + button.x2) * 0.5 - fontRenderer.getStringWidth(keybindFormatted) * 0.5), + font.drawSplitString(keybindFormatted, (int) (middleX + (button.x1 + button.x2) * 0.5 - font.getStringWidth(keybindFormatted) * 0.5), (int) (middleY + button.y1 + 38), wrap, 0xffffffff); } diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/ArraySettingsGui.java b/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/ArraySettingsGui.java index 5ef4c13..b42d045 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/ArraySettingsGui.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/buildmodifier/ArraySettingsGui.java @@ -1,7 +1,7 @@ package nl.requios.effortlessbuilding.gui.buildmodifier; -import net.minecraft.client.gui.GuiButton; -import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.widget.button.Button; import net.minecraft.util.math.BlockPos; import net.minecraft.util.text.TextFormatting; import net.minecraftforge.api.distmarker.Dist; @@ -15,7 +15,6 @@ import nl.requios.effortlessbuilding.gui.elements.GuiNumberField; import nl.requios.effortlessbuilding.gui.elements.GuiScrollPane; import nl.requios.effortlessbuilding.helper.ReachHelper; -import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -32,11 +31,11 @@ public class ArraySettingsGui extends GuiCollapsibleScrollEntry { } @Override - public int initGui(int id, List buttons) { + public int initGui(int id, List