done for now, going to bed
This commit is contained in:
parent
99fd83ca45
commit
3405a95b09
14 changed files with 135 additions and 184 deletions
|
@ -37,7 +37,7 @@ public class ClickableKeybinding extends ClickableButton {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doToggleTick() {
|
public void doToggleTick() {
|
||||||
doToggleIf(keybind.pressed);
|
doToggleIf(keybind.getIsKeyPressed());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doToggleIf(boolean value) {
|
public void doToggleIf(boolean value) {
|
||||||
|
@ -65,10 +65,10 @@ public class ClickableKeybinding extends ClickableButton {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String parseName(KeyBinding keybind) {
|
public static String parseName(KeyBinding keybind) {
|
||||||
if (keybind.keyCode < 0) {
|
if (keybind.getKeyCode() < 0) {
|
||||||
return "Mouse" + (keybind.keyCode + 100);
|
return "Mouse" + (keybind.getKeyCode() + 100);
|
||||||
} else {
|
} else {
|
||||||
return Keyboard.getKeyName(keybind.keyCode);
|
return Keyboard.getKeyName(keybind.getKeyCode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,7 +132,7 @@ public class ClickableKeybinding extends ClickableButton {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean equals(ClickableKeybinding other) {
|
public boolean equals(ClickableKeybinding other) {
|
||||||
return other.keybind.keyCode == this.keybind.keyCode;
|
return other.keybind.getKeyCode() == this.keybind.getKeyCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ public class BlockLuxCapacitor extends Block {
|
||||||
}
|
}
|
||||||
|
|
||||||
public BlockLuxCapacitor() {
|
public BlockLuxCapacitor() {
|
||||||
super(assignedBlockID, Material.circuits);
|
super(Material.circuits);
|
||||||
|
|
||||||
// Block's creative tab
|
// Block's creative tab
|
||||||
setCreativeTab(Config.getCreativeTab());
|
setCreativeTab(Config.getCreativeTab());
|
||||||
|
@ -48,7 +48,7 @@ public class BlockLuxCapacitor extends Block {
|
||||||
|
|
||||||
// Light level, 0-1. Gets multiplied by 15 and truncated to find the
|
// Light level, 0-1. Gets multiplied by 15 and truncated to find the
|
||||||
// actual light level for the block.
|
// actual light level for the block.
|
||||||
setLightValue(1.0f);
|
setLightLevel(1.0f);
|
||||||
|
|
||||||
// Whether to receive random ticks e.g. plants
|
// Whether to receive random ticks e.g. plants
|
||||||
setTickRandomly(false);
|
setTickRandomly(false);
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
package net.machinemuse.powersuits.client;
|
package net.machinemuse.powersuits.client;
|
||||||
|
|
||||||
import cpw.mods.fml.client.registry.ClientRegistry;
|
import cpw.mods.fml.client.registry.ClientRegistry;
|
||||||
import cpw.mods.fml.client.registry.KeyBindingRegistry;
|
|
||||||
import cpw.mods.fml.client.registry.RenderingRegistry;
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||||
import cpw.mods.fml.common.network.Player;
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
import cpw.mods.fml.common.registry.TickRegistry;
|
|
||||||
import cpw.mods.fml.relauncher.Side;
|
|
||||||
import net.machinemuse.general.sound.SoundLoader;
|
import net.machinemuse.general.sound.SoundLoader;
|
||||||
import net.machinemuse.numina.general.MuseLogger;
|
import net.machinemuse.numina.general.MuseLogger;
|
||||||
import net.machinemuse.numina.network.MusePacket;
|
import net.machinemuse.numina.network.MusePacket;
|
||||||
|
@ -30,10 +27,9 @@ import net.machinemuse.powersuits.control.KeybindManager;
|
||||||
import net.machinemuse.powersuits.entity.EntityLuxCapacitor;
|
import net.machinemuse.powersuits.entity.EntityLuxCapacitor;
|
||||||
import net.machinemuse.powersuits.entity.EntityPlasmaBolt;
|
import net.machinemuse.powersuits.entity.EntityPlasmaBolt;
|
||||||
import net.machinemuse.powersuits.entity.EntitySpinningBlade;
|
import net.machinemuse.powersuits.entity.EntitySpinningBlade;
|
||||||
|
import net.machinemuse.powersuits.event.PlayerUpdateHandler;
|
||||||
import net.machinemuse.powersuits.event.RenderEventHandler;
|
import net.machinemuse.powersuits.event.RenderEventHandler;
|
||||||
import net.machinemuse.powersuits.tick.ClientTickHandler;
|
import net.machinemuse.powersuits.tick.ClientTickHandler;
|
||||||
import net.machinemuse.powersuits.tick.PlayerTickHandler;
|
|
||||||
import net.machinemuse.powersuits.tick.RenderTickHandler;
|
|
||||||
import net.machinemuse.utils.render.MuseShaders;
|
import net.machinemuse.utils.render.MuseShaders;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.entity.EntityClientPlayerMP;
|
import net.minecraft.client.entity.EntityClientPlayerMP;
|
||||||
|
@ -50,9 +46,6 @@ import java.net.URL;
|
||||||
*/
|
*/
|
||||||
public class ClientProxy extends CommonProxy {
|
public class ClientProxy extends CommonProxy {
|
||||||
private static ToolRenderer toolRenderer;
|
private static ToolRenderer toolRenderer;
|
||||||
private static ClientTickHandler clientTickHandler;
|
|
||||||
private static RenderTickHandler renderTickHandler;
|
|
||||||
private static PlayerTickHandler playerTickHandler;
|
|
||||||
public static KeybindKeyHandler keybindHandler;
|
public static KeybindKeyHandler keybindHandler;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -115,20 +108,17 @@ public class ClientProxy extends CommonProxy {
|
||||||
public void registerHandlers() {
|
public void registerHandlers() {
|
||||||
super.registerHandlers();
|
super.registerHandlers();
|
||||||
keybindHandler = new KeybindKeyHandler();
|
keybindHandler = new KeybindKeyHandler();
|
||||||
KeyBindingRegistry.registerKeyBinding(keybindHandler);
|
FMLCommonHandler.instance().bus().register(keybindHandler);
|
||||||
|
|
||||||
playerTickHandler = new PlayerTickHandler();
|
PlayerUpdateHandler playerTickHandler = new PlayerUpdateHandler();
|
||||||
MinecraftForge.EVENT_BUS.register(playerTickHandler);
|
MinecraftForge.EVENT_BUS.register(playerTickHandler);
|
||||||
// TickRegistry.registerTickHandler(playerTickHandler, Side.SERVER);
|
// TickRegistry.registerTickHandler(playerTickHandler, Side.SERVER);
|
||||||
|
|
||||||
renderTickHandler = new RenderTickHandler();
|
ClientTickHandler clientTickHandler = new ClientTickHandler();
|
||||||
TickRegistry.registerTickHandler(renderTickHandler, Side.CLIENT);
|
FMLCommonHandler.instance().bus().register(clientTickHandler);
|
||||||
|
|
||||||
clientTickHandler = new ClientTickHandler();
|
|
||||||
TickRegistry.registerTickHandler(clientTickHandler, Side.CLIENT);
|
|
||||||
|
|
||||||
|
|
||||||
packetHandler = new MusePacketHandler();
|
packetHandler = MusePacketHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -19,9 +19,6 @@ public class CommonProxy {
|
||||||
public static String ITEMS_PNG = "/tutorial/generic/items.png";
|
public static String ITEMS_PNG = "/tutorial/generic/items.png";
|
||||||
public static String BLOCK_PNG = "/tutorial/generic/block.png";
|
public static String BLOCK_PNG = "/tutorial/generic/block.png";
|
||||||
|
|
||||||
public static MusePacketHandler packetHandler;
|
|
||||||
public static PlayerTickHandler playerTickHandler;
|
|
||||||
|
|
||||||
public void registerEvents() {
|
public void registerEvents() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
package net.machinemuse.powersuits.control;
|
package net.machinemuse.powersuits.control;
|
||||||
|
|
||||||
import cpw.mods.fml.client.registry.KeyBindingRegistry.KeyHandler;
|
import cpw.mods.fml.client.registry.ClientRegistry;
|
||||||
import cpw.mods.fml.common.TickType;
|
import cpw.mods.fml.common.TickType;
|
||||||
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||||
|
import cpw.mods.fml.common.gameevent.InputEvent;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import net.machinemuse.powersuits.common.ModularPowersuits;
|
import net.machinemuse.powersuits.common.ModularPowersuits;
|
||||||
|
@ -15,73 +17,61 @@ import org.lwjgl.input.Keyboard;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public class KeybindKeyHandler extends KeyHandler {
|
public class KeybindKeyHandler {
|
||||||
public static KeyBinding openKeybindGUI = new KeyBinding("Open MPS Keybind GUI", -1);
|
static String mps = "Modular Powersuits";
|
||||||
public static KeyBinding goDownKey = new KeyBinding("Go Down (MPS Flight Control)", Keyboard.KEY_Z);
|
public static KeyBinding openKeybindGUI = new KeyBinding("Open MPS Keybind GUI", -1, mps);
|
||||||
public static KeyBinding cycleToolBackward = new KeyBinding("Cycle Tool Backward (MPS)", -1);
|
public static KeyBinding goDownKey = new KeyBinding("Go Down (MPS Flight Control)", Keyboard.KEY_Z, mps);
|
||||||
public static KeyBinding cycleToolForward = new KeyBinding("Cycle Tool Forward (MPS)", -1);
|
public static KeyBinding cycleToolBackward = new KeyBinding("Cycle Tool Backward (MPS)", -1, mps);
|
||||||
public static KeyBinding zoom = new KeyBinding("Zoom (MPS)", Keyboard.KEY_Y);
|
public static KeyBinding cycleToolForward = new KeyBinding("Cycle Tool Forward (MPS)", -1, mps);
|
||||||
public static KeyBinding openCosmeticGUI = new KeyBinding("Cosmetic (MPS)", -1);
|
public static KeyBinding zoom = new KeyBinding("Zoom (MPS)", Keyboard.KEY_Y, mps);
|
||||||
|
public static KeyBinding openCosmeticGUI = new KeyBinding("Cosmetic (MPS)", -1, mps);
|
||||||
public static KeyBinding[] keybindArray = new KeyBinding[]{openKeybindGUI, goDownKey, cycleToolBackward, cycleToolForward, zoom, openCosmeticGUI};
|
public static KeyBinding[] keybindArray = new KeyBinding[]{openKeybindGUI, goDownKey, cycleToolBackward, cycleToolForward, zoom, openCosmeticGUI};
|
||||||
public static boolean[] repeats = new boolean[keybindArray.length];
|
public static boolean[] repeats = new boolean[keybindArray.length];
|
||||||
|
|
||||||
public KeybindKeyHandler() {
|
public KeybindKeyHandler() {
|
||||||
super(keybindArray, repeats);
|
for (KeyBinding key : keybindArray) {
|
||||||
|
ClientRegistry.registerKeyBinding(key);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@SubscribeEvent
|
||||||
public String getLabel() {
|
public void onKeyInput(InputEvent.KeyInputEvent e) {
|
||||||
return "machineMuseKeybinds";
|
int key = Keyboard.getEventKey();
|
||||||
}
|
boolean pressed = Keyboard.getEventKeyState();
|
||||||
|
|
||||||
@Override
|
|
||||||
public void keyDown(EnumSet<TickType> types, KeyBinding kb, boolean tickEnd, boolean isRepeat) {
|
|
||||||
EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
|
EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
|
||||||
// Only activate if there is a player to work with and it is the start
|
// Only activate if there is a player to work with
|
||||||
// tick
|
if (player == null) {
|
||||||
if (player == null || tickEnd) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (kb.equals(openKeybindGUI)) {
|
if(pressed) {
|
||||||
World world = Minecraft.getMinecraft().theWorld;
|
if (key == openKeybindGUI.getKeyCode()) {
|
||||||
if (Minecraft.getMinecraft().inGameHasFocus) {
|
World world = Minecraft.getMinecraft().theWorld;
|
||||||
player.openGui(ModularPowersuits.INSTANCE, 1, world, 0, 0, 0);
|
if (Minecraft.getMinecraft().inGameHasFocus) {
|
||||||
|
player.openGui(ModularPowersuits.INSTANCE, 1, world, 0, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (key == openCosmeticGUI.getKeyCode()) {
|
||||||
|
World world = Minecraft.getMinecraft().theWorld;
|
||||||
|
if (Minecraft.getMinecraft().inGameHasFocus) {
|
||||||
|
player.openGui(ModularPowersuits.INSTANCE, 3, world, 0, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (key == goDownKey.getKeyCode()) {
|
||||||
|
PlayerInputMap.getInputMapFor(player.getCommandSenderName()).downKey = true;
|
||||||
|
}
|
||||||
|
if (key == cycleToolBackward.getKeyCode()) {
|
||||||
|
Minecraft.getMinecraft().playerController.updateController();
|
||||||
|
ModeChangingModularItem$.MODULE$.cycleModeForItem(player.inventory.getStackInSlot(player.inventory.currentItem), player, 1);
|
||||||
|
}
|
||||||
|
if (key == cycleToolForward.getKeyCode()) {
|
||||||
|
Minecraft.getMinecraft().playerController.updateController();
|
||||||
|
ModeChangingModularItem$.MODULE$.cycleModeForItem(player.inventory.getStackInSlot(player.inventory.currentItem), player, -1);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (Minecraft.getMinecraft().thePlayer != null && key == goDownKey.getKeyCode()) {
|
||||||
|
PlayerInputMap.getInputMapFor(Minecraft.getMinecraft().thePlayer.getCommandSenderName()).downKey = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (kb.equals(openCosmeticGUI)) {
|
|
||||||
World world = Minecraft.getMinecraft().theWorld;
|
|
||||||
if (Minecraft.getMinecraft().inGameHasFocus) {
|
|
||||||
player.openGui(ModularPowersuits.INSTANCE, 3, world, 0, 0, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (kb.equals(goDownKey)) {
|
|
||||||
PlayerInputMap.getInputMapFor(player.username).downKey = true;
|
|
||||||
}
|
|
||||||
if (kb.equals(cycleToolBackward)) {
|
|
||||||
Minecraft.getMinecraft().playerController.updateController();
|
|
||||||
ModeChangingModularItem$.MODULE$.cycleModeForItem(player.inventory.getStackInSlot(player.inventory.currentItem), player, 1);
|
|
||||||
}
|
|
||||||
if (kb.equals(cycleToolForward)) {
|
|
||||||
Minecraft.getMinecraft().playerController.updateController();
|
|
||||||
ModeChangingModularItem$.MODULE$.cycleModeForItem(player.inventory.getStackInSlot(player.inventory.currentItem), player, -1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void keyUp(EnumSet<TickType> types, KeyBinding kb, boolean tickEnd) {
|
|
||||||
EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
|
|
||||||
if (Minecraft.getMinecraft().thePlayer != null && kb.equals(goDownKey)) {
|
|
||||||
PlayerInputMap.getInputMapFor(Minecraft.getMinecraft().thePlayer.username).downKey = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addKeybind(KeyBinding kb) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public EnumSet<TickType> ticks() {
|
|
||||||
return EnumSet.of(TickType.CLIENT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,6 @@ package net.machinemuse.powersuits.event;
|
||||||
|
|
||||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
import net.machinemuse.general.sound.SoundLoader;
|
|
||||||
import net.machinemuse.numina.sound.Musique;
|
|
||||||
import net.machinemuse.powersuits.item.ItemPowerArmor;
|
import net.machinemuse.powersuits.item.ItemPowerArmor;
|
||||||
import net.machinemuse.powersuits.powermodule.movement.JumpAssistModule;
|
import net.machinemuse.powersuits.powermodule.movement.JumpAssistModule;
|
||||||
import net.machinemuse.powersuits.powermodule.movement.ShockAbsorberModule;
|
import net.machinemuse.powersuits.powermodule.movement.ShockAbsorberModule;
|
||||||
|
@ -42,7 +40,7 @@ public class MovementManager {
|
||||||
double jumpAssist = ModuleManager.computeModularProperty(stack, JumpAssistModule.JUMP_MULTIPLIER) * 2;
|
double jumpAssist = ModuleManager.computeModularProperty(stack, JumpAssistModule.JUMP_MULTIPLIER) * 2;
|
||||||
double drain = ModuleManager.computeModularProperty(stack, JumpAssistModule.JUMP_ENERGY_CONSUMPTION);
|
double drain = ModuleManager.computeModularProperty(stack, JumpAssistModule.JUMP_ENERGY_CONSUMPTION);
|
||||||
double avail = ElectricItemUtils.getPlayerEnergy(player);
|
double avail = ElectricItemUtils.getPlayerEnergy(player);
|
||||||
Musique.playerSound(player, SoundLoader.SOUND_JUMP_ASSIST, (float) (jumpAssist / 8.0), 2, false);
|
// Musique.playerSound(player, SoundLoader.SOUND_JUMP_ASSIST, (float) (jumpAssist / 8.0), 2, false);
|
||||||
if (drain < avail) {
|
if (drain < avail) {
|
||||||
ElectricItemUtils.drainPlayerEnergy(player, drain);
|
ElectricItemUtils.drainPlayerEnergy(player, drain);
|
||||||
setPlayerJumpTicks(player, jumpAssist);
|
setPlayerJumpTicks(player, jumpAssist);
|
||||||
|
@ -67,7 +65,7 @@ public class MovementManager {
|
||||||
if (boots != null) {
|
if (boots != null) {
|
||||||
if (ModuleManager.itemHasActiveModule(boots, ShockAbsorberModule.MODULE_SHOCK_ABSORBER) && event.distance > 3) {
|
if (ModuleManager.itemHasActiveModule(boots, ShockAbsorberModule.MODULE_SHOCK_ABSORBER) && event.distance > 3) {
|
||||||
double distanceAbsorb = event.distance * ModuleManager.computeModularProperty(boots, ShockAbsorberModule.SHOCK_ABSORB_MULTIPLIER);
|
double distanceAbsorb = event.distance * ModuleManager.computeModularProperty(boots, ShockAbsorberModule.SHOCK_ABSORB_MULTIPLIER);
|
||||||
Musique.playerSound(player, SoundLoader.SOUND_GUI_INSTALL, (float) (distanceAbsorb), 2, false);
|
// Musique.playerSound(player, SoundLoader.SOUND_GUI_INSTALL, (float) (distanceAbsorb), 2, false);
|
||||||
|
|
||||||
double drain = distanceAbsorb * ModuleManager.computeModularProperty(boots, ShockAbsorberModule.SHOCK_ABSORB_ENERGY_CONSUMPTION);
|
double drain = distanceAbsorb * ModuleManager.computeModularProperty(boots, ShockAbsorberModule.SHOCK_ABSORB_ENERGY_CONSUMPTION);
|
||||||
double avail = ElectricItemUtils.getPlayerEnergy(player);
|
double avail = ElectricItemUtils.getPlayerEnergy(player);
|
||||||
|
|
|
@ -11,7 +11,7 @@ import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent
|
||||||
/**
|
/**
|
||||||
* Created by Claire Semple on 9/8/2014.
|
* Created by Claire Semple on 9/8/2014.
|
||||||
*/
|
*/
|
||||||
object PlayerUpdateHandler {
|
class PlayerUpdateHandler {
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
def onPlayerUpdate(e: LivingUpdateEvent) = {
|
def onPlayerUpdate(e: LivingUpdateEvent) = {
|
||||||
val player = OptionCast[EntityPlayer](e.entity).map { player =>
|
val player = OptionCast[EntityPlayer](e.entity).map { player =>
|
||||||
|
|
|
@ -4,8 +4,6 @@ import net.machinemuse.api.IModularItem;
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.numina.sound.Musique;
|
|
||||||
import net.machinemuse.general.sound.SoundLoader;
|
|
||||||
import net.machinemuse.powersuits.control.PlayerInputMap;
|
import net.machinemuse.powersuits.control.PlayerInputMap;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
|
@ -59,7 +57,7 @@ public class JetBootsModule extends PowerModuleBase implements IToggleableModule
|
||||||
if (player.isInWater()) {
|
if (player.isInWater()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
PlayerInputMap movementInput = PlayerInputMap.getInputMapFor(player.username);
|
PlayerInputMap movementInput = PlayerInputMap.getInputMapFor(player.getCommandSenderName());
|
||||||
boolean jumpkey = movementInput.jumpKey;
|
boolean jumpkey = movementInput.jumpKey;
|
||||||
ItemStack helmet = player.getCurrentArmor(3);
|
ItemStack helmet = player.getCurrentArmor(3);
|
||||||
boolean hasFlightControl = ModuleManager.itemHasActiveModule(helmet, FlightControlModule.MODULE_FLIGHT_CONTROL);
|
boolean hasFlightControl = ModuleManager.itemHasActiveModule(helmet, FlightControlModule.MODULE_FLIGHT_CONTROL);
|
||||||
|
@ -70,23 +68,23 @@ public class JetBootsModule extends PowerModuleBase implements IToggleableModule
|
||||||
thrust *= MusePlayerUtils.getWeightPenaltyRatio(MuseItemUtils.getPlayerWeight(player), 25000);
|
thrust *= MusePlayerUtils.getWeightPenaltyRatio(MuseItemUtils.getPlayerWeight(player), 25000);
|
||||||
if (hasFlightControl && thrust > 0) {
|
if (hasFlightControl && thrust > 0) {
|
||||||
thrust = MusePlayerUtils.thrust(player, thrust, true);
|
thrust = MusePlayerUtils.thrust(player, thrust, true);
|
||||||
Musique.playerSound(player, SoundLoader.SOUND_JETBOOTS, (float) (thrust*12.5), 1.0f, true);
|
// Musique.playerSound(player, SoundLoader.SOUND_JETBOOTS, (float) (thrust*12.5), 1.0f, true);
|
||||||
ElectricItemUtils.drainPlayerEnergy(player, thrust * jetEnergy);
|
ElectricItemUtils.drainPlayerEnergy(player, thrust * jetEnergy);
|
||||||
} else if (jumpkey && player.motionY < 0.5) {
|
} else if (jumpkey && player.motionY < 0.5) {
|
||||||
thrust = MusePlayerUtils.thrust(player, thrust, false);
|
thrust = MusePlayerUtils.thrust(player, thrust, false);
|
||||||
Musique.playerSound(player, SoundLoader.SOUND_JETBOOTS,(float) (thrust*12.5), 1.0f, true);
|
// Musique.playerSound(player, SoundLoader.SOUND_JETBOOTS,(float) (thrust*12.5), 1.0f, true);
|
||||||
ElectricItemUtils.drainPlayerEnergy(player, thrust * jetEnergy);
|
ElectricItemUtils.drainPlayerEnergy(player, thrust * jetEnergy);
|
||||||
} else {
|
} else {
|
||||||
Musique.stopPlayerSound(player, SoundLoader.SOUND_JETBOOTS);
|
// Musique.stopPlayerSound(player, SoundLoader.SOUND_JETBOOTS);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Musique.stopPlayerSound(player, SoundLoader.SOUND_JETBOOTS);
|
// Musique.stopPlayerSound(player, SoundLoader.SOUND_JETBOOTS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerTickInactive(EntityPlayer player, ItemStack item) {
|
public void onPlayerTickInactive(EntityPlayer player, ItemStack item) {
|
||||||
Musique.stopPlayerSound(player, SoundLoader.SOUND_JETBOOTS);
|
// Musique.stopPlayerSound(player, SoundLoader.SOUND_JETBOOTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -4,8 +4,6 @@ import net.machinemuse.api.IModularItem;
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.numina.sound.Musique;
|
|
||||||
import net.machinemuse.general.sound.SoundLoader;
|
|
||||||
import net.machinemuse.powersuits.control.PlayerInputMap;
|
import net.machinemuse.powersuits.control.PlayerInputMap;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
|
@ -58,7 +56,7 @@ public class JetPackModule extends PowerModuleBase implements IToggleableModule,
|
||||||
if (player.isInWater()) {
|
if (player.isInWater()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
PlayerInputMap movementInput = PlayerInputMap.getInputMapFor(player.username);
|
PlayerInputMap movementInput = PlayerInputMap.getInputMapFor(player.getCommandSenderName());
|
||||||
boolean jumpkey = movementInput.jumpKey;
|
boolean jumpkey = movementInput.jumpKey;
|
||||||
ItemStack helmet = player.getCurrentArmor(3);
|
ItemStack helmet = player.getCurrentArmor(3);
|
||||||
boolean hasFlightControl = helmet != null && helmet.getItem() instanceof IModularItem
|
boolean hasFlightControl = helmet != null && helmet.getItem() instanceof IModularItem
|
||||||
|
@ -88,7 +86,7 @@ public class JetPackModule extends PowerModuleBase implements IToggleableModule,
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerTickInactive(EntityPlayer player, ItemStack item) {
|
public void onPlayerTickInactive(EntityPlayer player, ItemStack item) {
|
||||||
Musique.stopPlayerSound(player, SoundLoader.SOUND_JETPACK);
|
// Musique.stopPlayerSound(player, SoundLoader.SOUND_JETPACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -4,8 +4,6 @@ import net.machinemuse.api.IModularItem;
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.numina.sound.Musique;
|
|
||||||
import net.machinemuse.general.sound.SoundLoader;
|
|
||||||
import net.machinemuse.powersuits.control.PlayerInputMap;
|
import net.machinemuse.powersuits.control.PlayerInputMap;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
|
@ -55,7 +53,7 @@ public class SwimAssistModule extends PowerModuleBase implements IToggleableModu
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerTickActive(EntityPlayer player, ItemStack item) {
|
public void onPlayerTickActive(EntityPlayer player, ItemStack item) {
|
||||||
if (player.isInWater() && !(player.isRiding())) {
|
if (player.isInWater() && !(player.isRiding())) {
|
||||||
PlayerInputMap movementInput = PlayerInputMap.getInputMapFor(player.username);
|
PlayerInputMap movementInput = PlayerInputMap.getInputMapFor(player.getCommandSenderName());
|
||||||
boolean jumpkey = movementInput.jumpKey;
|
boolean jumpkey = movementInput.jumpKey;
|
||||||
boolean sneakkey = movementInput.sneakKey;
|
boolean sneakkey = movementInput.sneakKey;
|
||||||
float forwardkey = movementInput.forwardKey;
|
float forwardkey = movementInput.forwardKey;
|
||||||
|
@ -74,22 +72,22 @@ public class SwimAssistModule extends PowerModuleBase implements IToggleableModu
|
||||||
double swimAssistRate = ModuleManager.computeModularProperty(item, SWIM_BOOST_AMOUNT) * 0.05;
|
double swimAssistRate = ModuleManager.computeModularProperty(item, SWIM_BOOST_AMOUNT) * 0.05;
|
||||||
double swimEnergyConsumption = ModuleManager.computeModularProperty(item, SWIM_BOOST_ENERGY_CONSUMPTION);
|
double swimEnergyConsumption = ModuleManager.computeModularProperty(item, SWIM_BOOST_ENERGY_CONSUMPTION);
|
||||||
if (swimEnergyConsumption < ElectricItemUtils.getPlayerEnergy(player)) {
|
if (swimEnergyConsumption < ElectricItemUtils.getPlayerEnergy(player)) {
|
||||||
Musique.playerSound(player, SoundLoader.SOUND_SWIMASSIST, 1.0f, 1.0f, true);
|
// Musique.playerSound(player, SoundLoader.SOUND_SWIMASSIST, 1.0f, 1.0f, true);
|
||||||
MusePlayerUtils.thrust(player, swimAssistRate, true);
|
MusePlayerUtils.thrust(player, swimAssistRate, true);
|
||||||
} else {
|
} else {
|
||||||
Musique.stopPlayerSound(player, SoundLoader.SOUND_SWIMASSIST);
|
// Musique.stopPlayerSound(player, SoundLoader.SOUND_SWIMASSIST);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Musique.stopPlayerSound(player, SoundLoader.SOUND_SWIMASSIST);
|
// Musique.stopPlayerSound(player, SoundLoader.SOUND_SWIMASSIST);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Musique.stopPlayerSound(player, SoundLoader.SOUND_SWIMASSIST);
|
// Musique.stopPlayerSound(player, SoundLoader.SOUND_SWIMASSIST);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerTickInactive(EntityPlayer player, ItemStack item) {
|
public void onPlayerTickInactive(EntityPlayer player, ItemStack item) {
|
||||||
Musique.stopPlayerSound(player, SoundLoader.SOUND_SWIMASSIST);
|
// Musique.stopPlayerSound(player, SoundLoader.SOUND_SWIMASSIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -11,6 +11,7 @@ import net.machinemuse.utils.MuseCommonStrings;
|
||||||
import net.machinemuse.utils.MuseItemUtils;
|
import net.machinemuse.utils.MuseItemUtils;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.init.Items;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.StatCollector;
|
import net.minecraft.util.StatCollector;
|
||||||
|
@ -22,14 +23,13 @@ import java.util.List;
|
||||||
|
|
||||||
public class AxeModule extends PowerModuleBase implements IBlockBreakingModule, IToggleableModule {
|
public class AxeModule extends PowerModuleBase implements IBlockBreakingModule, IToggleableModule {
|
||||||
public static final String MODULE_AXE = "Axe";
|
public static final String MODULE_AXE = "Axe";
|
||||||
public static final ItemStack ironAxe = new ItemStack(Item.axeIron);
|
public static final ItemStack ironAxe = new ItemStack(Items.iron_axe);
|
||||||
public static final String AXE_ENERGY_CONSUMPTION = "Axe Energy Consumption";
|
public static final String AXE_ENERGY_CONSUMPTION = "Axe Energy Consumption";
|
||||||
public static final String AXE_HARVEST_SPEED = "Axe Harvest Speed";
|
public static final String AXE_HARVEST_SPEED = "Axe Harvest Speed";
|
||||||
public static final String AXE_SEARCH_RADIUS = "Axe Search Radius";
|
public static final String AXE_SEARCH_RADIUS = "Axe Search Radius";
|
||||||
|
|
||||||
public AxeModule(List<IModularItem> validItems) {
|
public AxeModule(List<IModularItem> validItems) {
|
||||||
super(validItems);
|
super(validItems);
|
||||||
addInstallCost(new ItemStack(Item.ingotIron, 3));
|
|
||||||
addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.solenoid, 1));
|
addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.solenoid, 1));
|
||||||
addBaseProperty(AXE_ENERGY_CONSUMPTION, 50, "J");
|
addBaseProperty(AXE_ENERGY_CONSUMPTION, 50, "J");
|
||||||
addBaseProperty(AXE_HARVEST_SPEED, 8, "x");
|
addBaseProperty(AXE_HARVEST_SPEED, 8, "x");
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package net.machinemuse.powersuits.powermodule.tool;
|
package net.machinemuse.powersuits.powermodule.tool;
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.eventhandler.Event;
|
||||||
import net.machinemuse.api.IModularItem;
|
import net.machinemuse.api.IModularItem;
|
||||||
import net.machinemuse.api.IPowerModule;
|
import net.machinemuse.api.IPowerModule;
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
@ -11,13 +12,13 @@ import net.machinemuse.utils.MuseCommonStrings;
|
||||||
import net.machinemuse.utils.MuseItemUtils;
|
import net.machinemuse.utils.MuseItemUtils;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.IIcon;
|
import net.minecraft.util.IIcon;
|
||||||
import net.minecraft.util.StatCollector;
|
import net.minecraft.util.StatCollector;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.event.Event.Result;
|
|
||||||
import net.minecraftforge.event.entity.player.UseHoeEvent;
|
import net.minecraftforge.event.entity.player.UseHoeEvent;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -29,7 +30,6 @@ public class HoeModule extends PowerModuleBase implements IPowerModule, IRightCl
|
||||||
|
|
||||||
public HoeModule(List<IModularItem> validItems) {
|
public HoeModule(List<IModularItem> validItems) {
|
||||||
super(validItems);
|
super(validItems);
|
||||||
addInstallCost(new ItemStack(Item.ingotIron, 2));
|
|
||||||
addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.solenoid, 1));
|
addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.solenoid, 1));
|
||||||
|
|
||||||
addBaseProperty(HOE_ENERGY_CONSUMPTION, 50);
|
addBaseProperty(HOE_ENERGY_CONSUMPTION, 50);
|
||||||
|
@ -50,7 +50,7 @@ public class HoeModule extends PowerModuleBase implements IPowerModule, IRightCl
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.getResult() == Result.ALLOW) {
|
if (event.getResult() == Event.Result.ALLOW) {
|
||||||
ElectricItemUtils.drainPlayerEnergy(player, energyConsumed);
|
ElectricItemUtils.drainPlayerEnergy(player, energyConsumed);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -62,17 +62,17 @@ public class HoeModule extends PowerModuleBase implements IPowerModule, IRightCl
|
||||||
for (int i = (int) Math.floor(-radius); i < radius; i++) {
|
for (int i = (int) Math.floor(-radius); i < radius; i++) {
|
||||||
for (int j = (int) Math.floor(-radius); j < radius; j++) {
|
for (int j = (int) Math.floor(-radius); j < radius; j++) {
|
||||||
if (i * i + j * j < radius * radius) {
|
if (i * i + j * j < radius * radius) {
|
||||||
int id = world.getBlockId(x + i, y, z + j);
|
Block block = world.getBlock(x + i, y, z + j);
|
||||||
if (id == Block.grass.blockID || id == Block.dirt.blockID) {
|
if (block == Blocks.grass || block == Blocks.dirt) {
|
||||||
world.setBlock(x + i, y, z + j, Block.tilledField.blockID);
|
world.setBlock(x + i, y, z + j, Blocks.farmland);
|
||||||
ElectricItemUtils.drainPlayerEnergy(player, ModuleManager.computeModularProperty(itemStack, HOE_ENERGY_CONSUMPTION));
|
ElectricItemUtils.drainPlayerEnergy(player, ModuleManager.computeModularProperty(itemStack, HOE_ENERGY_CONSUMPTION));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
world.playSoundEffect((double) ((float) x + 0.5F), (double) ((float) y + 0.5F), (double) ((float) z + 0.5F),
|
// Musique world.playSoundEffect((double) ((float) x + 0.5F), (double) ((float) y + 0.5F), (double) ((float) z + 0.5F),
|
||||||
Block.tilledField.stepSound.getStepSound(), (Block.tilledField.stepSound.getVolume() + 1.0F) / 2.0F,
|
// Blocks.farmland.stepSound.getStepSound(), (Blocks.farmland.stepSound.getVolume() + 1.0F) / 2.0F,
|
||||||
Block.tilledField.stepSound.getPitch() * 0.8F);
|
// Blocks.farmland.stepSound.getPitch() * 0.8F);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,64 +0,0 @@
|
||||||
package net.machinemuse.powersuits.tick;
|
|
||||||
|
|
||||||
import cpw.mods.fml.common.ITickHandler;
|
|
||||||
import cpw.mods.fml.common.TickType;
|
|
||||||
import cpw.mods.fml.common.network.Player;
|
|
||||||
import net.machinemuse.general.gui.clickable.ClickableKeybinding;
|
|
||||||
import net.machinemuse.numina.network.MusePacket;
|
|
||||||
import net.machinemuse.numina.network.PacketSender;
|
|
||||||
import net.machinemuse.powersuits.control.KeybindManager;
|
|
||||||
import net.machinemuse.powersuits.control.PlayerInputMap;
|
|
||||||
import net.machinemuse.powersuits.network.packets.MusePacketPlayerUpdate;
|
|
||||||
import net.machinemuse.utils.MuseItemUtils;
|
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
import net.minecraft.client.entity.EntityClientPlayerMP;
|
|
||||||
|
|
||||||
import java.util.EnumSet;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This handler is called before/after the game processes input events and
|
|
||||||
* updates the gui state mainly. *independent of rendering, so don't do rendering here
|
|
||||||
* -is also the parent class of KeyBindingHandler
|
|
||||||
*
|
|
||||||
* @author MachineMuse
|
|
||||||
*/
|
|
||||||
public class ClientTickHandler implements ITickHandler {
|
|
||||||
@Override
|
|
||||||
public void tickStart(EnumSet<TickType> type, Object... tickData) {
|
|
||||||
for (ClickableKeybinding kb : KeybindManager.getKeybindings()) {
|
|
||||||
kb.doToggleTick();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void tickEnd(EnumSet<TickType> type, Object... tickData) {
|
|
||||||
EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
|
|
||||||
if (player != null && MuseItemUtils.getModularItemsInInventory(player).size() > 0) {
|
|
||||||
PlayerInputMap inputmap = PlayerInputMap.getInputMapFor(player.username);
|
|
||||||
inputmap.forwardKey = Math.signum(player.movementInput.moveForward);
|
|
||||||
inputmap.strafeKey = Math.signum(player.movementInput.moveStrafe);
|
|
||||||
inputmap.jumpKey = player.movementInput.jump;
|
|
||||||
inputmap.sneakKey = player.movementInput.sneak;
|
|
||||||
inputmap.motionX = player.motionX;
|
|
||||||
inputmap.motionY = player.motionY;
|
|
||||||
inputmap.motionZ = player.motionZ;
|
|
||||||
|
|
||||||
if (inputmap.hasChanged()) {
|
|
||||||
inputmap.refresh();
|
|
||||||
MusePacket inputPacket = new MusePacketPlayerUpdate(player, inputmap);
|
|
||||||
PacketSender.sendToServer(inputPacket.getPacket131());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public EnumSet<TickType> ticks() {
|
|
||||||
return EnumSet.of(TickType.CLIENT);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getLabel() {
|
|
||||||
return "MMMPS: Client Tick";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
package net.machinemuse.powersuits.tick
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent
|
||||||
|
import cpw.mods.fml.common.gameevent.TickEvent
|
||||||
|
import net.machinemuse.numina.network.{MusePacket, PacketSender}
|
||||||
|
import net.machinemuse.powersuits.control.{KeybindManager, PlayerInputMap}
|
||||||
|
import net.machinemuse.powersuits.network.packets.MusePacketPlayerUpdate
|
||||||
|
import net.machinemuse.utils.MuseItemUtils
|
||||||
|
import net.minecraft.client.Minecraft
|
||||||
|
import net.minecraft.client.entity.EntityClientPlayerMP
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This handler is called before/after the game processes input events and
|
||||||
|
* updates the gui state mainly. *independent of rendering, so don't do rendering here
|
||||||
|
* -is also the parent class of KeyBindingHandler
|
||||||
|
*
|
||||||
|
* @author MachineMuse
|
||||||
|
*/
|
||||||
|
class ClientTickHandler {
|
||||||
|
@SubscribeEvent def onPreClientTick(event: TickEvent.ClientTickEvent) {
|
||||||
|
if (event.phase == TickEvent.Phase.START) {
|
||||||
|
import scala.collection.JavaConversions._
|
||||||
|
for (kb <- KeybindManager.getKeybindings) {
|
||||||
|
kb.doToggleTick()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
val player: EntityClientPlayerMP = Minecraft.getMinecraft.thePlayer
|
||||||
|
if (player != null && MuseItemUtils.getModularItemsInInventory(player).size > 0) {
|
||||||
|
val inputmap: PlayerInputMap = PlayerInputMap.getInputMapFor(player.getCommandSenderName)
|
||||||
|
inputmap.forwardKey = Math.signum(player.movementInput.moveForward)
|
||||||
|
inputmap.strafeKey = Math.signum(player.movementInput.moveStrafe)
|
||||||
|
inputmap.jumpKey = player.movementInput.jump
|
||||||
|
inputmap.sneakKey = player.movementInput.sneak
|
||||||
|
inputmap.motionX = player.motionX
|
||||||
|
inputmap.motionY = player.motionY
|
||||||
|
inputmap.motionZ = player.motionZ
|
||||||
|
if (inputmap.hasChanged) {
|
||||||
|
inputmap.refresh()
|
||||||
|
val inputPacket: MusePacket = new MusePacketPlayerUpdate(player, inputmap)
|
||||||
|
PacketSender.sendToServer(inputPacket.getPacket131)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue