From 780d5cc972d68bff12d2c3b37eaf7983d22cdefc Mon Sep 17 00:00:00 2001 From: Christian Knaapen Date: Sun, 13 Feb 2022 01:11:02 +0100 Subject: [PATCH] Removed reach command and functionality to break multiple blocks in survival. --- .../effortlessbuilding/BuildConfig.java | 21 -------- .../effortlessbuilding/EventHandler.java | 52 ------------------- .../command/ReachCommand.java | 49 ----------------- .../helper/ReachHelper.java | 2 +- 4 files changed, 1 insertion(+), 123 deletions(-) delete mode 100644 src/main/java/nl/requios/effortlessbuilding/command/ReachCommand.java diff --git a/src/main/java/nl/requios/effortlessbuilding/BuildConfig.java b/src/main/java/nl/requios/effortlessbuilding/BuildConfig.java index a44e53b..2c84c58 100644 --- a/src/main/java/nl/requios/effortlessbuilding/BuildConfig.java +++ b/src/main/java/nl/requios/effortlessbuilding/BuildConfig.java @@ -54,33 +54,12 @@ public class BuildConfig { } public static class SurvivalBalancers { - public final ForgeConfigSpec.ConfigValue breakFar; - public final ForgeConfigSpec.ConfigValue increasedMiningTime; - public final ForgeConfigSpec.ConfigValue miningTimePercentage; public final ForgeConfigSpec.ConfigValue quickReplaceMiningLevel; public final ForgeConfigSpec.ConfigValue undoStackSize; public SurvivalBalancers(ForgeConfigSpec.Builder builder) { builder.push("SurvivalBalancers"); - breakFar = builder - .comment("Allows a survival player to break blocks that are far away, in addition to placing blocks.", - "Note: this allows insta-breaking of blocks in survival.") - .define("breakFar", false); - - increasedMiningTime = builder - .comment("Increases the time to mine a block when breaking multiple at once.", - "Mining time depends on how many blocks, what type of blocks, and the percentage below.", - "Example: breaking 1 dirt + 1 obsidian takes the time of breaking 1 dirt + 1 obsidian.") - .define("increasedMiningTime", true); - - miningTimePercentage = builder - .comment("How much the mining time of each additional block counts towards an increased mining time.", - "A percentage between 0% and 100%, where 0% is the same as disabling it,", - "and 100% takes as much time as breaking each block individually.", - "The block in front of you always counts as 100%.") - .defineInRange("miningTimePercentage", 50, 0, 200); - quickReplaceMiningLevel = builder .comment("Determines what blocks can be replaced in survival.", "-1: only blocks that can be harvested by hand (default)", diff --git a/src/main/java/nl/requios/effortlessbuilding/EventHandler.java b/src/main/java/nl/requios/effortlessbuilding/EventHandler.java index 3e83e3c..84c65ca 100644 --- a/src/main/java/nl/requios/effortlessbuilding/EventHandler.java +++ b/src/main/java/nl/requios/effortlessbuilding/EventHandler.java @@ -1,13 +1,10 @@ package nl.requios.effortlessbuilding; -import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraft.server.level.ServerPlayer; import net.minecraft.resources.ResourceLocation; -import net.minecraft.core.BlockPos; -import net.minecraft.world.level.Level; import net.minecraftforge.common.util.FakePlayer; import net.minecraftforge.event.AttachCapabilitiesEvent; import net.minecraftforge.event.RegisterCommandsEvent; @@ -18,21 +15,16 @@ import net.minecraftforge.fml.common.Mod; import net.minecraftforge.network.PacketDistributor; import nl.requios.effortlessbuilding.buildmode.BuildModes; import nl.requios.effortlessbuilding.buildmode.ModeSettingsManager; -import nl.requios.effortlessbuilding.buildmodifier.BuildModifiers; import nl.requios.effortlessbuilding.buildmodifier.ModifierSettingsManager; import nl.requios.effortlessbuilding.buildmodifier.UndoRedo; import nl.requios.effortlessbuilding.capability.ModeCapabilityManager; import nl.requios.effortlessbuilding.capability.ModifierCapabilityManager; -import nl.requios.effortlessbuilding.command.ReachCommand; import nl.requios.effortlessbuilding.helper.ReachHelper; -import nl.requios.effortlessbuilding.helper.SurvivalHelper; import nl.requios.effortlessbuilding.network.AddUndoMessage; import nl.requios.effortlessbuilding.network.ClearUndoMessage; import nl.requios.effortlessbuilding.network.PacketHandler; import nl.requios.effortlessbuilding.network.RequestLookAtMessage; -import java.util.List; - @Mod.EventBusSubscriber(modid = EffortlessBuilding.MODID, bus = Mod.EventBusSubscriber.Bus.FORGE) public class EventHandler { @@ -45,11 +37,6 @@ public class EventHandler { } } - @SubscribeEvent - public void onRegisterCommands(RegisterCommandsEvent event) { - ReachCommand.register(event.getDispatcher()); - } - @SubscribeEvent public static void onBlockPlaced(BlockEvent.EntityPlaceEvent event) { if (event.getWorld().isClientSide()) return; @@ -111,45 +98,6 @@ public class EventHandler { } } -// @SubscribeEvent -// public static void breakSpeed(PlayerEvent.BreakSpeed event) { -// //Disable if config says so -// if (!BuildConfig.survivalBalancers.increasedMiningTime.get()) return; -// -// if (event.getPlayer() instanceof FakePlayer) return; -// -// Player player = event.getPlayer(); -// Level world = player.level; -// BlockPos pos = event.getPos(); -// -// //EffortlessBuilding.log(player, String.valueOf(event.getNewSpeed())); -// -// float originalBlockHardness = event.getState().getDestroySpeed(world, pos); -// if (originalBlockHardness < 0) return; //Dont break bedrock -// float totalBlockHardness = 0; -// //get coordinates -// List coordinates = BuildModifiers.findCoordinates(player, pos); -// for (int i = 1; i < coordinates.size(); i++) { -// BlockPos coordinate = coordinates.get(i); -// //get existing blockstates at those coordinates -// BlockState blockState = world.getBlockState(coordinate); -// //add hardness for each blockstate, if can break -// if (SurvivalHelper.canBreak(world, player, coordinate)) -// totalBlockHardness += blockState.getDestroySpeed(world, coordinate); -// } -// -// //Grabbing percentage from config -// float percentage = (float) BuildConfig.survivalBalancers.miningTimePercentage.get() / 100; -// totalBlockHardness *= percentage; -// totalBlockHardness += originalBlockHardness; -// -// float newSpeed = event.getOriginalSpeed() / totalBlockHardness * originalBlockHardness; -// if (Float.isNaN(newSpeed) || newSpeed == 0f) newSpeed = 1f; -// event.setNewSpeed(newSpeed); -// -// //EffortlessBuilding.log(player, String.valueOf(event.getNewSpeed())); -// } - @SubscribeEvent public static void onPlayerLoggedIn(PlayerEvent.PlayerLoggedInEvent event) { if (event.getPlayer() instanceof FakePlayer) return; diff --git a/src/main/java/nl/requios/effortlessbuilding/command/ReachCommand.java b/src/main/java/nl/requios/effortlessbuilding/command/ReachCommand.java deleted file mode 100644 index 53a8578..0000000 --- a/src/main/java/nl/requios/effortlessbuilding/command/ReachCommand.java +++ /dev/null @@ -1,49 +0,0 @@ -package nl.requios.effortlessbuilding.command; - -import com.mojang.brigadier.CommandDispatcher; -import com.mojang.brigadier.arguments.IntegerArgumentType; -import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import net.minecraft.commands.CommandSourceStack; -import net.minecraft.commands.Commands; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.network.chat.TextComponent; -import net.minecraftforge.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; - -public class ReachCommand { - - public static void register(CommandDispatcher dispatcher) { - dispatcher.register( - Commands.literal("reach") - .then(Commands.literal("set") - .then(Commands.argument("level", IntegerArgumentType.integer(0, 3)) - .executes((context) -> { - return setReachLevel(context.getSource().getPlayerOrException(), IntegerArgumentType.getInteger(context, "level")); - }))) - .then(Commands.literal("get").executes((context -> { - return getReachLevel(context.getSource().getPlayerOrException()); - })))); - } - - private static int setReachLevel(ServerPlayer 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 TextComponent("Reach level of " + player.getName().getString() + " set to " + modifierSettings.getReachUpgrade()), player.getUUID()); - - return 1; - } - - private static int getReachLevel(ServerPlayer player) { - int reachUpgrade = ModifierSettingsManager.getModifierSettings(player).getReachUpgrade(); - EffortlessBuilding.log(player, "Current reach: level " + reachUpgrade); - - return 1; - } -} diff --git a/src/main/java/nl/requios/effortlessbuilding/helper/ReachHelper.java b/src/main/java/nl/requios/effortlessbuilding/helper/ReachHelper.java index 81faac8..a22b6e7 100644 --- a/src/main/java/nl/requios/effortlessbuilding/helper/ReachHelper.java +++ b/src/main/java/nl/requios/effortlessbuilding/helper/ReachHelper.java @@ -49,6 +49,6 @@ public class ReachHelper { } public static boolean canBreakFar(Player player) { - return player.isCreative() || BuildConfig.survivalBalancers.breakFar.get(); + return player.isCreative(); } }