Skip to content

Commit

Permalink
Add walk speed boost from Concrete (and remove some useless handlers) (
Browse files Browse the repository at this point in the history
  • Loading branch information
bruberu authored Aug 25, 2021
1 parent ea9a786 commit 1171164
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 18 deletions.
28 changes: 10 additions & 18 deletions src/main/java/gregtech/common/EventHandlers.java
Original file line number Diff line number Diff line change
@@ -1,22 +1,26 @@
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.minecraftforge.common.config.Config;
import net.minecraftforge.common.config.ConfigManager;
import net.minecraft.util.MovementInput;
import net.minecraft.util.MovementInputFromOptions;
import net.minecraft.util.math.BlockPos;
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;

@Mod.EventBusSubscriber
@Mod.EventBusSubscriber(modid = GTValues.MODID)
public class EventHandlers {

@SubscribeEvent
Expand All @@ -43,16 +47,4 @@ public static void onPlayerInteraction(PlayerInteractEvent.RightClickBlock event
}
}

@SubscribeEvent
public void onConfigChangedEvent(ConfigChangedEvent.OnConfigChangedEvent event) {
if (event.getModID().equals(GTValues.MODID)) {
ConfigManager.sync(GTValues.MODID, Config.Type.INSTANCE);
}
}

@SubscribeEvent(priority = EventPriority.HIGHEST)
public void onBreakSpeed(PlayerEvent.BreakSpeed event) {
IBlockState state = event.getState();

}
}
27 changes: 27 additions & 0 deletions src/main/java/gregtech/common/blocks/BlockConcrete.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -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;
}
}
}

}

0 comments on commit 1171164

Please sign in to comment.