From 2986b119839f427083d51e5997b88a24311517df Mon Sep 17 00:00:00 2001 From: Christian Knaapen Date: Mon, 18 Feb 2019 20:29:52 +0100 Subject: [PATCH] Disabled shader reload key. Disabled build modes when reach is 0. Removed incomplete build mode icons. Removed sound event (unused). --- build.gradle | 2 +- .../effortlessbuilding/BuildConfig.java | 10 +++++--- .../EffortlessBuilding.java | 13 +--------- .../effortlessbuilding/EventHandler.java | 5 ---- .../buildmode/BuildModes.java | 8 +++--- .../effortlessbuilding/buildmode/Line.java | 1 + .../helper/SurvivalHelper.java | 4 +-- .../effortlessbuilding/proxy/ClientProxy.java | 20 +++++++-------- .../render/BlockPreviewRenderer.java | 13 +++++++--- .../render/RenderHandler.java | 24 +++++++++++------- .../assets/effortlessbuilding/lang/en_us.lang | 6 ++--- .../assets/effortlessbuilding/sounds.json | 11 -------- .../textures/icons/cube.png | Bin 319 -> 317 bytes .../textures/icons/diagonalline.png | Bin 370 -> 363 bytes .../textures/icons/diagonalwall.png | Bin 264 -> 253 bytes .../textures/icons/slopefloor.png | Bin 310 -> 299 bytes 16 files changed, 51 insertions(+), 66 deletions(-) delete mode 100644 src/main/resources/assets/effortlessbuilding/sounds.json diff --git a/build.gradle b/build.gradle index 8e2a596..a83776c 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ apply plugin: 'net.minecraftforge.gradle.forge' //Only edit below this line, the above code adds and enables the necessary things for Forge to be setup. -version = "1.1a" +version = "1.12.2-2.0" group = "nl.requios.effortlessbuilding" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "effortlessbuilding" diff --git a/src/main/java/nl/requios/effortlessbuilding/BuildConfig.java b/src/main/java/nl/requios/effortlessbuilding/BuildConfig.java index 1b452de..8fd5101 100644 --- a/src/main/java/nl/requios/effortlessbuilding/BuildConfig.java +++ b/src/main/java/nl/requios/effortlessbuilding/BuildConfig.java @@ -58,10 +58,14 @@ public class BuildConfig { @Comment({"Show a block preview if you have a block in hand on build mode Normal"}) public boolean alwaysShowBlockPreview = false; - @Comment({"How long the dissolve effect takes when placing blocks, in ticks."}) - public int dissolveTime = 40; + @Comment({"How long the dissolve effect takes when placing blocks.", + "Default between 30 and 60 ticks, you can multiply that here.", + "Recommended values:", + "Snappy: 0.7", + "Relaxing: 1.5"}) + public double dissolveTimeMultiplier = 1.0; - @Comment({"Switch to using the simple performance shader when placing more than so many blocks."}) + @Comment({"Switch to using the simple performance shader when placing more than this many blocks."}) public int shaderTreshold = 1500; @Comment({"Use fancy shaders while placing blocks"}) diff --git a/src/main/java/nl/requios/effortlessbuilding/EffortlessBuilding.java b/src/main/java/nl/requios/effortlessbuilding/EffortlessBuilding.java index 007b35d..91630e6 100644 --- a/src/main/java/nl/requios/effortlessbuilding/EffortlessBuilding.java +++ b/src/main/java/nl/requios/effortlessbuilding/EffortlessBuilding.java @@ -39,7 +39,7 @@ public class EffortlessBuilding { public static final String MODID = "effortlessbuilding"; public static final String NAME = "Effortless Building"; - public static final String VERSION = "1.1a"; + public static final String VERSION = "1.12.2-2.0"; @Mod.Instance(EffortlessBuilding.MODID) public static EffortlessBuilding instance; @@ -59,8 +59,6 @@ public class EffortlessBuilding public static final ItemReachUpgrade2 ITEM_REACH_UPGRADE_2 = new ItemReachUpgrade2(); public static final ItemReachUpgrade3 ITEM_REACH_UPGRADE_3 = new ItemReachUpgrade3(); - public static final SoundEvent SOUND_BUILD_CLICK = createSoundEvent("build_click"); - public static final Block[] BLOCKS = { }; @@ -71,10 +69,6 @@ public class EffortlessBuilding ITEM_REACH_UPGRADE_3 }; - public static final SoundEvent[] SOUND_EVENTS = { - SOUND_BUILD_CLICK - }; - public static final int RANDOMIZER_BAG_GUI = 0; @EventHandler @@ -141,9 +135,4 @@ public class EffortlessBuilding public static void log(EntityPlayer player, String msg, boolean actionBar){ player.sendStatusMessage(new TextComponentString(msg), actionBar); } - - private static SoundEvent createSoundEvent(String soundName) { - final ResourceLocation soundID = new ResourceLocation(EffortlessBuilding.MODID, soundName); - return new SoundEvent(soundID).setRegistryName(soundID); - } } diff --git a/src/main/java/nl/requios/effortlessbuilding/EventHandler.java b/src/main/java/nl/requios/effortlessbuilding/EventHandler.java index 0928aa8..1cfd34f 100644 --- a/src/main/java/nl/requios/effortlessbuilding/EventHandler.java +++ b/src/main/java/nl/requios/effortlessbuilding/EventHandler.java @@ -54,11 +54,6 @@ public class EventHandler } } - @SubscribeEvent - public static void registerSounds(RegistryEvent.Register event) { - event.getRegistry().registerAll(EffortlessBuilding.SOUND_EVENTS); - } - @SubscribeEvent public static void attachCapabilities(AttachCapabilitiesEvent event) { if (event.getObject() instanceof EntityPlayer) { diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/BuildModes.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/BuildModes.java index d6e013b..61e2cc3 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/BuildModes.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/BuildModes.java @@ -31,10 +31,10 @@ public class BuildModes { Line ("Line", new Line()), Wall ("Wall", new Wall()), Floor ("Floor", new Floor()), - DiagonalLine ("Diagonal Line", new DiagonalLine()), - DiagonalWall ("Diagonal Wall", new DiagonalWall()), - SlopeFloor ("Slope Floor", new SlopeFloor()), - Cube ("Cube", new Cube()); + DiagonalLine ("", new DiagonalLine()), + DiagonalWall ("", new DiagonalWall()), + SlopeFloor ("", new SlopeFloor()), + Cube ("", new Cube()); public String name; public IBuildMode instance; diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/Line.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/Line.java index e2c88cd..e7be3e1 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/Line.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/Line.java @@ -135,6 +135,7 @@ public class Line implements IBuildMode { zDistSquared > 4 && zDistSquared < reach * reach; //select the one that is closest (from wall position to its line counterpart) and is valid + //TODO: if multiple are very close, choose closest to player Vec3d selected = null; double selectedDistToLine = 0; diff --git a/src/main/java/nl/requios/effortlessbuilding/helper/SurvivalHelper.java b/src/main/java/nl/requios/effortlessbuilding/helper/SurvivalHelper.java index ca29a30..878456e 100644 --- a/src/main/java/nl/requios/effortlessbuilding/helper/SurvivalHelper.java +++ b/src/main/java/nl/requios/effortlessbuilding/helper/SurvivalHelper.java @@ -81,8 +81,8 @@ public class SurvivalHelper { //Check if can break if (canBreak(world, player, pos)) { - player.addStat(StatList.getBlockStats(world.getBlockState(pos).getBlock())); - player.addExhaustion(0.005F); +// player.addStat(StatList.getBlockStats(world.getBlockState(pos).getBlock())); +// player.addExhaustion(0.005F); //Drop existing block dropBlock(world, player, pos); diff --git a/src/main/java/nl/requios/effortlessbuilding/proxy/ClientProxy.java b/src/main/java/nl/requios/effortlessbuilding/proxy/ClientProxy.java index 2bfbf9b..802126b 100644 --- a/src/main/java/nl/requios/effortlessbuilding/proxy/ClientProxy.java +++ b/src/main/java/nl/requios/effortlessbuilding/proxy/ClientProxy.java @@ -73,14 +73,14 @@ public class ClientProxy implements IProxy { @Override public void init(FMLInitializationEvent event) { // register key bindings - keyBindings = new KeyBinding[5]; + keyBindings = new KeyBinding[4]; // instantiate the key bindings keyBindings[0] = new KeyBinding("key.effortlessbuilding.hud.desc", Keyboard.KEY_ADD, "key.effortlessbuilding.category"); keyBindings[1] = new KeyBinding("key.effortlessbuilding.replace.desc", Keyboard.KEY_SUBTRACT, "key.effortlessbuilding.category"); - keyBindings[2] = new KeyBinding("key.effortlessbuilding.creative.desc", Keyboard.KEY_F4, "key.effortlessbuilding.category"); + keyBindings[2] = new KeyBinding("key.effortlessbuilding.creative.desc", Keyboard.KEY_NONE, "key.effortlessbuilding.category"); keyBindings[3] = new KeyBinding("key.effortlessbuilding.mode.desc", Keyboard.KEY_LMENU, "key.effortlessbuilding.category"); - keyBindings[4] = new KeyBinding("Reload shaders", Keyboard.KEY_TAB, "key.effortlessbuilding.category"); +// keyBindings[4] = new KeyBinding("Reload shaders", Keyboard.KEY_TAB, "key.effortlessbuilding.category"); // register all the key bindings for (int i = 0; i < keyBindings.length; ++i) { @@ -221,7 +221,7 @@ public class ClientProxy implements IProxy { if (keyBindings[0].isPressed()) { //Disabled if max reach is 0, might be set in the config that way. if (ReachHelper.getMaxReach(player) == 0) { - EffortlessBuilding.log(player, "Effortless Building is disabled until your reach has increased. Increase your reach with craftable reach upgrades."); + EffortlessBuilding.log(player, "Build modifiers are disabled until your reach has increased. Increase your reach with craftable reach upgrades."); } else { if (Minecraft.getMinecraft().currentScreen == null) { Minecraft.getMinecraft().displayGuiScreen(new ModifierSettingsGui()); @@ -249,13 +249,11 @@ public class ClientProxy implements IProxy { } } - if (keyBindings[4].isPressed()) { - //TODO remove - ShaderHandler.init(); - EffortlessBuilding.log(player, "Reloaded shaders"); - //player.playSound(SoundEvents.UI_BUTTON_CLICK, 1f, 1f); - //player.playSound(EffortlessBuilding.SOUND_BUILD_CLICK, 1f, 1f); - } +// if (keyBindings[4].isPressed()) { +// //TODO remove +// ShaderHandler.init(); +// EffortlessBuilding.log(player, "Reloaded shaders"); +// } } diff --git a/src/main/java/nl/requios/effortlessbuilding/render/BlockPreviewRenderer.java b/src/main/java/nl/requios/effortlessbuilding/render/BlockPreviewRenderer.java index ee3e3c3..330d2a0 100644 --- a/src/main/java/nl/requios/effortlessbuilding/render/BlockPreviewRenderer.java +++ b/src/main/java/nl/requios/effortlessbuilding/render/BlockPreviewRenderer.java @@ -12,6 +12,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.Vec3d; import net.minecraftforge.fml.relauncher.Side; @@ -83,14 +84,18 @@ public class BlockPreviewRenderer { PlacedData placed = placedDataList.get(i); if (placed.coordinates != null && !placed.coordinates.isEmpty()) { - float dissolve = (ClientProxy.ticksInGame - placed.time) / (float) BuildConfig.visuals.dissolveTime; + double totalTime = MathHelper.clampedLerp(30, 60, placed.firstPos.distanceSq(placed.secondPos) / 100.0) * BuildConfig.visuals.dissolveTimeMultiplier; + float dissolve = (ClientProxy.ticksInGame - placed.time) / (float) totalTime; renderBlockPreviews(placed.coordinates, placed.blockStates, placed.itemStacks, dissolve, placed.firstPos, placed.secondPos, false, placed.breaking); } } RenderHandler.endBlockPreviews(); } //Expire - placedDataList.removeIf(placed -> placed.time + BuildConfig.visuals.dissolveTime < ClientProxy.ticksInGame); + placedDataList.removeIf(placed -> { + double totalTime = MathHelper.clampedLerp(30, 60, placed.firstPos.distanceSq(placed.secondPos) / 100.0) * BuildConfig.visuals.dissolveTimeMultiplier; + return placed.time + totalTime < ClientProxy.ticksInGame; + }); //Render block previews RayTraceResult lookingAt = ClientProxy.getLookingAt(player); @@ -294,7 +299,7 @@ public class BlockPreviewRenderer { //Save current coordinates, blockstates and itemstacks if (!previousCoordinates.isEmpty() && previousBlockStates.size() == previousCoordinates.size() && - previousCoordinates.size() < BuildConfig.visuals.shaderTreshold) { + previousCoordinates.size() > 1 && previousCoordinates.size() < BuildConfig.visuals.shaderTreshold) { placedDataList.add(new PlacedData(ClientProxy.ticksInGame, previousCoordinates, previousBlockStates, previousItemStacks, previousFirstPos, previousSecondPos, false)); @@ -313,7 +318,7 @@ public class BlockPreviewRenderer { //Save current coordinates, blockstates and itemstacks if (!previousCoordinates.isEmpty() && previousBlockStates.size() == previousCoordinates.size() && - previousCoordinates.size() < BuildConfig.visuals.shaderTreshold) { + previousCoordinates.size() > 1 && previousCoordinates.size() < BuildConfig.visuals.shaderTreshold) { placedDataList.add(new PlacedData(ClientProxy.ticksInGame, previousCoordinates, previousBlockStates, previousItemStacks, previousFirstPos, previousSecondPos, true)); diff --git a/src/main/java/nl/requios/effortlessbuilding/render/RenderHandler.java b/src/main/java/nl/requios/effortlessbuilding/render/RenderHandler.java index 816439f..ca9fea9 100644 --- a/src/main/java/nl/requios/effortlessbuilding/render/RenderHandler.java +++ b/src/main/java/nl/requios/effortlessbuilding/render/RenderHandler.java @@ -33,6 +33,7 @@ import nl.requios.effortlessbuilding.buildmodifier.BuildModifiers; import nl.requios.effortlessbuilding.buildmodifier.ModifierSettingsManager; import nl.requios.effortlessbuilding.gui.buildmode.RadialMenu; import nl.requios.effortlessbuilding.compatibility.CompatHelper; +import nl.requios.effortlessbuilding.helper.ReachHelper; import nl.requios.effortlessbuilding.helper.SurvivalHelper; import nl.requios.effortlessbuilding.network.ModeSettingsMessage; import nl.requios.effortlessbuilding.proxy.ClientProxy; @@ -69,7 +70,8 @@ public class RenderHandler implements IWorldEventListener { @SubscribeEvent //Display Radial Menu public static void onRenderGameOverlay(final RenderGameOverlayEvent.Post event ) { - EntityPlayerSP player = Minecraft.getMinecraft().player; + Minecraft mc = Minecraft.getMinecraft(); + EntityPlayerSP player = mc.player; //check if chisel and bits tool in hand (and has menu) final boolean hasChiselInHand = CompatHelper.chiselsAndBitsProxy.isHoldingChiselTool(EnumHand.MAIN_HAND); @@ -79,8 +81,12 @@ public class RenderHandler implements IWorldEventListener { final boolean wasVisible = RadialMenu.instance.isVisible(); if (ClientProxy.keyBindings[3].isKeyDown()) { - RadialMenu.instance.actionUsed = false; - RadialMenu.instance.raiseVisibility(); + if (ReachHelper.getMaxReach(player) > 0) { + RadialMenu.instance.actionUsed = false; + RadialMenu.instance.raiseVisibility(); + } else if (ClientProxy.keyBindings[3].isPressed()) { + EffortlessBuilding.log(player, "Build modes are disabled until your reach has increased. Increase your reach with craftable reach upgrades."); + } } else { if ( !RadialMenu.instance.actionUsed ) { ModeSettingsManager.ModeSettings modeSettings = ModeSettingsManager.getModeSettings(player); @@ -109,21 +115,21 @@ public class RenderHandler implements IWorldEventListener { RadialMenu.instance.configure(res.getScaledWidth(), res.getScaledHeight()); if (!wasVisible) { - RadialMenu.instance.mc.inGameHasFocus = false; - RadialMenu.instance.mc.mouseHelper.ungrabMouseCursor(); + mc.inGameHasFocus = false; + mc.mouseHelper.ungrabMouseCursor(); } - if (RadialMenu.instance.mc.inGameHasFocus) { + if (mc.inGameHasFocus) { KeyBinding.unPressAllKeys(); } - final int k1 = Mouse.getX() * res.getScaledWidth() / RadialMenu.instance.mc.displayWidth; - final int l1 = res.getScaledHeight() - Mouse.getY() * res.getScaledHeight() / RadialMenu.instance.mc.displayHeight - 1; + final int k1 = Mouse.getX() * res.getScaledWidth() / mc.displayWidth; + final int l1 = res.getScaledHeight() - Mouse.getY() * res.getScaledHeight() / mc.displayHeight - 1; net.minecraftforge.client.ForgeHooksClient.drawScreen(RadialMenu.instance, k1, l1, event.getPartialTicks()); } else { if (wasVisible) { - RadialMenu.instance.mc.setIngameFocus(); + mc.setIngameFocus(); } } } diff --git a/src/main/resources/assets/effortlessbuilding/lang/en_us.lang b/src/main/resources/assets/effortlessbuilding/lang/en_us.lang index 0353bfe..71d1b34 100644 --- a/src/main/resources/assets/effortlessbuilding/lang/en_us.lang +++ b/src/main/resources/assets/effortlessbuilding/lang/en_us.lang @@ -1,5 +1,5 @@ key.effortlessbuilding.category=Effortless Building -key.effortlessbuilding.hud.desc=Open Settings +key.effortlessbuilding.hud.desc=Modifier Menu key.effortlessbuilding.replace.desc=Toggle QuickReplace key.effortlessbuilding.creative.desc=Toggle Survival/Creative Mode key.effortlessbuilding.mode.desc=Radial Menu @@ -9,6 +9,4 @@ item.effortlessbuilding:reach_upgrade1.name=Reach Upgrade 1 item.effortlessbuilding:reach_upgrade2.name=Reach Upgrade 2 item.effortlessbuilding:reach_upgrade3.name=Reach Upgrade 3 -commands.reach.usage=/reach - -effortlessbuilding.subtitle.build_click=Click \ No newline at end of file +commands.reach.usage=/reach \ No newline at end of file diff --git a/src/main/resources/assets/effortlessbuilding/sounds.json b/src/main/resources/assets/effortlessbuilding/sounds.json deleted file mode 100644 index 7316a5d..0000000 --- a/src/main/resources/assets/effortlessbuilding/sounds.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "build_click": { - "category": "block", - "subtitle": "effortlessbuilding.subtitle.build_click", - "sounds": [ - { - "name": "effortlessbuilding:build_click" - } - ] - } -} \ No newline at end of file diff --git a/src/main/resources/assets/effortlessbuilding/textures/icons/cube.png b/src/main/resources/assets/effortlessbuilding/textures/icons/cube.png index c9afbbdea795c814ce80caa3e9196e1221b7a0a0..cc18b1fcfe5a7311493f3aba4670a5a720ec199e 100644 GIT binary patch delta 242 zcmV3K~y-)os&%tgdhxs9}_QA!-~VW^c)<) zYv6(0K+18L6{P%#&b-8=YTwtUP+%e=0ukY7Wn)SSDWxe$wMGD7=3(->t^j}-C%2iio<3A%qfN*Hz+u-@A?$065RHO3+$Ypw=i0ENk+|2$W&1aR|5rjf`0z z`C^R0aU2y$nzwDMX3_z&Bt)7YJNQS{47Ao@=5k?L<>P)l1!gX>G>?X<1)~Q-25o0V*O?l==Vw0L)25K~y-)os-QGgdhxsA3HV^hZDtkv<^$K z4J^nDPAG>x!G!SR&c0KSypI?NFcA?YB1*FyGcp1IGXntDbp-|j%*jaoxcE>$ap zki7TJclm3Eh>||>d7cvA_g&(B-eAZ?TfENyb52g)#Q>;guho-ykq z7tT4H=UIWIdE2(CCk-G=LZtb%f`3%?z*-AtE)Pa4U-#=RFms8exz|i1pYU-UO@ec7 u*pC>a>CS=#Nq{usmofI+za=$10GFJ@?$%W_ z7!q<8-=J!EiCSD0@358iXKQd3HM`xl=(~ql1ZmUKJFXA}e==q!^X3011OG}=N~Dx$ z=OF|_2(z9T76F`d04SvZ@ZOJ$rzC{k(DX(Ck@ub~%K)hB`p2LM;Q959o5OxJXc{vD z=-Y;eTPTWxBuOrU7B`5~9US&!^AczQ=-Y-keWY(2j+-t0`!&bSmb<4H;&exr-OoT} nSZ)T zwNzC#iRzrgIfqgzD5Xa8MCWF+*3xwyd7e)|pF0{LBJ$pgEXx8wUDrPbMF1~vTXDDF zFc)+>W(3f;4Nvz_6op8VDz|GVoATd<*-=tuznSB ux+2RSN1(DSMT>Ma+XF3QI%;5y6~UsH&){4SFwJ*A*lp)LMx#nxSXiXswY_+79;K z>Ai2z^XXPM5P&=Nr?o~Yg%AS3hPvA+P3YJIYyJ;7fH4N%dn*8P&URoTfEn7R@GW%w gWb>*2{9D(&01n4+})c^nh07*qoM6N<$fCIR?l^VrZyhz>i+<9r_DLn08&c( rfIhOjpy3L?g1*MQkNWPnPT%|kwIYw@y;Vm@00000NkvXXu0mjfgveEG diff --git a/src/main/resources/assets/effortlessbuilding/textures/icons/slopefloor.png b/src/main/resources/assets/effortlessbuilding/textures/icons/slopefloor.png index c786eafe685f6dc09f535329e06f4b7a1b2325d6..f6803467e625dcf8634bffc958d627c11255e032 100644 GIT binary patch delta 224 zcmV<603ZLh0;>X$Q-2Z=1tfunyc_@k0Jup+K~y-)wUfaKgfI|ApNp+13|K)fR+AD^ zMS8FoLDGSEu!yvQ-25o5&`cAEGPf~0K-W{K~y-)wUfaKgfI|AUlv2 z);c)nR34ye;4loQX00`ONFyTQ3aptZ5eefs(zY#q-xtA}$z(Buecz9OCnkqMd{0dp z0BbEV