diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java b/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java index 016c7ab76..02e311729 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java @@ -172,6 +172,7 @@ public class ModItems { public static final RegistryObject RAW_SILVER = ITEMS.register("raw_silver", () -> new Item(new Item.Properties())); public static final RegistryObject DOG_TAG = ITEMS.register("dog_tag", DogTag::new); public static final RegistryObject CELL = ITEMS.register("cell", Cell::new); + public static final RegistryObject BATTERY = ITEMS.register("battery", Battery::new); public static final RegistryObject TRANSCRIPT = ITEMS.register("transcript", Transcript::new); public static final RegistryObject FIRING_PARAMETERS = ITEMS.register("firing_parameters", FiringParameters::new); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/Battery.java b/src/main/java/com/atsuishio/superbwarfare/item/Battery.java new file mode 100644 index 000000000..216d70b4e --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/item/Battery.java @@ -0,0 +1,81 @@ +package com.atsuishio.superbwarfare.item; + +import com.atsuishio.superbwarfare.capability.energy.ItemEnergyProvider; +import com.atsuishio.superbwarfare.client.tooltip.component.CellImageComponent; +import com.atsuishio.superbwarfare.init.ModItems; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.inventory.tooltip.TooltipComponent; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import net.minecraftforge.common.capabilities.ForgeCapabilities; +import net.minecraftforge.common.capabilities.ICapabilityProvider; +import org.jetbrains.annotations.NotNull; + +import java.util.Optional; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.Supplier; + +public class Battery extends Item { + + public static final int MAX_ENERGY = 100000; + + private final Supplier energyCapacity; + + public Battery() { + super(new Properties().stacksTo(1)); + this.energyCapacity = () -> MAX_ENERGY; + } + + @Override + public boolean isBarVisible(ItemStack pStack) { + if (!pStack.getCapability(ForgeCapabilities.ENERGY).isPresent()) { + return false; + } + + AtomicInteger energy = new AtomicInteger(0); + pStack.getCapability(ForgeCapabilities.ENERGY).ifPresent( + e -> energy.set(e.getEnergyStored()) + ); + return energy.get() != MAX_ENERGY; + } + + @Override + public int getBarWidth(ItemStack pStack) { + AtomicInteger energy = new AtomicInteger(0); + pStack.getCapability(ForgeCapabilities.ENERGY).ifPresent( + e -> energy.set(e.getEnergyStored()) + ); + + return Math.round((float) energy.get() * 13.0F / MAX_ENERGY); + } + + @Override + public ICapabilityProvider initCapabilities(ItemStack stack, CompoundTag tag) { + return new ItemEnergyProvider(stack, energyCapacity.get()); + } + + @Override + public int getBarColor(ItemStack pStack) { + return 0xFFFF00; + } + + @Override + public void inventoryTick(ItemStack stack, Level world, Entity entity, int slot, boolean selected) { + super.inventoryTick(stack, world, entity, slot, selected); + } + + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(ModItems.TASER.get()); + stack.getCapability(ForgeCapabilities.ENERGY).ifPresent( + energy -> energy.receiveEnergy(MAX_ENERGY, false) + ); + return stack; + } + + @Override + public @NotNull Optional getTooltipImage(@NotNull ItemStack pStack) { + return Optional.of(new CellImageComponent(pStack)); + } +} diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index 20feaedb5..2a22ac373 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -192,6 +192,7 @@ "item.superbwarfare.dog_tag": "Dog Tag", "curios.identifier.dog_tag": "Dog Tag", "item.superbwarfare.cell": "Cell", + "item.superbwarfare.battery": "Battery", "item.superbwarfare.drone": "Drone", "item.superbwarfare.monitor": "Monitor", "des.superbwarfare.monitor": "Drone Distance: %1$s", diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index 52f71c8d0..6ed217315 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -192,6 +192,7 @@ "item.superbwarfare.dog_tag": "狗牌", "curios.identifier.dog_tag": "狗牌", "item.superbwarfare.cell": "电池", + "item.superbwarfare.battery": "大型电池", "item.superbwarfare.drone": "无人机", "item.superbwarfare.monitor": "遥控器", "des.superbwarfare.monitor": "无人机距离你: %1$s", diff --git a/src/main/resources/assets/superbwarfare/models/item/battery.json b/src/main/resources/assets/superbwarfare/models/item/battery.json new file mode 100644 index 000000000..087c7e28c --- /dev/null +++ b/src/main/resources/assets/superbwarfare/models/item/battery.json @@ -0,0 +1,539 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "superbwarfare:item/battery", + "particle": "superbwarfare:item/battery" + }, + "elements": [ + { + "from": [5.95083, 0, 7.1675], + "to": [8.17083, 1.11, 8.8325], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [7.25, 4, 7.8125, 4.28125], "texture": "#0"}, + "east": {"uv": [2.25, 7.25, 2.65625, 7.53125], "texture": "#0"}, + "south": {"uv": [7.25, 5.25, 7.8125, 5.53125], "texture": "#0"}, + "west": {"uv": [5.75, 7.25, 6.15625, 7.53125], "texture": "#0"}, + "up": {"uv": [4.0625, 6.40625, 3.5, 6], "texture": "#0"}, + "down": {"uv": [4.8125, 6, 4.25, 6.40625], "texture": "#0"} + } + }, + { + "from": [5.95083, 0, 7.1675], + "to": [8.17083, 1.11, 8.8325], + "rotation": {"angle": -45, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [7.25, 5.75, 7.8125, 6.03125], "texture": "#0"}, + "east": {"uv": [6.75, 7.5, 7.15625, 7.78125], "texture": "#0"}, + "south": {"uv": [7.25, 6.25, 7.8125, 6.53125], "texture": "#0"}, + "west": {"uv": [2, 7.75, 2.40625, 8.03125], "texture": "#0"}, + "up": {"uv": [6.5625, 4.90625, 6, 4.5], "texture": "#0"}, + "down": {"uv": [5.5625, 6, 5, 6.40625], "texture": "#0"} + } + }, + { + "from": [7.12816, 0, 5.99017], + "to": [8.79316, 1.11, 8.21017], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [5.75, 7.75, 6.15625, 8.03125], "texture": "#0"}, + "east": {"uv": [7.25, 6.75, 7.8125, 7.03125], "texture": "#0"}, + "south": {"uv": [7.25, 7.75, 7.65625, 8.03125], "texture": "#0"}, + "west": {"uv": [7.25, 7.25, 7.8125, 7.53125], "texture": "#0"}, + "up": {"uv": [6.40625, 5.5625, 6, 5], "texture": "#0"}, + "down": {"uv": [6.15625, 6, 5.75, 6.5625], "texture": "#0"} + } + }, + { + "from": [7.12816, 0, 5.99017], + "to": [8.79316, 1.11, 8.21017], + "rotation": {"angle": -45, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [7.75, 7.75, 8.15625, 8.03125], "texture": "#0"}, + "east": {"uv": [7.5, 0, 8.0625, 0.28125], "texture": "#0"}, + "south": {"uv": [8, 4, 8.40625, 4.28125], "texture": "#0"}, + "west": {"uv": [7.5, 0.5, 8.0625, 0.78125], "texture": "#0"}, + "up": {"uv": [6.65625, 6.3125, 6.25, 5.75], "texture": "#0"}, + "down": {"uv": [0.40625, 6.5, 0, 7.0625], "texture": "#0"} + } + }, + { + "from": [7.75049, 0, 7.1675], + "to": [9.97049, 1.11, 8.8325], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [7.5, 1, 8.0625, 1.28125], "texture": "#0"}, + "east": {"uv": [8, 5, 8.40625, 5.28125], "texture": "#0"}, + "south": {"uv": [7.5, 1.5, 8.0625, 1.78125], "texture": "#0"}, + "west": {"uv": [8, 5.5, 8.40625, 5.78125], "texture": "#0"}, + "up": {"uv": [7.0625, 0.40625, 6.5, 0], "texture": "#0"}, + "down": {"uv": [1.0625, 6.5, 0.5, 6.90625], "texture": "#0"} + } + }, + { + "from": [7.75049, 0, 7.1675], + "to": [9.97049, 1.11, 8.8325], + "rotation": {"angle": -45, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [7.5, 2, 8.0625, 2.28125], "texture": "#0"}, + "east": {"uv": [8, 6, 8.40625, 6.28125], "texture": "#0"}, + "south": {"uv": [7.5, 2.5, 8.0625, 2.78125], "texture": "#0"}, + "west": {"uv": [8, 6.5, 8.40625, 6.78125], "texture": "#0"}, + "up": {"uv": [7.0625, 0.90625, 6.5, 0.5], "texture": "#0"}, + "down": {"uv": [7.0625, 1, 6.5, 1.40625], "texture": "#0"} + } + }, + { + "from": [7.12816, 0, 7.78983], + "to": [8.79316, 1.11, 10.00983], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [6.75, 8, 7.15625, 8.28125], "texture": "#0"}, + "east": {"uv": [7.5, 3, 8.0625, 3.28125], "texture": "#0"}, + "south": {"uv": [8, 7, 8.40625, 7.28125], "texture": "#0"}, + "west": {"uv": [7.5, 3.5, 8.0625, 3.78125], "texture": "#0"}, + "up": {"uv": [1.65625, 7.0625, 1.25, 6.5], "texture": "#0"}, + "down": {"uv": [6.90625, 1.5, 6.5, 2.0625], "texture": "#0"} + } + }, + { + "from": [7.12816, 0, 7.78983], + "to": [8.79316, 1.11, 10.00983], + "rotation": {"angle": -45, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [8.25, 0, 8.65625, 0.28125], "texture": "#0"}, + "east": {"uv": [7.5, 4.5, 8.0625, 4.78125], "texture": "#0"}, + "south": {"uv": [8.25, 0.5, 8.65625, 0.78125], "texture": "#0"}, + "west": {"uv": [1.25, 7.75, 1.8125, 8.03125], "texture": "#0"}, + "up": {"uv": [2.15625, 7.0625, 1.75, 6.5], "texture": "#0"}, + "down": {"uv": [2.65625, 6.5, 2.25, 7.0625], "texture": "#0"} + } + }, + { + "from": [6.49403, 0.94, 7.3925], + "to": [6.86403, 8.81, 8.6075], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [6.5, 2.25, 6.59375, 4.21875], "texture": "#0"}, + "east": {"uv": [3, 3, 3.3125, 4.96875], "texture": "#0"}, + "south": {"uv": [2.75, 6.5, 2.84375, 8.46875], "texture": "#0"}, + "west": {"uv": [3.5, 0, 3.8125, 1.96875], "texture": "#0"}, + "up": {"uv": [1.84375, 8.8125, 1.75, 8.5], "texture": "#0"}, + "down": {"uv": [2.09375, 8.5, 2, 8.8125], "texture": "#0"} + } + }, + { + "from": [6.49403, 0.94, 7.3925], + "to": [6.86403, 8.81, 8.6075], + "rotation": {"angle": -45, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [3, 6.5, 3.09375, 8.46875], "texture": "#0"}, + "east": {"uv": [3.5, 2, 3.8125, 3.96875], "texture": "#0"}, + "south": {"uv": [3.25, 6.5, 3.34375, 8.46875], "texture": "#0"}, + "west": {"uv": [4, 0, 4.3125, 1.96875], "texture": "#0"}, + "up": {"uv": [2.34375, 8.8125, 2.25, 8.5], "texture": "#0"}, + "down": {"uv": [8.59375, 2.25, 8.5, 2.5625], "texture": "#0"} + } + }, + { + "from": [7.35316, 0.94, 6.53337], + "to": [8.56816, 8.81, 6.90337], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [4, 2, 4.3125, 3.96875], "texture": "#0"}, + "east": {"uv": [3.5, 6.5, 3.59375, 8.46875], "texture": "#0"}, + "south": {"uv": [3.5, 4, 3.8125, 5.96875], "texture": "#0"}, + "west": {"uv": [3.75, 6.5, 3.84375, 8.46875], "texture": "#0"}, + "up": {"uv": [2.8125, 8.59375, 2.5, 8.5], "texture": "#0"}, + "down": {"uv": [8.8125, 2.75, 8.5, 2.84375], "texture": "#0"} + } + }, + { + "from": [7.35316, 0.94, 6.53337], + "to": [8.56816, 8.81, 6.90337], + "rotation": {"angle": -45, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [4, 4, 4.3125, 5.96875], "texture": "#0"}, + "east": {"uv": [4, 6.5, 4.09375, 8.46875], "texture": "#0"}, + "south": {"uv": [0, 4.5, 0.3125, 6.46875], "texture": "#0"}, + "west": {"uv": [4.25, 6.5, 4.34375, 8.46875], "texture": "#0"}, + "up": {"uv": [3.3125, 8.59375, 3, 8.5], "texture": "#0"}, + "down": {"uv": [8.8125, 3, 8.5, 3.09375], "texture": "#0"} + } + }, + { + "from": [9.05729, 0.94, 7.3925], + "to": [9.42729, 8.81, 8.6075], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [4.5, 6.5, 4.59375, 8.46875], "texture": "#0"}, + "east": {"uv": [4.5, 0, 4.8125, 1.96875], "texture": "#0"}, + "south": {"uv": [4.75, 6.5, 4.84375, 8.46875], "texture": "#0"}, + "west": {"uv": [0.5, 4.5, 0.8125, 6.46875], "texture": "#0"}, + "up": {"uv": [8.59375, 3.5625, 8.5, 3.25], "texture": "#0"}, + "down": {"uv": [3.59375, 8.5, 3.5, 8.8125], "texture": "#0"} + } + }, + { + "from": [9.05729, 0.94, 7.3925], + "to": [9.42729, 8.81, 8.6075], + "rotation": {"angle": -45, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [5, 6.5, 5.09375, 8.46875], "texture": "#0"}, + "east": {"uv": [1, 4.5, 1.3125, 6.46875], "texture": "#0"}, + "south": {"uv": [5.25, 6.5, 5.34375, 8.46875], "texture": "#0"}, + "west": {"uv": [1.5, 4.5, 1.8125, 6.46875], "texture": "#0"}, + "up": {"uv": [3.84375, 8.8125, 3.75, 8.5], "texture": "#0"}, + "down": {"uv": [4.09375, 8.5, 4, 8.8125], "texture": "#0"} + } + }, + { + "from": [7.35316, 0.94, 9.09663], + "to": [8.56816, 8.81, 9.46663], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [2, 4.5, 2.3125, 6.46875], "texture": "#0"}, + "east": {"uv": [5.5, 6.5, 5.59375, 8.46875], "texture": "#0"}, + "south": {"uv": [4.5, 2, 4.8125, 3.96875], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.34375, 8.46875], "texture": "#0"}, + "up": {"uv": [8.8125, 4.09375, 8.5, 4], "texture": "#0"}, + "down": {"uv": [4.5625, 8.5, 4.25, 8.59375], "texture": "#0"} + } + }, + { + "from": [7.35316, 0.94, 9.09663], + "to": [8.56816, 8.81, 9.46663], + "rotation": {"angle": -45, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [2.5, 4.5, 2.8125, 6.46875], "texture": "#0"}, + "east": {"uv": [6.5, 6.5, 6.59375, 8.46875], "texture": "#0"}, + "south": {"uv": [4.5, 4, 4.8125, 5.96875], "texture": "#0"}, + "west": {"uv": [6.75, 2.25, 6.84375, 4.21875], "texture": "#0"}, + "up": {"uv": [8.8125, 4.34375, 8.5, 4.25], "texture": "#0"}, + "down": {"uv": [8.8125, 4.5, 8.5, 4.59375], "texture": "#0"} + } + }, + { + "from": [6.2183, 2.89772, 7.27829], + "to": [8.14286, 8.56228, 8.72171], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [0, 0, 0.46875, 1.40625], "texture": "#0"}, + "east": {"uv": [5, 0, 5.375, 1.40625], "texture": "#0"}, + "south": {"uv": [0.5, 0, 0.96875, 1.40625], "texture": "#0"}, + "west": {"uv": [5, 1.5, 5.375, 2.90625], "texture": "#0"}, + "up": {"uv": [6.96875, 5.375, 6.5, 5], "texture": "#0"}, + "down": {"uv": [7.21875, 4.25, 6.75, 4.625], "texture": "#0"} + } + }, + { + "from": [6.2183, 2.89772, 7.27829], + "to": [8.14286, 8.56228, 8.72171], + "rotation": {"angle": -45, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [1, 0, 1.46875, 1.40625], "texture": "#0"}, + "east": {"uv": [3, 5, 3.375, 6.40625], "texture": "#0"}, + "south": {"uv": [0, 1.5, 0.46875, 2.90625], "texture": "#0"}, + "west": {"uv": [5, 3, 5.375, 4.40625], "texture": "#0"}, + "up": {"uv": [7.21875, 5.875, 6.75, 5.5], "texture": "#0"}, + "down": {"uv": [6.21875, 6.75, 5.75, 7.125], "texture": "#0"} + } + }, + { + "from": [7.23895, 2.89772, 6.25764], + "to": [7.68237, 8.56228, 8.1822], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [6.75, 6, 6.875, 7.40625], "texture": "#0"}, + "east": {"uv": [1.5, 0, 1.96875, 1.40625], "texture": "#0"}, + "south": {"uv": [0.5, 7, 0.625, 8.40625], "texture": "#0"}, + "west": {"uv": [0.5, 1.5, 0.96875, 2.90625], "texture": "#0"}, + "up": {"uv": [2.625, 8.21875, 2.5, 7.75], "texture": "#0"}, + "down": {"uv": [8.375, 2.25, 8.25, 2.71875], "texture": "#0"} + } + }, + { + "from": [8.23895, 2.89772, 6.25764], + "to": [8.68237, 8.56228, 8.1822], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [0.75, 7, 0.875, 8.40625], "texture": "#0"}, + "east": {"uv": [1, 1.5, 1.46875, 2.90625], "texture": "#0"}, + "south": {"uv": [1, 7, 1.125, 8.40625], "texture": "#0"}, + "west": {"uv": [1.5, 1.5, 1.96875, 2.90625], "texture": "#0"}, + "up": {"uv": [8.375, 3.21875, 8.25, 2.75], "texture": "#0"}, + "down": {"uv": [8.375, 3.25, 8.25, 3.71875], "texture": "#0"} + } + }, + { + "from": [7.23895, 2.89772, 6.25764], + "to": [8.68237, 8.56228, 8.1822], + "rotation": {"angle": -45, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [5, 4.5, 5.375, 5.90625], "texture": "#0"}, + "east": {"uv": [2, 0, 2.46875, 1.40625], "texture": "#0"}, + "south": {"uv": [5.5, 0, 5.875, 1.40625], "texture": "#0"}, + "west": {"uv": [2, 1.5, 2.46875, 2.90625], "texture": "#0"}, + "up": {"uv": [7.375, 1.96875, 7, 1.5], "texture": "#0"}, + "down": {"uv": [7.375, 2, 7, 2.46875], "texture": "#0"} + } + }, + { + "from": [7.77846, 2.89772, 7.27829], + "to": [9.70302, 8.56228, 8.72171], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [2.5, 0, 2.96875, 1.40625], "texture": "#0"}, + "east": {"uv": [5.5, 1.5, 5.875, 2.90625], "texture": "#0"}, + "south": {"uv": [2.5, 1.5, 2.96875, 2.90625], "texture": "#0"}, + "west": {"uv": [5.5, 3, 5.875, 4.40625], "texture": "#0"}, + "up": {"uv": [7.46875, 2.875, 7, 2.5], "texture": "#0"}, + "down": {"uv": [7.46875, 3, 7, 3.375], "texture": "#0"} + } + }, + { + "from": [7.77846, 2.89772, 7.27829], + "to": [9.70302, 8.56228, 8.72171], + "rotation": {"angle": -45, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [0, 3, 0.46875, 4.40625], "texture": "#0"}, + "east": {"uv": [5.5, 4.5, 5.875, 5.90625], "texture": "#0"}, + "south": {"uv": [3, 0, 3.46875, 1.40625], "texture": "#0"}, + "west": {"uv": [6, 0, 6.375, 1.40625], "texture": "#0"}, + "up": {"uv": [7.46875, 3.875, 7, 3.5], "texture": "#0"}, + "down": {"uv": [7.46875, 4.75, 7, 5.125], "texture": "#0"} + } + }, + { + "from": [8.23895, 2.89772, 7.8178], + "to": [8.68237, 8.56228, 9.74236], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [7, 6, 7.125, 7.40625], "texture": "#0"}, + "east": {"uv": [0.5, 3, 0.96875, 4.40625], "texture": "#0"}, + "south": {"uv": [0, 7.25, 0.125, 8.65625], "texture": "#0"}, + "west": {"uv": [1, 3, 1.46875, 4.40625], "texture": "#0"}, + "up": {"uv": [8.375, 4.96875, 8.25, 4.5], "texture": "#0"}, + "down": {"uv": [5.875, 8.25, 5.75, 8.71875], "texture": "#0"} + } + }, + { + "from": [7.23895, 2.89772, 7.8178], + "to": [7.68237, 8.56228, 9.74236], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [7.25, 0, 7.375, 1.40625], "texture": "#0"}, + "east": {"uv": [1.5, 3, 1.96875, 4.40625], "texture": "#0"}, + "south": {"uv": [0.25, 7.25, 0.375, 8.65625], "texture": "#0"}, + "west": {"uv": [3, 1.5, 3.46875, 2.90625], "texture": "#0"}, + "up": {"uv": [6.125, 8.71875, 6, 8.25], "texture": "#0"}, + "down": {"uv": [7.375, 8.25, 7.25, 8.71875], "texture": "#0"} + } + }, + { + "from": [7.68237, 7.64772, 7.8178], + "to": [8.24237, 8.56228, 9.74236], + "rotation": {"angle": 0, "axis": "y", "origin": [7.95408, 5.05188, 8]}, + "faces": { + "north": {"uv": [7, 4, 7.125, 4.21875], "texture": "#0"}, + "east": {"uv": [7.5, 5, 7.96875, 5.21875], "texture": "#0"}, + "south": {"uv": [7, 5.25, 7.125, 5.46875], "texture": "#0"}, + "west": {"uv": [8, 7.5, 8.46875, 7.71875], "texture": "#0"}, + "up": {"uv": [7.625, 8.71875, 7.5, 8.25], "texture": "#0"}, + "down": {"uv": [7.875, 8.25, 7.75, 8.71875], "texture": "#0"} + } + }, + { + "from": [7.68237, 7.64772, 6.25764], + "to": [8.24237, 8.56228, 8.1822], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [7.25, 4.5, 7.375, 4.71875], "texture": "#0"}, + "east": {"uv": [8.25, 1, 8.71875, 1.21875], "texture": "#0"}, + "south": {"uv": [4.75, 8.5, 4.875, 8.71875], "texture": "#0"}, + "west": {"uv": [1.25, 8.25, 1.71875, 8.46875], "texture": "#0"}, + "up": {"uv": [8.375, 8.21875, 8.25, 7.75], "texture": "#0"}, + "down": {"uv": [8.125, 8.25, 8, 8.71875], "texture": "#0"} + } + }, + { + "from": [7.68237, 2.89772, 7.8178], + "to": [8.24237, 3.81228, 9.74236], + "rotation": {"angle": 0, "axis": "y", "origin": [7.9475, 5.05188, 8]}, + "faces": { + "north": {"uv": [8.5, 4.75, 8.625, 4.96875], "texture": "#0"}, + "east": {"uv": [8.25, 1.25, 8.71875, 1.46875], "texture": "#0"}, + "south": {"uv": [5, 8.5, 5.125, 8.71875], "texture": "#0"}, + "west": {"uv": [8.25, 1.5, 8.71875, 1.71875], "texture": "#0"}, + "up": {"uv": [8.375, 8.71875, 8.25, 8.25], "texture": "#0"}, + "down": {"uv": [0.625, 8.5, 0.5, 8.96875], "texture": "#0"} + } + }, + { + "from": [7.68237, 2.89772, 6.25764], + "to": [8.24237, 3.81228, 8.1822], + "rotation": {"angle": 0, "axis": "y", "origin": [7.9475, 5.05188, 8]}, + "faces": { + "north": {"uv": [8.5, 5, 8.625, 5.21875], "texture": "#0"}, + "east": {"uv": [1.75, 8.25, 2.21875, 8.46875], "texture": "#0"}, + "south": {"uv": [5.25, 8.5, 5.375, 8.71875], "texture": "#0"}, + "west": {"uv": [8.25, 1.75, 8.71875, 1.96875], "texture": "#0"}, + "up": {"uv": [0.875, 8.96875, 0.75, 8.5], "texture": "#0"}, + "down": {"uv": [1.125, 8.5, 1, 8.96875], "texture": "#0"} + } + }, + { + "from": [7.23895, 2.89772, 7.8178], + "to": [8.68237, 8.56228, 9.74236], + "rotation": {"angle": -45, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [6, 1.5, 6.375, 2.90625], "texture": "#0"}, + "east": {"uv": [2, 3, 2.46875, 4.40625], "texture": "#0"}, + "south": {"uv": [6, 3, 6.375, 4.40625], "texture": "#0"}, + "west": {"uv": [2.5, 3, 2.96875, 4.40625], "texture": "#0"}, + "up": {"uv": [1.625, 7.71875, 1.25, 7.25], "texture": "#0"}, + "down": {"uv": [2.125, 7.25, 1.75, 7.71875], "texture": "#0"} + } + }, + { + "from": [9.05729, 8.79, 7.6425], + "to": [9.42729, 9.26, 8.3575], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [8.5, 8.5, 8.59375, 8.625], "texture": "#0"}, + "east": {"uv": [8.5, 5.25, 8.6875, 5.375], "texture": "#0"}, + "south": {"uv": [0, 8.75, 0.09375, 8.875], "texture": "#0"}, + "west": {"uv": [5.5, 8.5, 5.6875, 8.625], "texture": "#0"}, + "up": {"uv": [8.59375, 6.1875, 8.5, 6], "texture": "#0"}, + "down": {"uv": [6.34375, 8.5, 6.25, 8.6875], "texture": "#0"} + } + }, + { + "from": [6.49403, 8.79, 7.6425], + "to": [6.86403, 9.26, 8.3575], + "rotation": {"angle": 0, "axis": "y", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [8.75, 0, 8.84375, 0.125], "texture": "#0"}, + "east": {"uv": [8.5, 5.5, 8.6875, 5.625], "texture": "#0"}, + "south": {"uv": [0.25, 8.75, 0.34375, 8.875], "texture": "#0"}, + "west": {"uv": [8.5, 5.75, 8.6875, 5.875], "texture": "#0"}, + "up": {"uv": [8.59375, 6.4375, 8.5, 6.25], "texture": "#0"}, + "down": {"uv": [6.59375, 8.5, 6.5, 8.6875], "texture": "#0"} + } + }, + { + "from": [3.948, 6.9904, 7.6425], + "to": [4.318, 7.6604, 8.3575], + "rotation": {"angle": -45, "axis": "z", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [8.5, 7.5, 8.59375, 7.65625], "texture": "#0"}, + "east": {"uv": [6, 5.75, 6.1875, 5.90625], "texture": "#0"}, + "south": {"uv": [8.5, 7.75, 8.59375, 7.90625], "texture": "#0"}, + "west": {"uv": [6.5, 4.25, 6.6875, 4.40625], "texture": "#0"}, + "up": {"uv": [8.59375, 6.6875, 8.5, 6.5], "texture": "#0"}, + "down": {"uv": [6.84375, 8.5, 6.75, 8.6875], "texture": "#0"} + } + }, + { + "from": [6.96779, 9.36376, 7.6425], + "to": [8.95279, 9.73376, 8.3575], + "rotation": {"angle": 0, "axis": "z", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [8.25, 3.75, 8.75, 3.84375], "texture": "#0"}, + "east": {"uv": [8.5, 6.75, 8.6875, 6.84375], "texture": "#0"}, + "south": {"uv": [1.25, 8.5, 1.75, 8.59375], "texture": "#0"}, + "west": {"uv": [7, 8.5, 7.1875, 8.59375], "texture": "#0"}, + "up": {"uv": [8.75, 2.1875, 8.25, 2], "texture": "#0"}, + "down": {"uv": [2.75, 8.25, 2.25, 8.4375], "texture": "#0"} + } + }, + { + "from": [5.35214, 8.69454, 7.6425], + "to": [6.02214, 9.06454, 8.3575], + "rotation": {"angle": -45, "axis": "z", "origin": [7.96066, 5.05188, 8]}, + "faces": { + "north": {"uv": [8.5, 8, 8.65625, 8.09375], "texture": "#0"}, + "east": {"uv": [8.5, 7, 8.6875, 7.09375], "texture": "#0"}, + "south": {"uv": [8.5, 8.25, 8.65625, 8.34375], "texture": "#0"}, + "west": {"uv": [8.5, 7.25, 8.6875, 7.34375], "texture": "#0"}, + "up": {"uv": [6.65625, 5.6875, 6.5, 5.5], "texture": "#0"}, + "down": {"uv": [6.90625, 4.75, 6.75, 4.9375], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [90, -90, 0], + "translation": [0, -2, -1.5], + "scale": [1.1, 1.1, 1.1] + }, + "thirdperson_lefthand": { + "rotation": [90, -90, 0], + "translation": [0, -2, -1.5], + "scale": [1.1, 1.1, 1.1] + }, + "firstperson_righthand": { + "rotation": [13, 36, -17], + "translation": [0.25, 6.75, -0.25], + "scale": [1.5, 1.5, 1.5] + }, + "firstperson_lefthand": { + "rotation": [13, 36, -17], + "translation": [0.25, 6.75, -0.25], + "scale": [1.5, 1.5, 1.5] + }, + "ground": { + "translation": [0, 5, 0] + }, + "gui": { + "rotation": [31, 7, -40], + "translation": [4, 4, 0], + "scale": [1.5, 1.5, 1.5] + }, + "head": { + "rotation": [0, -90, 0], + "translation": [0, 26.25, 0], + "scale": [2.5, 2.5, 2.5] + }, + "fixed": { + "rotation": [0, 90, 0], + "translation": [0.25, 6.25, -1.75], + "scale": [2, 2, 2] + } + }, + "groups": [ + { + "name": "group", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "group", + "origin": [0, 0, 0], + "color": 5, + "children": [0, 1, 2, 3, 4, 5, 6, 7] + }, + { + "name": "group", + "origin": [0, 0, 0], + "color": 9, + "children": [8, 9, 10, 11, 12, 13, 14, 15] + }, + { + "name": "group", + "origin": [0, 0, 0], + "color": 9, + "children": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29] + }, + { + "name": "group", + "origin": [7.96066, 1.75, 8], + "color": 0, + "children": [30, 31, 32, 33, 34] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/models/item/micro_missile.json b/src/main/resources/assets/superbwarfare/models/item/micro_missile.json new file mode 100644 index 000000000..6b60c35c0 --- /dev/null +++ b/src/main/resources/assets/superbwarfare/models/item/micro_missile.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "superbwarfare:item/perk/micro_missile" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/textures/item/battery.png b/src/main/resources/assets/superbwarfare/textures/item/battery.png new file mode 100644 index 000000000..35ff190dc Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/item/battery.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/perk/micro_missile.png b/src/main/resources/assets/superbwarfare/textures/item/perk/micro_missile.png new file mode 100644 index 000000000..f0e5f44e9 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/item/perk/micro_missile.png differ diff --git a/src/main/resources/data/superbwarfare/recipes/battery_crafting.json b/src/main/resources/data/superbwarfare/recipes/battery_crafting.json new file mode 100644 index 000000000..9642d4395 --- /dev/null +++ b/src/main/resources/data/superbwarfare/recipes/battery_crafting.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "aa", + "aa" + ], + "key": { + "a": { + "item": "superbwarfare:cell" + } + }, + "result": { + "item": "superbwarfare:battery", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipes/battery_from_cell_crafting.json b/src/main/resources/data/superbwarfare/recipes/battery_from_cell_crafting.json new file mode 100644 index 000000000..742876f72 --- /dev/null +++ b/src/main/resources/data/superbwarfare/recipes/battery_from_cell_crafting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category":"misc", + "ingredients": [ + { + "item":"superbwarfare:battery" + } + ], + "result": { + "item": "superbwarfare:cell", + "count": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipes/shield_cell_crafting.json b/src/main/resources/data/superbwarfare/recipes/cell_crafting.json similarity index 100% rename from src/main/resources/data/superbwarfare/recipes/shield_cell_crafting.json rename to src/main/resources/data/superbwarfare/recipes/cell_crafting.json diff --git a/src/main/resources/data/superbwarfare/recipes/perk/micro_missile_perk_crafting.json b/src/main/resources/data/superbwarfare/recipes/perk/micro_missile_perk_crafting.json new file mode 100644 index 000000000..283fde90e --- /dev/null +++ b/src/main/resources/data/superbwarfare/recipes/perk/micro_missile_perk_crafting.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "cbc", + "bab", + "cbc" + ], + "key": { + "a": { + "item": "superbwarfare:empty_perk" + }, + "b": { + "item": "superbwarfare:grain" + }, + "c": { + "item": "minecraft:firework_rocket" + } + }, + "result": { + "item": "superbwarfare:micro_missile", + "count": 1 + } +} \ No newline at end of file