From 207a211caccb16f7418b6115e203442c0465f2be Mon Sep 17 00:00:00 2001 From: bruberu <80226372+bruberu@users.noreply.github.com> Date: Mon, 23 Aug 2021 20:42:18 -0500 Subject: [PATCH 1/3] Add walk speed boost from Concrete (and remove some useless handlers) --- .../java/gregtech/common/EventHandlers.java | 39 ++++++++++++++----- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/src/main/java/gregtech/common/EventHandlers.java b/src/main/java/gregtech/common/EventHandlers.java index cd55f3f1595..d18522af88b 100644 --- a/src/main/java/gregtech/common/EventHandlers.java +++ b/src/main/java/gregtech/common/EventHandlers.java @@ -1,22 +1,33 @@ package gregtech.common; import gregtech.api.GTValues; +import gregtech.common.blocks.BlockConcrete; import net.minecraft.block.state.IBlockState; +import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.entity.monster.EntityEnderman; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.init.MobEffects; import net.minecraft.item.ItemStack; +import net.minecraft.util.MovementInput; +import net.minecraft.util.MovementInputFromOptions; +import net.minecraft.util.math.BlockPos; import net.minecraftforge.common.config.Config; import net.minecraftforge.common.config.ConfigManager; import net.minecraftforge.event.entity.living.EnderTeleportEvent; import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.fml.client.event.ConfigChangedEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; -@Mod.EventBusSubscriber +@Mod.EventBusSubscriber(modid = GTValues.MODID) public class EventHandlers { @SubscribeEvent @@ -43,16 +54,24 @@ public static void onPlayerInteraction(PlayerInteractEvent.RightClickBlock event } } + private static MovementInput manualInputCheck; + @SubscribeEvent - public void onConfigChangedEvent(ConfigChangedEvent.OnConfigChangedEvent event) { - if (event.getModID().equals(GTValues.MODID)) { - ConfigManager.sync(GTValues.MODID, Config.Type.INSTANCE); + public static void onWalkSpeed(PlayerTickEvent event) { + // Thanks, Chisel devs! + if (event.phase == TickEvent.Phase.START && event.side.isClient() && event.player.onGround && event.player instanceof EntityPlayerSP) { + if (manualInputCheck == null) { + manualInputCheck = new MovementInputFromOptions(Minecraft.getMinecraft().gameSettings); + } + EntityPlayer player = event.player; + IBlockState below = player.getEntityWorld().getBlockState(new BlockPos(player.posX, player.posY - (1 / 16D), player.posZ)); + if (below.getBlock() instanceof BlockConcrete) { + manualInputCheck.updatePlayerMoveState(); + if ((manualInputCheck.moveForward != 0 || manualInputCheck.moveStrafe != 0) && !player.isInWater()) { + player.motionX *= 1.6; + player.motionZ *= 1.6; + } + } } } - - @SubscribeEvent(priority = EventPriority.HIGHEST) - public void onBreakSpeed(PlayerEvent.BreakSpeed event) { - IBlockState state = event.getState(); - - } } From 4ae9b1c03bf45af856d23991f208568e541af082 Mon Sep 17 00:00:00 2001 From: bruberu <80226372+bruberu@users.noreply.github.com> Date: Mon, 23 Aug 2021 20:43:59 -0500 Subject: [PATCH 2/3] Remove useless imports --- src/main/java/gregtech/common/EventHandlers.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/main/java/gregtech/common/EventHandlers.java b/src/main/java/gregtech/common/EventHandlers.java index d18522af88b..b18944ea4c4 100644 --- a/src/main/java/gregtech/common/EventHandlers.java +++ b/src/main/java/gregtech/common/EventHandlers.java @@ -13,19 +13,12 @@ import net.minecraft.util.MovementInput; import net.minecraft.util.MovementInputFromOptions; import net.minecraft.util.math.BlockPos; -import net.minecraftforge.common.config.Config; -import net.minecraftforge.common.config.ConfigManager; import net.minecraftforge.event.entity.living.EnderTeleportEvent; -import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent; -import net.minecraftforge.fml.client.event.ConfigChangedEvent; import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; @Mod.EventBusSubscriber(modid = GTValues.MODID) public class EventHandlers { From 9e45129d1c29989add4694233f65b3becadec8b3 Mon Sep 17 00:00:00 2001 From: bruberu <80226372+bruberu@users.noreply.github.com> Date: Mon, 23 Aug 2021 21:03:18 -0500 Subject: [PATCH 3/3] Move code to BlockConcrete --- .../java/gregtech/common/EventHandlers.java | 20 -------------- .../gregtech/common/blocks/BlockConcrete.java | 27 +++++++++++++++++++ 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/src/main/java/gregtech/common/EventHandlers.java b/src/main/java/gregtech/common/EventHandlers.java index b18944ea4c4..07d075d7ca8 100644 --- a/src/main/java/gregtech/common/EventHandlers.java +++ b/src/main/java/gregtech/common/EventHandlers.java @@ -47,24 +47,4 @@ public static void onPlayerInteraction(PlayerInteractEvent.RightClickBlock event } } - private static MovementInput manualInputCheck; - - @SubscribeEvent - public static void onWalkSpeed(PlayerTickEvent event) { - // Thanks, Chisel devs! - if (event.phase == TickEvent.Phase.START && event.side.isClient() && event.player.onGround && event.player instanceof EntityPlayerSP) { - if (manualInputCheck == null) { - manualInputCheck = new MovementInputFromOptions(Minecraft.getMinecraft().gameSettings); - } - EntityPlayer player = event.player; - IBlockState below = player.getEntityWorld().getBlockState(new BlockPos(player.posX, player.posY - (1 / 16D), player.posZ)); - if (below.getBlock() instanceof BlockConcrete) { - manualInputCheck.updatePlayerMoveState(); - if ((manualInputCheck.moveForward != 0 || manualInputCheck.moveStrafe != 0) && !player.isInWater()) { - player.motionX *= 1.6; - player.motionZ *= 1.6; - } - } - } - } } diff --git a/src/main/java/gregtech/common/blocks/BlockConcrete.java b/src/main/java/gregtech/common/blocks/BlockConcrete.java index 032cde3a394..945f659702b 100644 --- a/src/main/java/gregtech/common/blocks/BlockConcrete.java +++ b/src/main/java/gregtech/common/blocks/BlockConcrete.java @@ -2,7 +2,17 @@ import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; +import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.EntityPlayerSP; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.IStringSerializable; +import net.minecraft.util.MovementInput; +import net.minecraft.util.MovementInputFromOptions; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.fml.common.gameevent.TickEvent; import javax.annotation.Nonnull; @@ -41,4 +51,21 @@ public String getName() { } + private static MovementInput manualInputCheck; + + @Override + public void onEntityWalk(World worldIn, BlockPos pos, Entity entityIn) { + if (manualInputCheck == null) { + manualInputCheck = new MovementInputFromOptions(Minecraft.getMinecraft().gameSettings); + } + IBlockState below = entityIn.getEntityWorld().getBlockState(new BlockPos(entityIn.posX, entityIn.posY - (1 / 16D), entityIn.posZ)); + if (below.getBlock() instanceof BlockConcrete) { + manualInputCheck.updatePlayerMoveState(); + if ((manualInputCheck.moveForward != 0 || manualInputCheck.moveStrafe != 0) && !entityIn.isInWater()) { + entityIn.motionX *= 1.6; + entityIn.motionZ *= 1.6; + } + } + } + }