diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java b/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java index 5422ed836..42591bca7 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java @@ -25,13 +25,11 @@ import com.atsuishio.superbwarfare.item.gun.smg.VectorItem; import com.atsuishio.superbwarfare.item.gun.sniper.*; import com.atsuishio.superbwarfare.item.gun.special.BocekItem; import com.atsuishio.superbwarfare.item.gun.special.TaserItem; +import com.atsuishio.superbwarfare.tiers.ModItemTier; import com.atsuishio.superbwarfare.tools.Ammo; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; -import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ProjectileItem; -import net.minecraft.world.item.Rarity; +import net.minecraft.world.item.*; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.DispenserBlock; import net.neoforged.bus.api.IEventBus; @@ -144,8 +142,9 @@ public class ModItems { public static final DeferredHolder DETONATOR = ITEMS.register("detonator", Detonator::new); public static final DeferredHolder TARGET_DEPLOYER = ITEMS.register("target_deployer", TargetDeployer::new); public static final DeferredHolder DPS_GENERATOR_DEPLOYER = ITEMS.register("dps_generator_deployer", DPSGeneratorDeployer::new); - public static final DeferredHolder KNIFE = ITEMS.register("knife", Knife::new); + public static final DeferredHolder KNIFE = ITEMS.register("knife", () -> new SwordItem(ModItemTier.STEEL, new Item.Properties().attributes(SwordItem.createAttributes(ModItemTier.STEEL, 0, -1.8f)))); public static final DeferredHolder HAMMER = ITEMS.register("hammer", Hammer::new); + public static final DeferredHolder ELECTRIC_BATON = ITEMS.register("electric_baton", ElectricBaton::new); public static final DeferredHolder CROWBAR = ITEMS.register("crowbar", Crowbar::new); public static final DeferredHolder DEFUSER = ITEMS.register("defuser", Defuser::new); public static final DeferredHolder ARMOR_PLATE = ITEMS.register("armor_plate", ArmorPlate::new); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/ElectricBaton.java b/src/main/java/com/atsuishio/superbwarfare/item/ElectricBaton.java new file mode 100644 index 000000000..1c3d683a2 --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/item/ElectricBaton.java @@ -0,0 +1,18 @@ +package com.atsuishio.superbwarfare.item; + +import com.atsuishio.superbwarfare.tiers.ModItemTier; +import net.minecraft.world.item.SwordItem; + +public class ElectricBaton extends SwordItem implements EnergyStorageItem { + public ElectricBaton() { + super(ModItemTier.STEEL, new Properties() + .durability(1114) + .attributes(SwordItem.createAttributes(ModItemTier.STEEL, 3, -2.5f)) + ); + } + + @Override + public int getMaxEnergy() { + return 6000; + } +} diff --git a/src/main/java/com/atsuishio/superbwarfare/item/Hammer.java b/src/main/java/com/atsuishio/superbwarfare/item/Hammer.java index ec7826c47..e236a7c00 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/Hammer.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/Hammer.java @@ -1,14 +1,10 @@ package com.atsuishio.superbwarfare.item; import com.atsuishio.superbwarfare.init.ModItems; -import net.minecraft.tags.BlockTags; -import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; import net.minecraft.world.item.SwordItem; -import net.minecraft.world.item.Tier; -import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.level.block.Block; +import net.minecraft.world.item.Tiers; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.neoforge.event.entity.player.PlayerEvent; @@ -17,39 +13,11 @@ import org.jetbrains.annotations.NotNull; @EventBusSubscriber(bus = EventBusSubscriber.Bus.GAME) public class Hammer extends SwordItem { - public static final Tier TIER = new Tier() { - public int getUses() { - return 400; - } - - public float getSpeed() { - return 4f; - } - - public float getAttackDamageBonus() { - return 8f; - } - - @Override - public @NotNull TagKey getIncorrectBlocksForDrops() { - return BlockTags.INCORRECT_FOR_IRON_TOOL; - } - - public int getLevel() { - return 1; - } - - public int getEnchantmentValue() { - return 9; - } - - public @NotNull Ingredient getRepairIngredient() { - return Ingredient.of(new ItemStack(Items.IRON_INGOT)); - } - }; - public Hammer() { - super(TIER, new Properties().attributes(SwordItem.createAttributes(TIER, 3, -3.2f)).stacksTo(1)); + super(Tiers.IRON, new Item.Properties() + .durability(400) + .attributes(SwordItem.createAttributes(Tiers.IRON, 9, -3.2f)) + ); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/item/Knife.java b/src/main/java/com/atsuishio/superbwarfare/item/Knife.java deleted file mode 100644 index 6e46cecc1..000000000 --- a/src/main/java/com/atsuishio/superbwarfare/item/Knife.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.atsuishio.superbwarfare.item; - -import com.atsuishio.superbwarfare.init.ModItems; -import net.minecraft.tags.BlockTags; -import net.minecraft.tags.TagKey; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.SwordItem; -import net.minecraft.world.item.Tier; -import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.level.block.Block; -import org.jetbrains.annotations.NotNull; - -public class Knife extends SwordItem { - - private static final Tier TIER = new Tier() { - public int getUses() { - return 1500; - } - - public float getSpeed() { - return 7f; - } - - public float getAttackDamageBonus() { - return 2.5f; - } - - @Override - public @NotNull TagKey getIncorrectBlocksForDrops() { - return BlockTags.INCORRECT_FOR_IRON_TOOL; - } - - public int getLevel() { - return 2; - } - - public int getEnchantmentValue() { - return 2; - } - - public @NotNull Ingredient getRepairIngredient() { - return Ingredient.of(new ItemStack(ModItems.STEEL_INGOT.get())); - } - }; - - public Knife() { - super(TIER, new Properties().attributes(SwordItem.createAttributes(TIER, 3, -1.8f)).stacksTo(1)); - } -} diff --git a/src/main/java/com/atsuishio/superbwarfare/tiers/ModItemTier.java b/src/main/java/com/atsuishio/superbwarfare/tiers/ModItemTier.java new file mode 100644 index 000000000..58098d12d --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/tiers/ModItemTier.java @@ -0,0 +1,60 @@ +package com.atsuishio.superbwarfare.tiers; + +import com.atsuishio.superbwarfare.init.ModItems; +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.block.Block; +import org.jetbrains.annotations.NotNull; + +import java.util.function.Supplier; + +public enum ModItemTier implements Tier { + STEEL(400, 6.0f, 5.5f, 15, () -> Ingredient.of(ModItems.STEEL_INGOT.get())), + ; + + private final int uses; + private final float speed; + private final float damage; + private final int enchantmentValue; + private final Supplier repairIngredient; + + ModItemTier(int uses, float speed, float damage, int enchantmentValue, Supplier repairIngredient) { + this.uses = uses; + this.speed = speed; + this.damage = damage; + this.enchantmentValue = enchantmentValue; + this.repairIngredient = repairIngredient; + } + + @Override + public int getUses() { + return uses; + } + + @Override + public float getSpeed() { + return speed; + } + + @Override + public float getAttackDamageBonus() { + return damage; + } + + @Override + public @NotNull TagKey getIncorrectBlocksForDrops() { + return BlockTags.INCORRECT_FOR_IRON_TOOL; + } + + @Override + public int getEnchantmentValue() { + return enchantmentValue; + } + + @Override + public @NotNull Ingredient getRepairIngredient() { + return repairIngredient.get(); + } +} diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index 0e52378a3..326dbe175 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -184,6 +184,7 @@ "item.superbwarfare.senpai_spawn_egg": "Senpai Spawn Egg", "item.superbwarfare.knife": "Knife", "item.superbwarfare.hammer": "Hammer", + "item.superbwarfare.electric_baton": "Electric Baton", "item.superbwarfare.crowbar": "Crowbar", "des.superbwarfare.crowbar": "Right-click to open containers. Pick up vehicles when sneaking", "item.superbwarfare.defuser": "Defuser", diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index 6525fdd89..9ce5b5e73 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -184,6 +184,7 @@ "item.superbwarfare.senpai_spawn_egg": "野兽先辈刷怪蛋", "item.superbwarfare.knife": "军刀", "item.superbwarfare.hammer": "大锤", + "item.superbwarfare.electric_baton": "电棍", "item.superbwarfare.crowbar": "撬棍", "des.superbwarfare.crowbar": "右击以开启集装箱,潜行时右击以回收载具", "item.superbwarfare.defuser": "拆弹器", diff --git a/src/main/resources/assets/superbwarfare/models/item/electric_baton.json b/src/main/resources/assets/superbwarfare/models/item/electric_baton.json new file mode 100644 index 000000000..7687a4c91 --- /dev/null +++ b/src/main/resources/assets/superbwarfare/models/item/electric_baton.json @@ -0,0 +1,2089 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [ + 32, + 32 + ], + "textures": { + "0": "superbwarfare:item/electric_baton", + "particle": "superbwarfare:item/electric_baton" + }, + "elements": [ + { + "name": "cube1", + "from": [ + 7.79289, + 0.1, + 7.5 + ], + "to": [ + 8.20711, + 5.1, + 8.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 0.1, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 4, + 0, + 4.5, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 4, + 3, + 4.5, + 6 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0.5, + 7, + 0, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 6.5, + 0, + 6, + 1 + ], + "texture": "#0" + } + } + }, + { + "name": "cube2", + "from": [ + 7.79289, + 0.102, + 7.5 + ], + "to": [ + 8.20711, + 5.102, + 8.5 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 8, + 0.1, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 4.5, + 0, + 5, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 4.5, + 3, + 5, + 6 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 1, + 7, + 0.5, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 1.5, + 6, + 1, + 7 + ], + "texture": "#0" + } + } + }, + { + "name": "cube3", + "from": [ + 7.5, + 0.104, + 7.79289 + ], + "to": [ + 8.5, + 5.104, + 8.20711 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 0.1, + 8 + ] + }, + "faces": { + "east": { + "uv": [ + 5, + 0, + 5.5, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 5, + 3, + 5.5, + 6 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 7, + 1.5, + 6, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 2.5, + 6, + 1.5, + 6.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube4", + "from": [ + 7.79289, + 0.106, + 7.5 + ], + "to": [ + 8.20711, + 5.106, + 8.5 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 0.1, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 5.5, + 0, + 6, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 5.5, + 3, + 6, + 6 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 6.5, + 2.5, + 6, + 1.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 3, + 6, + 2.5, + 7 + ], + "texture": "#0" + } + } + }, + { + "name": "cube1", + "from": [ + 7.79289, + 5.2, + 7.5 + ], + "to": [ + 8.20711, + 16.2, + 8.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 5.2, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 0.5, + 6 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0.5, + 0, + 1, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 6.5, + 2.5, + 6, + 3.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube2", + "from": [ + 7.79289, + 5.202, + 7.5 + ], + "to": [ + 8.20711, + 16.202, + 8.5 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 8, + 5.2, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 1, + 0, + 1.5, + 6 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 1.5, + 0, + 2, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 3.5, + 6, + 3, + 7 + ], + "texture": "#0" + } + } + }, + { + "name": "cube3", + "from": [ + 7.5, + 5.204, + 7.79289 + ], + "to": [ + 8.5, + 16.204, + 8.20711 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 5.2, + 8 + ] + }, + "faces": { + "east": { + "uv": [ + 2, + 0, + 2.5, + 6 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 2.5, + 0, + 3, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 4.5, + 6, + 3.5, + 6.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube4", + "from": [ + 7.79289, + 5.206, + 7.5 + ], + "to": [ + 8.20711, + 16.206, + 8.5 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 5.2, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 3, + 0, + 3.5, + 6 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 3.5, + 0, + 4, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 6.5, + 3.5, + 6, + 4.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube1", + "from": [ + 7.80325, + 5.1, + 7.525 + ], + "to": [ + 8.19675, + 5.2, + 8.475 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 5.153, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 7, + 0, + 7.5, + 0.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0.5, + 7, + 1, + 7.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube2", + "from": [ + 7.80325, + 5.102, + 7.525 + ], + "to": [ + 8.19675, + 5.202, + 8.475 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 8, + 5.153, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 7, + 0.5, + 7.5, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 1, + 7, + 1.5, + 7.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube3", + "from": [ + 7.525, + 5.104, + 7.80325 + ], + "to": [ + 8.475, + 5.204, + 8.19675 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 5.153, + 8 + ] + }, + "faces": { + "east": { + "uv": [ + 7, + 1, + 7.5, + 1.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 7, + 1.5, + 7.5, + 2 + ], + "texture": "#0" + } + } + }, + { + "name": "cube4", + "from": [ + 7.80325, + 5.106, + 7.525 + ], + "to": [ + 8.19675, + 5.206, + 8.475 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 5.153, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 7, + 2, + 7.5, + 2.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 2.5, + 7, + 3, + 7.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube1", + "from": [ + 7.77491, + 6.6, + 7.4566 + ], + "to": [ + 8.22509, + 6.9, + 8.5434 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 6.753, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 7, + 2.5, + 7.5, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 3, + 7, + 3.5, + 7.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 5, + 7, + 4.5, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 6.5, + 4.5, + 6, + 5.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube2", + "from": [ + 7.77491, + 6.602, + 7.4566 + ], + "to": [ + 8.22509, + 6.902, + 8.5434 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 8, + 6.753, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 7, + 3, + 7.5, + 3.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 4.5, + 7, + 5, + 7.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 5.5, + 7, + 5, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 6, + 6, + 5.5, + 7 + ], + "texture": "#0" + } + } + }, + { + "name": "cube3", + "from": [ + 7.4566, + 6.604, + 7.77491 + ], + "to": [ + 8.5434, + 6.904, + 8.22509 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 6.753, + 8 + ] + }, + "faces": { + "east": { + "uv": [ + 7, + 4.5, + 7.5, + 5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 5, + 7, + 5.5, + 7.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 7, + 6, + 6, + 5.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 7, + 6, + 6, + 6.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube4", + "from": [ + 7.77491, + 6.606, + 7.4566 + ], + "to": [ + 8.22509, + 6.906, + 8.5434 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 6.753, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 7, + 5, + 7.5, + 5.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 5.5, + 7, + 6, + 7.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 7, + 1, + 6.5, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 2, + 6.5, + 1.5, + 7.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube1", + "from": [ + 7.81308, + 0, + 7.54875 + ], + "to": [ + 8.18692, + 0.1, + 8.45125 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 0.053, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 7, + 5.5, + 7.5, + 6 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 7, + 6, + 7.5, + 6.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 7.5, + 6.5, + 7, + 7 + ], + "texture": "#0" + } + } + }, + { + "name": "cube2", + "from": [ + 7.81308, + 0.002, + 7.54875 + ], + "to": [ + 8.18692, + 0.102, + 8.45125 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 8, + 0.053, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 7, + 7, + 7.5, + 7.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 7.5, + 0, + 8, + 0.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 1, + 7.5, + 0.5, + 8 + ], + "texture": "#0" + } + } + }, + { + "name": "cube3", + "from": [ + 7.54875, + 0.004, + 7.81308 + ], + "to": [ + 8.45125, + 0.104, + 8.18692 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 0.053, + 8 + ] + }, + "faces": { + "east": { + "uv": [ + 7.5, + 0.5, + 8, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 1, + 7.5, + 1.5, + 8 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 8, + 1, + 7.5, + 1.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube4", + "from": [ + 7.81308, + 0.006, + 7.54875 + ], + "to": [ + 8.18692, + 0.106, + 8.45125 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 0.053, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 1.5, + 7.5, + 2, + 8 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 7.5, + 1.5, + 8, + 2 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 2.5, + 7.5, + 2, + 8 + ], + "texture": "#0" + } + } + }, + { + "name": "cube1", + "from": [ + 7.77491, + 16.2, + 7.4566 + ], + "to": [ + 8.22509, + 16.8, + 8.5434 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 16.353, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 7.5, + 2, + 8, + 2.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 2.5, + 7.5, + 3, + 8 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 7, + 2.5, + 6.5, + 1.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 2.5, + 6.5, + 2, + 7.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube2", + "from": [ + 7.77491, + 16.202, + 7.4566 + ], + "to": [ + 8.22509, + 16.802, + 8.5434 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 8, + 16.353, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 7.5, + 2.5, + 8, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 3, + 7.5, + 3.5, + 8 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 7, + 3.5, + 6.5, + 2.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 4, + 6.5, + 3.5, + 7.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube3", + "from": [ + 7.4566, + 16.204, + 7.77491 + ], + "to": [ + 8.5434, + 16.804, + 8.22509 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 16.353, + 8 + ] + }, + "faces": { + "east": { + "uv": [ + 7.5, + 3, + 8, + 3.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 3.5, + 7.5, + 4, + 8 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 7.5, + 4, + 6.5, + 3.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 7.5, + 4, + 6.5, + 4.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube4", + "from": [ + 7.77491, + 16.206, + 7.4566 + ], + "to": [ + 8.22509, + 16.806, + 8.5434 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 16.353, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 7.5, + 3.5, + 8, + 4 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 4, + 7.5, + 4.5, + 8 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 4.5, + 7.5, + 4, + 6.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 7, + 4.5, + 6.5, + 5.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube1", + "from": [ + 7.81308, + 16.8, + 7.54875 + ], + "to": [ + 8.18692, + 16.85, + 8.45125 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 16.853, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 7.5, + 4, + 8, + 4.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 4.5, + 7.5, + 5, + 8 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 8, + 5, + 7.5, + 4.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube2", + "from": [ + 7.81308, + 16.802, + 7.54875 + ], + "to": [ + 8.18692, + 16.852, + 8.45125 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 8, + 16.853, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 5, + 7.5, + 5.5, + 8 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 7.5, + 5, + 8, + 5.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 6, + 8, + 5.5, + 7.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube3", + "from": [ + 7.54875, + 16.804, + 7.81308 + ], + "to": [ + 8.45125, + 16.854, + 8.18692 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 16.853, + 8 + ] + }, + "faces": { + "east": { + "uv": [ + 7.5, + 5.5, + 8, + 6 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 6, + 7.5, + 6.5, + 8 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 8, + 6.5, + 7.5, + 6 + ], + "texture": "#0" + } + } + }, + { + "name": "cube4", + "from": [ + 7.81308, + 16.806, + 7.54875 + ], + "to": [ + 8.18692, + 16.856, + 8.45125 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 16.853, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 6.5, + 7.5, + 7, + 8 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 7.5, + 6.5, + 8, + 7 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 7.5, + 8, + 7, + 7.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 8.1, + 16.85, + 8.1 + ], + "to": [ + 8.2, + 16.95, + 8.2 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8.1, + 16.85, + 8.1 + ] + }, + "faces": { + "north": { + "uv": [ + 7.5, + 7, + 8, + 7.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 7.5, + 7.5, + 8, + 8 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 8, + 0.5, + 8.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 8, + 0, + 8.5, + 0.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 1, + 8.5, + 0.5, + 8 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 7.8, + 16.85, + 7.8 + ], + "to": [ + 7.9, + 16.95, + 7.9 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 7.8, + 16.85, + 7.8 + ] + }, + "faces": { + "north": { + "uv": [ + 8, + 0.5, + 8.5, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 1, + 8, + 1.5, + 8.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 8, + 1, + 8.5, + 1.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 1.5, + 8, + 2, + 8.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 8.5, + 2, + 8, + 1.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube1", + "from": [ + 7.79289, + 3.6, + 7.45 + ], + "to": [ + 8.20711, + 4.6, + 7.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 3.6, + 7.95 + ] + }, + "faces": { + "north": { + "uv": [ + 6, + 6.5, + 6.5, + 7.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 6.5, + 6.5, + 7, + 7.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 7, + 0.5, + 8 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 2.5, + 8.5, + 2, + 8 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 8.5, + 2, + 8, + 2.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube1", + "from": [ + 7.84289, + 4.15, + 7.4 + ], + "to": [ + 8.15711, + 4.45, + 7.45 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 4.15, + 7.9 + ] + }, + "faces": { + "north": { + "uv": [ + 2.5, + 8, + 3, + 8.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 8, + 2.5, + 8.5, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 3, + 8, + 3.5, + 8.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 8.5, + 3.5, + 8, + 3 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 4, + 8, + 3.5, + 8.5 + ], + "texture": "#0" + } + } + }, + { + "name": "cube1", + "from": [ + 7.84289, + 3.75, + 7.4 + ], + "to": [ + 8.15711, + 4.05, + 7.45 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 3.75, + 7.9 + ] + }, + "faces": { + "north": { + "uv": [ + 8, + 3.5, + 8.5, + 4 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 4, + 8, + 4.5, + 8.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 8, + 4, + 8.5, + 4.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 5, + 8.5, + 4.5, + 8 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 8.5, + 4.5, + 8, + 5 + ], + "texture": "#0" + } + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [ + 0, + 180, + 0 + ], + "translation": [ + 0, + 5, + 0.25 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 0, + 180, + 0 + ], + "translation": [ + 0, + 5, + 0.25 + ] + }, + "firstperson_righthand": { + "rotation": [ + 165, + 0, + 180 + ], + "translation": [ + 0, + 5, + 0.25 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 165, + 0, + 180 + ], + "translation": [ + 0, + 5, + 0.25 + ] + }, + "ground": { + "rotation": [ + 0, + 0, + 90 + ], + "translation": [ + 0, + -0.75, + 0 + ] + }, + "gui": { + "rotation": [ + 180, + 0, + -135 + ], + "translation": [ + -0.25, + -0.75, + 0 + ], + "scale": [ + 1.1, + 1.1, + 1.1 + ] + }, + "head": { + "translation": [ + 0, + 8.75, + 0 + ] + }, + "fixed": { + "rotation": [ + 0, + 0, + 45 + ], + "scale": [ + 1.25, + 1.25, + 1.25 + ] + } + }, + "groups": [ + { + "name": "handle", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 0, + 1, + 2, + 3 + ] + }, + { + "name": "long", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 4, + 5, + 6, + 7 + ] + }, + { + "name": "ring", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 8, + 9, + 10, + 11 + ] + }, + { + "name": "mid", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 12, + 13, + 14, + 15 + ] + }, + { + "name": "bottom", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 16, + 17, + 18, + 19 + ] + }, + { + "name": "head", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 20, + 21, + 22, + 23 + ] + }, + { + "name": "top", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 24, + 25, + 26, + 27 + ] + }, + { + "name": "Elec", + "origin": [ + 7.8, + 16.85, + 7.8 + ], + "color": 0, + "children": [ + 28, + 29 + ] + }, + { + "name": "button", + "origin": [ + 8, + 3.75, + 7.9 + ], + "color": 0, + "children": [ + 30, + 31, + 32 + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/textures/item/electric_baton.png b/src/main/resources/assets/superbwarfare/textures/item/electric_baton.png new file mode 100644 index 000000000..058bd56ac Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/item/electric_baton.png differ