summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiovanni Harting <539@idlegandalf.com>2018-06-12 10:23:41 +0200
committerGiovanni Harting <539@idlegandalf.com>2018-06-12 10:23:41 +0200
commitddb56b60435c34fb7d06894fc543c81cd8961c7a (patch)
tree3318d2a20c0178a54d7b687a9f268e11f82ef69f
parentd585d781f635d7f880eac7727baac4cc9570b8c8 (diff)
added modifier key to right click actions of traits, now requires default LCONTROL to be pressed. fixes #112
Signed-off-by: Giovanni Harting <539@idlegandalf.com>
-rw-r--r--src/main/java/com/sosnitzka/taiga/Keybindings.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/TAIGA.java1
-rw-r--r--src/main/java/com/sosnitzka/taiga/proxy/ClientProxy.java7
-rw-r--r--src/main/java/com/sosnitzka/taiga/proxy/CommonProxy.java4
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitBerserk.java19
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitCatcher.java4
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitHollow.java1
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitMelting.java1
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitMutate.java3
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitNatureBound.java1
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitPorted.java3
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitTantrum.java5
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitWhirl.java3
-rw-r--r--src/main/resources/assets/taiga/lang/en_US.lang8
14 files changed, 47 insertions, 22 deletions
diff --git a/src/main/java/com/sosnitzka/taiga/Keybindings.java b/src/main/java/com/sosnitzka/taiga/Keybindings.java
new file mode 100644
index 0000000..316a2a5
--- /dev/null
+++ b/src/main/java/com/sosnitzka/taiga/Keybindings.java
@@ -0,0 +1,9 @@
+package com.sosnitzka.taiga;
+
+import net.minecraft.client.settings.KeyBinding;
+import org.lwjgl.input.Keyboard;
+
+public class Keybindings {
+ public static KeyBinding altKey = new KeyBinding("key.taiga.alt_action", Keyboard.KEY_LCONTROL, "TAIGA");
+
+}
diff --git a/src/main/java/com/sosnitzka/taiga/TAIGA.java b/src/main/java/com/sosnitzka/taiga/TAIGA.java
index fff7321..2c6871f 100644
--- a/src/main/java/com/sosnitzka/taiga/TAIGA.java
+++ b/src/main/java/com/sosnitzka/taiga/TAIGA.java
@@ -58,6 +58,7 @@ public class TAIGA {
@EventHandler
public void init(FMLInitializationEvent e) {
proxy.registerModels(); // Registers models on the client side
+ proxy.regsiterKeyBindings();
Fluids.registerfromItem(); // Registers some special smeltery recipes (not alloying)
GameRegistry.registerWorldGenerator(WorldGen.getInstance(), 100); // Generates ores
diff --git a/src/main/java/com/sosnitzka/taiga/proxy/ClientProxy.java b/src/main/java/com/sosnitzka/taiga/proxy/ClientProxy.java
index b48fd2c..8e483b1 100644
--- a/src/main/java/com/sosnitzka/taiga/proxy/ClientProxy.java
+++ b/src/main/java/com/sosnitzka/taiga/proxy/ClientProxy.java
@@ -17,6 +17,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fml.client.registry.ClientRegistry;
import slimeknights.mantle.client.book.repository.FileRepository;
import slimeknights.tconstruct.library.book.TinkerBook;
import slimeknights.tconstruct.library.client.MaterialRenderInfo;
@@ -27,6 +28,7 @@ import javax.annotation.Nonnull;
import java.lang.reflect.Field;
import static com.sosnitzka.taiga.Fluids.*;
+import static com.sosnitzka.taiga.Keybindings.altKey;
import static com.sosnitzka.taiga.MaterialTraits.*;
import static slimeknights.mantle.client.book.BookLoader.registerPageType;
@@ -42,6 +44,11 @@ public class ClientProxy extends CommonProxy {
}
@Override
+ public void regsiterKeyBindings() {
+ ClientRegistry.registerKeyBinding(altKey);
+ }
+
+ @Override
public void registerModels() {
Field[] itemFields = Items.class.getDeclaredFields();
for (Field field : itemFields) {
diff --git a/src/main/java/com/sosnitzka/taiga/proxy/CommonProxy.java b/src/main/java/com/sosnitzka/taiga/proxy/CommonProxy.java
index 0ae4808..196676f 100644
--- a/src/main/java/com/sosnitzka/taiga/proxy/CommonProxy.java
+++ b/src/main/java/com/sosnitzka/taiga/proxy/CommonProxy.java
@@ -27,4 +27,8 @@ public class CommonProxy {
public void registerBookPages() {
}
+
+ public void regsiterKeyBindings() {
+
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitBerserk.java b/src/main/java/com/sosnitzka/taiga/traits/TraitBerserk.java
index b255b0f..0410547 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitBerserk.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitBerserk.java
@@ -16,6 +16,8 @@ import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
import slimeknights.tconstruct.library.utils.ToolHelper;
+import static com.sosnitzka.taiga.Keybindings.altKey;
+
public class TraitBerserk extends TraitProgressiveStats {
@@ -53,11 +55,10 @@ public class TraitBerserk extends TraitProgressiveStats {
NBTTagCompound root = TagUtil.getTagSafe(tool);
StatNBT distributed = getBonus(root);
if (data.active) {
- TagUtil.setEnchantEffect(root, true);
- if (entity instanceof FakePlayer) {
- return;
- }
- if (entity.ticksExisted % TICK_PER_STAT > 0) {
+ if (!TagUtil.hasEnchantEffect(root))
+ TagUtil.setEnchantEffect(root, true);
+
+ if (entity instanceof FakePlayer || entity.ticksExisted % TICK_PER_STAT != 0) {
return;
}
@@ -69,7 +70,10 @@ public class TraitBerserk extends TraitProgressiveStats {
ToolHelper.damageTool(tool, 1, player);
TagUtil.setToolTag(root, stat.get());
setBonus(root, distributed);
- } else TagUtil.setEnchantEffect(root, false);
+ } else {
+ if (TagUtil.hasEnchantEffect(root))
+ TagUtil.setEnchantEffect(root, false);
+ }
}
}
@@ -77,7 +81,7 @@ public class TraitBerserk extends TraitProgressiveStats {
public void onRightClickItem(PlayerInteractEvent.RightClickItem event) {
World w = event.getWorld();
ItemStack tool = event.getEntityPlayer().getHeldItemMainhand();
- if (!w.isRemote && TinkerUtil.hasTrait(TagUtil.getTagSafe(tool), identifier)) {
+ if (!w.isRemote && TinkerUtil.hasTrait(TagUtil.getTagSafe(tool), identifier) && altKey.isKeyDown()) {
NBTTagCompound tag = TagUtil.getExtraTag(tool);
Utils.GeneralNBTData data = Utils.GeneralNBTData.read(tag);
NBTTagCompound root = TagUtil.getTagSafe(tool);
@@ -99,7 +103,6 @@ public class TraitBerserk extends TraitProgressiveStats {
TagUtil.setExtraTag(root, tag);
data.write(tag);
}
-
}
}
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitCatcher.java b/src/main/java/com/sosnitzka/taiga/traits/TraitCatcher.java
index 1f17b46..e84f2fc 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitCatcher.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitCatcher.java
@@ -23,6 +23,8 @@ import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
import slimeknights.tconstruct.library.utils.ToolHelper;
+import static com.sosnitzka.taiga.Keybindings.altKey;
+
public class TraitCatcher extends AbstractTrait {
@@ -81,7 +83,7 @@ public class TraitCatcher extends AbstractTrait {
World w = event.getWorld();
BlockPos pos = event.getEntityPlayer().getPosition();
ItemStack tool = event.getEntityPlayer().getHeldItemMainhand();
- if (!w.isRemote && TinkerUtil.hasTrait(TagUtil.getTagSafe(tool), identifier)) {
+ if (!w.isRemote && TinkerUtil.hasTrait(TagUtil.getTagSafe(tool), identifier) && altKey.isKeyDown()) {
NBTTagCompound tag = TagUtil.getExtraTag(tool);
Data data = Data.read(tag);
if (!data.mobClass.isEmpty()) {
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitHollow.java b/src/main/java/com/sosnitzka/taiga/traits/TraitHollow.java
index c563fdc..8696303 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitHollow.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitHollow.java
@@ -24,7 +24,6 @@ public class TraitHollow extends AbstractTrait {
MinecraftForge.EVENT_BUS.register(this);
}
-
@Override
public void onHit(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, boolean
isCritical) {
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitMelting.java b/src/main/java/com/sosnitzka/taiga/traits/TraitMelting.java
index bae815f..4540d3e 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitMelting.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitMelting.java
@@ -18,7 +18,6 @@ public class TraitMelting extends AbstractTrait {
MinecraftForge.EVENT_BUS.register(this);
}
-
@SubscribeEvent
public void blockbreak(BlockEvent.BreakEvent e) {
Block b = e.getWorld().getBlockState(e.getPos()).getBlock();
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitMutate.java b/src/main/java/com/sosnitzka/taiga/traits/TraitMutate.java
index a6e2e4e..6830cda 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitMutate.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitMutate.java
@@ -15,8 +15,6 @@ import static com.google.common.collect.Lists.newArrayList;
public class TraitMutate extends AbstractTrait {
-
-
public TraitMutate() {
super(TraitMutate.class.getSimpleName().toLowerCase().substring(5), TextFormatting.YELLOW);
MinecraftForge.EVENT_BUS.register(this);
@@ -37,7 +35,6 @@ public class TraitMutate extends AbstractTrait {
}
}
-
}
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitNatureBound.java b/src/main/java/com/sosnitzka/taiga/traits/TraitNatureBound.java
index 53f4d86..c9a0313 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitNatureBound.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitNatureBound.java
@@ -12,7 +12,6 @@ import slimeknights.tconstruct.library.utils.ToolHelper;
public class TraitNatureBound extends AbstractTrait {
-
public TraitNatureBound() {
super("naturebound", TextFormatting.GREEN);
MinecraftForge.EVENT_BUS.register(this);
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitPorted.java b/src/main/java/com/sosnitzka/taiga/traits/TraitPorted.java
index 25d1a4c..ca95f04 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitPorted.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitPorted.java
@@ -1,5 +1,6 @@
package com.sosnitzka.taiga.traits;
+import com.sosnitzka.taiga.Keybindings;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
@@ -28,7 +29,7 @@ public class TraitPorted extends AbstractTrait {
@SubscribeEvent
public void onItemRightClick(PlayerInteractEvent.RightClickItem e) {
ItemStack tool = e.getEntityPlayer().getHeldItemMainhand();
- if (TinkerUtil.hasTrait(TagUtil.getTagSafe(tool), identifier))
+ if (TinkerUtil.hasTrait(TagUtil.getTagSafe(tool), identifier) && Keybindings.altKey.isKeyDown())
teleport(e.getEntityPlayer(), e.getWorld());
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitTantrum.java b/src/main/java/com/sosnitzka/taiga/traits/TraitTantrum.java
index 77630b1..0d70130 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitTantrum.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitTantrum.java
@@ -1,5 +1,6 @@
package com.sosnitzka.taiga.traits;
+import com.sosnitzka.taiga.Keybindings;
import com.sosnitzka.taiga.util.Utils;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
@@ -61,11 +62,11 @@ public class TraitTantrum extends AbstractTrait {
}
@SubscribeEvent
- public void RightClickItem(PlayerInteractEvent.RightClickItem event) {
+ public void rightClickItem(PlayerInteractEvent.RightClickItem event) {
World w = event.getWorld();
BlockPos pos = event.getPos();
ItemStack tool = event.getEntityPlayer().getHeldItemMainhand();
- if (!w.isRemote && TinkerUtil.hasTrait(TagUtil.getTagSafe(tool), identifier)) {
+ if (!w.isRemote && TinkerUtil.hasTrait(TagUtil.getTagSafe(tool), identifier) && Keybindings.altKey.isKeyDown()) {
NBTTagCompound tag = TagUtil.getExtraTag(tool);
Data data = Data.read(tag);
if (data.amount > 1f) {
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitWhirl.java b/src/main/java/com/sosnitzka/taiga/traits/TraitWhirl.java
index 41dc284..fd57471 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitWhirl.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitWhirl.java
@@ -1,5 +1,6 @@
package com.sosnitzka.taiga.traits;
+import com.sosnitzka.taiga.Keybindings;
import com.sosnitzka.taiga.util.Utils;
import net.minecraft.entity.Entity;
import net.minecraft.init.Blocks;
@@ -55,7 +56,7 @@ public class TraitWhirl extends AbstractTrait {
public void onRightClickItem(PlayerInteractEvent.RightClickItem event) {
World w = event.getWorld();
ItemStack tool = event.getEntityPlayer().getHeldItemMainhand();
- if (!w.isRemote && TinkerUtil.hasTrait(TagUtil.getTagSafe(tool), identifier)) {
+ if (!w.isRemote && TinkerUtil.hasTrait(TagUtil.getTagSafe(tool), identifier) && Keybindings.altKey.isKeyDown()) {
NBTTagCompound tag = TagUtil.getExtraTag(tool);
Utils.GeneralNBTData data = Utils.GeneralNBTData.read(tag);
if ((int) data.radius >= 1) {
diff --git a/src/main/resources/assets/taiga/lang/en_US.lang b/src/main/resources/assets/taiga/lang/en_US.lang
index b6de37b..10be8df 100644
--- a/src/main/resources/assets/taiga/lang/en_US.lang
+++ b/src/main/resources/assets/taiga/lang/en_US.lang
@@ -351,8 +351,8 @@ modifier.whirl.name=Whirl
modifier.whirl.desc=§oLike a sponge!§r\nRemove water at a gained radius.
modifier.souleater.name=Soul Eater
modifier.souleater.desc=§oKill a lot, be a veteran§r\nIf you kill a lot of enemies, your weapon will get stronger.
-modifier.beserk.name=BESERK
-modifier.beserk.desc=§oBecome the Hulk!§r\nActivate the life consumption and be three times faster and stronger.
+modifier.berserk.name=BESERK
+modifier.berserk.desc=§oBecome the Hulk!§r\nActivate the life consumption and be three times faster and stronger.
modifier.tantrum.name=Tantrum
modifier.tantrum.desc=§oCast an explosion!§r\nIf you activate the stacked explosion you won't get hurt.
modifier.decay.name=Decay
@@ -366,4 +366,6 @@ modifier.crushing.desc=WIP
gui.taiga_configuration.mainTitle=TAIGA Configuration
itemGroup.taiga_block=TAIGA Blocks
-itemGroup.taiga_item=TAIGA Items \ No newline at end of file
+itemGroup.taiga_item=TAIGA Items
+
+key.taiga.alt_action=Mod Tool \ No newline at end of file