From ae299530b2afb54e9639d62c29723d13dfc05d32 Mon Sep 17 00:00:00 2001 From: 5gi <5gi@5gi.dev> Date: Wed, 5 Mar 2025 21:59:07 -0500 Subject: [PATCH] Added a few guns, bullet trails, 3d models for guns (texture pack), bug fixes, QOL like not shooting valuable entities when clicking on them. --- src/main/java/com/s5gi/giGuns/giGuns.java | 9 +- .../java/com/s5gi/giGuns/guns/BulletType.java | 12 +- .../java/com/s5gi/giGuns/guns/GunHandler.java | 93 +++++++-- src/main/java/com/s5gi/giGuns/guns/Guns.java | 7 +- src/main/java/com/s5gi/giGuns/guns/IGun.java | 10 + .../java/com/s5gi/giGuns/guns/ind/AK47.java | 93 +++++++++ .../java/com/s5gi/giGuns/guns/ind/_1911.java | 2 +- .../com/s5gi/giGuns/guns/ind/barrettM82.java | 84 ++++++++ .../s5gi/giGuns/guns/ind/desertDeagle.java | 2 +- .../com/s5gi/giGuns/guns/ind/hecateII.java | 2 +- .../com/s5gi/giGuns/guns/ind/m1Bazooka.java | 85 ++++++++ .../assets/minecraft/items/diamond_hoe.json | 26 +++ .../assets/minecraft/items/iron_hoe.json | 19 ++ .../assets/minecraft/items/stone_hoe.json | 19 ++ .../assets/minecraft/items/wooden_hoe.json | 19 ++ .../assets/minecraft/models/item/1911.json | 54 ++++++ .../assets/minecraft/models/item/ak47.json | 157 +++++++++++++++ .../minecraft/models/item/barettm82.json | 183 ++++++++++++++++++ .../minecraft/models/item/deserteagle.json | 95 +++++++++ .../minecraft/models/item/hecateii.json | 183 ++++++++++++++++++ .../assets/minecraft/textures/item/1911.png | Bin 0 -> 179 bytes .../assets/minecraft/textures/item/ak47.png | Bin 0 -> 1405 bytes .../minecraft/textures/item/barettm82.png | Bin 0 -> 913 bytes .../minecraft/textures/item/deserteagle.png | Bin 0 -> 286 bytes .../minecraft/textures/item/hecateii.png | Bin 0 -> 948 bytes .../giGuns Pack Java/bb/1911.bbmodel | 1 + .../giGuns Pack Java/bb/ak47.bbmodel | 1 + .../giGuns Pack Java/bb/barettm82.bbmodel | 1 + .../giGuns Pack Java/bb/deserteagle.bbmodel | 1 + .../giGuns Pack Java/bb/hecateii.bbmodel | 1 + .../TexturePack/giGuns Pack Java/pack.mcmeta | 6 + .../TexturePack/giGuns Pack Java/readme.txt | 8 + src/main/resources/plugin.yml | 2 +- 33 files changed, 1138 insertions(+), 37 deletions(-) create mode 100644 src/main/java/com/s5gi/giGuns/guns/ind/AK47.java create mode 100644 src/main/java/com/s5gi/giGuns/guns/ind/barrettM82.java create mode 100644 src/main/java/com/s5gi/giGuns/guns/ind/m1Bazooka.java create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/items/diamond_hoe.json create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/items/iron_hoe.json create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/items/stone_hoe.json create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/items/wooden_hoe.json create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/1911.json create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/ak47.json create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/barettm82.json create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/deserteagle.json create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/hecateii.json create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/textures/item/1911.png create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/textures/item/ak47.png create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/textures/item/barettm82.png create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/textures/item/deserteagle.png create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/textures/item/hecateii.png create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/bb/1911.bbmodel create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/bb/ak47.bbmodel create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/bb/barettm82.bbmodel create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/bb/deserteagle.bbmodel create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/bb/hecateii.bbmodel create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/pack.mcmeta create mode 100644 src/main/resources/TexturePack/giGuns Pack Java/readme.txt diff --git a/src/main/java/com/s5gi/giGuns/giGuns.java b/src/main/java/com/s5gi/giGuns/giGuns.java index 355d91f..1e265d3 100644 --- a/src/main/java/com/s5gi/giGuns/giGuns.java +++ b/src/main/java/com/s5gi/giGuns/giGuns.java @@ -37,11 +37,14 @@ public final class giGuns extends JavaPlugin { BulletType.init(); Guns.init(); getServer().getPluginManager().registerEvents(new GunHandler(), this); - getServer().getScheduler().scheduleSyncRepeatingTask(this, GunHandler::BulletRoutine, 0, 1); - getCommand("hekateII").setExecutor((commandSender, command, s, strings) -> { + getServer().getScheduler().scheduleSyncRepeatingTask(this, GunHandler::BulletRoutine, 0, 1); + getServer().getScheduler().scheduleSyncRepeatingTask(this, GunHandler::BulletTrailRoutine, 0, 3); + + + getCommand("getgun").setExecutor((commandSender, command, s, args) -> { if (commandSender instanceof Player player) { - IGun gun = GunHandler.registeredGuns.values().stream().toList().getFirst(); + IGun gun = GunHandler.registeredGuns.values().stream().toList().get(Integer.parseInt(args[0])); player.getInventory().addItem(gun.compileGun()); } return false; diff --git a/src/main/java/com/s5gi/giGuns/guns/BulletType.java b/src/main/java/com/s5gi/giGuns/guns/BulletType.java index 974b4c7..68827eb 100644 --- a/src/main/java/com/s5gi/giGuns/guns/BulletType.java +++ b/src/main/java/com/s5gi/giGuns/guns/BulletType.java @@ -50,7 +50,7 @@ public enum BulletType { } public static ShapedRecipe pistol() { - ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("cancerguns:pistol_ammo"), makeAmmo("&cPistol")); + ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("giguns:pistol_ammo"), makeAmmo("&cPistol")); recipe.shape(" c ", "ngn", "nnn"); recipe.setIngredient('c', Material.COPPER_INGOT); recipe.setIngredient('n', Material.IRON_NUGGET); @@ -58,7 +58,7 @@ public enum BulletType { return recipe; } public static ShapedRecipe rifle() { - ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("cancerguns:rifle_ammo"), makeAmmo("&eRifle")); + ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("giguns:rifle_ammo"), makeAmmo("&eRifle")); recipe.shape(" c ", "ngn", "nIn"); recipe.setIngredient('c', Material.COPPER_INGOT); recipe.setIngredient('n', Material.IRON_NUGGET); @@ -67,7 +67,7 @@ public enum BulletType { return recipe; } public static ShapedRecipe heavy() { - ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("cancerguns:heavy_ammo"), makeAmmo("&6Heavy")); + ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("giguns:heavy_ammo"), makeAmmo("&6Heavy")); recipe.shape(" c ", "IgI", "InI"); recipe.setIngredient('c', Material.COPPER_INGOT); recipe.setIngredient('n', Material.IRON_NUGGET); @@ -76,7 +76,7 @@ public enum BulletType { return recipe; } public static ShapedRecipe explosive() { - ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("cancerguns:explosive_ammo"), makeAmmo("&4Explosive")); + ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("giguns:explosive_ammo"), makeAmmo("&4Explosive")); recipe.shape(" c ", "ngn", "nIn"); recipe.setIngredient('c', Material.COPPER_INGOT); recipe.setIngredient('n', Material.IRON_NUGGET); @@ -85,14 +85,14 @@ public enum BulletType { return recipe; } public static ShapedRecipe grenade() { - ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("cancerguns:grenade_ammo"), makeAmmo("&2Grenade")); + ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("giguns:grenade_ammo"), makeAmmo("&2Grenade")); recipe.shape(" I ", "ITI", "III"); recipe.setIngredient('T', Material.TNT); recipe.setIngredient('I', Material.IRON_INGOT); return recipe; } public static ShapedRecipe antiTank() { - ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("cancerguns:antitank_ammo"), makeAmmo("&9Anti-Tank")); + ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("giguns:antitank_ammo"), makeAmmo("&9Anti-Tank")); recipe.shape(" B ", "ITI", "III"); recipe.setIngredient('T', Material.TNT); recipe.setIngredient('I', Material.IRON_INGOT); diff --git a/src/main/java/com/s5gi/giGuns/guns/GunHandler.java b/src/main/java/com/s5gi/giGuns/guns/GunHandler.java index 14f343e..f8938fc 100644 --- a/src/main/java/com/s5gi/giGuns/guns/GunHandler.java +++ b/src/main/java/com/s5gi/giGuns/guns/GunHandler.java @@ -7,10 +7,12 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.entity.ProjectileHitEvent; +import org.bukkit.event.player.PlayerInteractAtEntityEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.PlayerInventory; import org.bukkit.metadata.FixedMetadataValue; +import org.bukkit.util.Vector; import java.util.ArrayList; import java.util.HashMap; @@ -19,6 +21,7 @@ import java.util.List; public class GunHandler implements Listener { public static HashMap registeredGuns = new HashMap<>(); public static HashMap physicsBullets = new HashMap<>(); + public static HashMap lastLocationsOfBullets = new HashMap<>(); public static void register(IGun gun) { registeredGuns.put(giGuns.color(gun.name()), gun); @@ -48,31 +51,67 @@ public class GunHandler implements Listener { } } + public static void BulletTrailRoutine() { + for (Snowball physbullet : physicsBullets.keySet()) { + Location currentLocation = physbullet.getLocation(); + Location lastLocation = lastLocationsOfBullets.get(physbullet); + + if (lastLocation != null) { + Calc.drawParticleLine(lastLocation, currentLocation); + } + lastLocationsOfBullets.put(physbullet, currentLocation); + } + } + + public static void shoot(Player from) { + World world = from.getWorld(); + IGun gun = GunHandler.getRegisteredGun(from.getInventory().getItemInMainHand().getItemMeta().getItemName()); + IBullet bullet = gun.compileBullet(); + if (from.hasCooldown(from.getInventory().getItemInMainHand())) return; + if (!Calc.decreaseMatchingItem(from, gun.bulletType().getItem())) { + world.playSound(from.getEyeLocation(), Sound.BLOCK_DISPENSER_FAIL, SoundCategory.PLAYERS, 3f, 1f); + return; + } + Snowball physbullet = from.getWorld().spawn(from.getEyeLocation().subtract(0,0.2f,0), Snowball.class); + physbullet.setShooter(from); + physbullet.setItem(new ItemStack(bullet.mat())); + physbullet.setGravity(gun.gravity()); + physbullet.setVelocity(from.getEyeLocation().getDirection().multiply(gun.bulletSpeed())); + physbullet.setMetadata("isBullet", new FixedMetadataValue(giGuns.plugin, true)); + physbullet.setMetadata("bornAt", new FixedMetadataValue(giGuns.plugin, System.currentTimeMillis())); + for (Sound sound : gun.sound()) { + world.playSound(from.getEyeLocation(), sound, SoundCategory.PLAYERS, 15f, gun.soundPitch()); + } + from.setCooldown(from.getInventory().getItemInMainHand(), gun.cooldown()); + lastLocationsOfBullets.put(physbullet, physbullet.getLocation()); + physicsBullets.put(physbullet, bullet); + } + @EventHandler public static void onRightClick(PlayerInteractEvent event) { if (event.getPlayer().getInventory().getItemInMainHand() !=null && event.getPlayer().getInventory().getItemInMainHand().getItemMeta()!=null && GunHandler.isRegisteredGun(event.getPlayer().getInventory().getItemInMainHand().getItemMeta().getItemName()) && (event.getAction() == Action.RIGHT_CLICK_BLOCK || event.getAction() == Action.RIGHT_CLICK_AIR)) { - Player player = event.getPlayer(); - World world = player.getWorld(); - IGun gun = GunHandler.getRegisteredGun(player.getInventory().getItemInMainHand().getItemMeta().getItemName()); - IBullet bullet = gun.compileBullet(); - if (player.hasCooldown(player.getInventory().getItemInMainHand())) return; - if (!Calc.decreaseMatchingItem(player, gun.bulletType().getItem())) { - world.playSound(player.getEyeLocation(), Sound.BLOCK_DISPENSER_FAIL, SoundCategory.PLAYERS, 3f, 1f); - return; - } - Snowball physbullet = player.getWorld().spawn(player.getEyeLocation().subtract(0,0.2f,0), Snowball.class); - physbullet.setShooter(player); - physbullet.setItem(new ItemStack(bullet.mat())); - physbullet.setGravity(gun.gravity()); - physbullet.setVelocity(player.getEyeLocation().getDirection().multiply(gun.bulletSpeed())); - physbullet.setMetadata("isBullet", new FixedMetadataValue(giGuns.plugin, true)); - physbullet.setMetadata("bornAt", new FixedMetadataValue(giGuns.plugin, System.currentTimeMillis())); - for (Sound sound : gun.sound()) { - world.playSound(player.getEyeLocation(), sound, SoundCategory.PLAYERS, 15f, gun.soundPitch()); - } - player.setCooldown(player.getInventory().getItemInMainHand(), gun.cooldown()); - physicsBullets.put(physbullet, bullet); + event.setCancelled(true); + shoot(event.getPlayer()); + } else if (event.getPlayer().getInventory().getItemInMainHand() != null && + event.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.BLACK_DYE) && + event.getPlayer().getInventory().getItemInMainHand().getItemMeta()!=null && + event.getPlayer().getInventory().getItemInMainHand().getItemMeta().getItemName().contains("Ammo")) { + event.setCancelled(true); + } + } + @EventHandler + public static void onPlayerInteract(PlayerInteractAtEntityEvent event) { + if (event.getPlayer().getInventory().getItemInMainHand() !=null && event.getPlayer().getInventory().getItemInMainHand().getItemMeta()!=null && + GunHandler.isRegisteredGun(event.getPlayer().getInventory().getItemInMainHand().getItemMeta().getItemName())) { + if (event.getRightClicked() instanceof Villager || event.getRightClicked() instanceof ItemFrame) {return;} + event.setCancelled(true); + shoot(event.getPlayer()); + } else if (event.getPlayer().getInventory().getItemInMainHand() != null && + event.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.BLACK_DYE) && + event.getPlayer().getInventory().getItemInMainHand().getItemMeta()!=null && + event.getPlayer().getInventory().getItemInMainHand().getItemMeta().getItemName().contains("Ammo")) { + event.setCancelled(true); } } @@ -175,5 +214,17 @@ public class GunHandler implements Listener { } return player.getGameMode().equals(GameMode.CREATIVE); // No matching item found } + + public static void drawParticleLine(Location from, Location to) { + Vector direction = to.toVector().subtract(from.toVector()); + double distance = direction.length(); + direction.normalize(); + + for (double d = 0; d < distance; d += 0.5) { + Location point = from.clone().add(direction.clone().multiply(d)); + from.getWorld().spawnParticle(Particle.DUST, point, 3, 0.01f, 0.01f, 0.01f, 0, new Particle.DustOptions(Color.WHITE, 0.5f)); + + } + } } } diff --git a/src/main/java/com/s5gi/giGuns/guns/Guns.java b/src/main/java/com/s5gi/giGuns/guns/Guns.java index af6d34e..29a7b02 100644 --- a/src/main/java/com/s5gi/giGuns/guns/Guns.java +++ b/src/main/java/com/s5gi/giGuns/guns/Guns.java @@ -1,14 +1,15 @@ package com.s5gi.giGuns.guns; -import com.s5gi.giGuns.guns.ind._1911; -import com.s5gi.giGuns.guns.ind.desertDeagle; -import com.s5gi.giGuns.guns.ind.hecateII; +import com.s5gi.giGuns.guns.ind.*; public class Guns { public static void init() { GunHandler.register(new hecateII()); GunHandler.register(new _1911()); GunHandler.register(new desertDeagle()); + GunHandler.register(new m1Bazooka()); + GunHandler.register(new barrettM82()); + GunHandler.register(new AK47()); } // public static final IGun hecateII = new IGun() { diff --git a/src/main/java/com/s5gi/giGuns/guns/IGun.java b/src/main/java/com/s5gi/giGuns/guns/IGun.java index b06b78a..7f78e56 100644 --- a/src/main/java/com/s5gi/giGuns/guns/IGun.java +++ b/src/main/java/com/s5gi/giGuns/guns/IGun.java @@ -1,6 +1,7 @@ package com.s5gi.giGuns.guns; import com.s5gi.giGuns.giGuns; +import org.bukkit.Color; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.Sound; @@ -9,9 +10,12 @@ import org.bukkit.entity.LivingEntity; import org.bukkit.inventory.CraftingRecipe; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.inventory.meta.components.CustomModelDataComponent; +import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.List; +import java.util.Map; public interface IGun { String name(); @@ -26,6 +30,9 @@ public interface IGun { double damage(); //in ticks int cooldown(); + default int textureId() { + return 0; + } CraftingRecipe recipe(); default List getLore() { List lore = new ArrayList<>(); @@ -42,6 +49,9 @@ public interface IGun { ItemMeta meta = gunItem.getItemMeta(); meta.setItemName(giGuns.color(gun.name())); meta.setLore(gun.getLore()); + CustomModelDataComponent component = meta.getCustomModelDataComponent(); + component.setStrings(List.of("gunmodel" + gun.textureId())); + meta.setCustomModelDataComponent(component); gunItem.setItemMeta(meta); return gunItem; } diff --git a/src/main/java/com/s5gi/giGuns/guns/ind/AK47.java b/src/main/java/com/s5gi/giGuns/guns/ind/AK47.java new file mode 100644 index 0000000..bad333b --- /dev/null +++ b/src/main/java/com/s5gi/giGuns/guns/ind/AK47.java @@ -0,0 +1,93 @@ +package com.s5gi.giGuns.guns.ind; + +import com.s5gi.giGuns.guns.BulletType; +import com.s5gi.giGuns.guns.IGun; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.NamespacedKey; +import org.bukkit.Sound; +import org.bukkit.block.Block; +import org.bukkit.entity.LivingEntity; +import org.bukkit.inventory.CraftingRecipe; +import org.bukkit.inventory.ShapedRecipe; + +import java.util.List; + +public class AK47 implements IGun { + @Override + public String name() { + return "&cAK-47"; + } + + @Override + public int textureId() { + return 1; + } + + @Override + public List description() { + return List.of("&cSoviet &eUnion", "&7A gas-operated, long-stroke piston, closed rotating bolt, assault rifle"); + } + + @Override + public Material getItem() { + return Material.DIAMOND_HOE; + } + + @Override + public BulletType bulletType() { + return BulletType.RIFLE; + } + + @Override + public List sound() { + return List.of(Sound.ENTITY_FIREWORK_ROCKET_BLAST); + } + + @Override + public float soundPitch() { + return 0.8f; + } + + @Override + public void onHitPlayer(Location location, LivingEntity entity) { + + } + + @Override + public void onHitBlock(Location location, Block block) { + + } + + @Override + public double bulletSpeed() { + return 3.4; + } + + @Override + public double damage() { + return 6; + } + + @Override + public boolean gravity() { + return true; + } + + @Override + public int cooldown() { + return 4; + } + + @Override + public CraftingRecipe recipe() { + ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("giguns:ak47"), compileGun()); + recipe.shape("iii","rdI","iis"); + recipe.setIngredient('i', Material.IRON_INGOT); + recipe.setIngredient('I', Material.IRON_BLOCK); + recipe.setIngredient('r', Material.BLAZE_ROD); + recipe.setIngredient('d', Material.DISPENSER); + recipe.setIngredient('s', Material.STICK); + return recipe; + } +} diff --git a/src/main/java/com/s5gi/giGuns/guns/ind/_1911.java b/src/main/java/com/s5gi/giGuns/guns/ind/_1911.java index 14fe9af..9edaec1 100644 --- a/src/main/java/com/s5gi/giGuns/guns/ind/_1911.java +++ b/src/main/java/com/s5gi/giGuns/guns/ind/_1911.java @@ -77,7 +77,7 @@ public class _1911 implements IGun { @Override public CraftingRecipe recipe() { - ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("cancerguns:1911"), compileGun()); + ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("giguns:1911"), compileGun()); recipe.shape(" ii"," rd"," is"); recipe.setIngredient('i', Material.IRON_INGOT); recipe.setIngredient('r', Material.BLAZE_ROD); diff --git a/src/main/java/com/s5gi/giGuns/guns/ind/barrettM82.java b/src/main/java/com/s5gi/giGuns/guns/ind/barrettM82.java new file mode 100644 index 0000000..02f8fad --- /dev/null +++ b/src/main/java/com/s5gi/giGuns/guns/ind/barrettM82.java @@ -0,0 +1,84 @@ +package com.s5gi.giGuns.guns.ind; + +import com.s5gi.giGuns.guns.BulletType; +import com.s5gi.giGuns.guns.IGun; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.NamespacedKey; +import org.bukkit.Sound; +import org.bukkit.block.Block; +import org.bukkit.entity.LivingEntity; +import org.bukkit.inventory.CraftingRecipe; +import org.bukkit.inventory.ShapedRecipe; + +import java.util.List; + +public class barrettM82 implements IGun { + @Override + public String name() { + return "&cBarrett M82"; + } + + @Override + public List description() { + return List.of("&9U.S.A.","&7A recoil-operated, semi-automatic anti-tank rifle"); + } + + @Override + public Material getItem() { + return Material.STONE_HOE; + } + + @Override + public BulletType bulletType() { + return BulletType.ANTI_TANK; + } + + @Override + public List sound() { + return List.of(Sound.ENTITY_FIREWORK_ROCKET_BLAST); + } + + @Override + public float soundPitch() { + return 0.5f; + } + + @Override + public void onHitPlayer(Location location, LivingEntity entity) { + + } + + @Override + public void onHitBlock(Location location, Block block) { + + } + + @Override + public double bulletSpeed() { + return 4; + } + + @Override + public double damage() { + return 14; + } + + @Override + public int cooldown() { + return 40; + } + + @Override + public CraftingRecipe recipe() { + ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("giguns:barettm82"), compileGun()); + recipe.shape("Iii", "rRd", "Iis"); + recipe.setIngredient('i', Material.IRON_INGOT); + recipe.setIngredient('I', Material.IRON_BLOCK); + recipe.setIngredient('r', Material.BREEZE_ROD); + recipe.setIngredient('R', Material.BLAZE_ROD); + recipe.setIngredient('d', Material.DISPENSER); + recipe.setIngredient('s', Material.STICK); + return recipe; + } +} diff --git a/src/main/java/com/s5gi/giGuns/guns/ind/desertDeagle.java b/src/main/java/com/s5gi/giGuns/guns/ind/desertDeagle.java index 3a66f8c..a32bff0 100644 --- a/src/main/java/com/s5gi/giGuns/guns/ind/desertDeagle.java +++ b/src/main/java/com/s5gi/giGuns/guns/ind/desertDeagle.java @@ -71,7 +71,7 @@ public class desertDeagle implements IGun { @Override public CraftingRecipe recipe() { - ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("cancerguns:desert_eagle"), compileGun()); + ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("giguns:desert_eagle"), compileGun()); recipe.shape(" II"," rd"," is"); recipe.setIngredient('i', Material.IRON_INGOT); recipe.setIngredient('I', Material.IRON_BLOCK); diff --git a/src/main/java/com/s5gi/giGuns/guns/ind/hecateII.java b/src/main/java/com/s5gi/giGuns/guns/ind/hecateII.java index 9aa4a80..62bd4db 100644 --- a/src/main/java/com/s5gi/giGuns/guns/ind/hecateII.java +++ b/src/main/java/com/s5gi/giGuns/guns/ind/hecateII.java @@ -72,7 +72,7 @@ public class hecateII implements IGun { @Override public CraftingRecipe recipe() { - ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("cancerguns:hekateii"), compileGun()); + ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("giguns:hekateii"), compileGun()); recipe.shape("iii", "rRd", "iis"); recipe.setIngredient('i', Material.IRON_INGOT); recipe.setIngredient('r', Material.BREEZE_ROD); diff --git a/src/main/java/com/s5gi/giGuns/guns/ind/m1Bazooka.java b/src/main/java/com/s5gi/giGuns/guns/ind/m1Bazooka.java new file mode 100644 index 0000000..31d9110 --- /dev/null +++ b/src/main/java/com/s5gi/giGuns/guns/ind/m1Bazooka.java @@ -0,0 +1,85 @@ +package com.s5gi.giGuns.guns.ind; + +import com.s5gi.giGuns.guns.BulletType; +import com.s5gi.giGuns.guns.IGun; +import org.bukkit.*; +import org.bukkit.block.Block; +import org.bukkit.entity.LivingEntity; +import org.bukkit.inventory.CraftingRecipe; +import org.bukkit.inventory.ShapedRecipe; + +import java.util.List; + +public class m1Bazooka implements IGun { + @Override + public String name() { + return "&4M1 Bazooka"; + } + + @Override + public List description() { + return List.of("&9U.S.A.", "&7A man-portable recoilless anti-tank rocket launcher"); + } + + @Override + public Material getItem() { + return Material.GOLDEN_HOE; + } + + @Override + public BulletType bulletType() { + return BulletType.ANTI_TANK; + } + + @Override + public List sound() { + return List.of(Sound.ENTITY_GENERIC_EXPLODE, Sound.ENTITY_FIREWORK_ROCKET_BLAST); + } + + @Override + public float soundPitch() { + return 0.55f; + } + + @Override + public void onHitPlayer(Location location, LivingEntity entity) { + explode(location); + } + + @Override + public void onHitBlock(Location location, Block block) { + explode(location); + } + + private static void explode(Location location) { + location.getWorld().createExplosion(location, 4.5f, false, false); + location.getWorld().spawnParticle(Particle.EXPLOSION, location, 10, 0.1f, 0.1f, 0.1f); + } + + @Override + public double bulletSpeed() { + return 2.8; + } + + @Override + public double damage() { + return 18; + } + + @Override + public int cooldown() { + return 200; + } + + @Override + public CraftingRecipe recipe() { + ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.fromString("giguns:m1_bazooka"), compileGun()); + recipe.shape("III","rgT","IIs"); + recipe.setIngredient('T', Material.TNT); + recipe.setIngredient('I', Material.IRON_BLOCK); + recipe.setIngredient('r', Material.BLAZE_ROD); + recipe.setIngredient('s', Material.STICK); + recipe.setIngredient('g', Material.GUNPOWDER); + return recipe; + } +} diff --git a/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/items/diamond_hoe.json b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/items/diamond_hoe.json new file mode 100644 index 0000000..88d315f --- /dev/null +++ b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/items/diamond_hoe.json @@ -0,0 +1,26 @@ +{ + "model": { + "type": "select", + "property": "custom_model_data", + "fallback": { + "type": "model", + "model": "item/diamond_hoe" + }, + "cases": [ + { + "when": "gunmodel0", + "model": { + "type": "model", + "model": "item/deserteagle" + } + }, + { + "when": "gunmodel1", + "model": { + "type": "model", + "model": "item/ak47" + } + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/items/iron_hoe.json b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/items/iron_hoe.json new file mode 100644 index 0000000..2fb674d --- /dev/null +++ b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/items/iron_hoe.json @@ -0,0 +1,19 @@ +{ + "model": { + "type": "select", + "property": "custom_model_data", + "fallback": { + "type": "model", + "model": "item/iron_hoe" + }, + "cases": [ + { + "when": "gunmodel0", + "model": { + "type": "model", + "model": "item/hecateii" + } + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/items/stone_hoe.json b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/items/stone_hoe.json new file mode 100644 index 0000000..c367ad9 --- /dev/null +++ b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/items/stone_hoe.json @@ -0,0 +1,19 @@ +{ + "model": { + "type": "select", + "property": "custom_model_data", + "fallback": { + "type": "model", + "model": "item/stone_hoe" + }, + "cases": [ + { + "when": "gunmodel0", + "model": { + "type": "model", + "model": "item/barettm82" + } + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/items/wooden_hoe.json b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/items/wooden_hoe.json new file mode 100644 index 0000000..4f3d88b --- /dev/null +++ b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/items/wooden_hoe.json @@ -0,0 +1,19 @@ +{ + "model": { + "type": "select", + "property": "custom_model_data", + "fallback": { + "type": "model", + "model": "item/wooden_hoe" + }, + "cases": [ + { + "when": "gunmodel0", + "model": { + "type": "model", + "model": "item/1911" + } + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/1911.json b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/1911.json new file mode 100644 index 0000000..fc1d785 --- /dev/null +++ b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/1911.json @@ -0,0 +1,54 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "item/1911", + "particle": "item/1911" + }, + "elements": [ + { + "from": [7, 5, 7], + "to": [9, 10, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 9]}, + "faces": { + "north": {"uv": [2, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [4, 0, 6, 5], "texture": "#0"}, + "south": {"uv": [0, 5, 2, 10], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 5], "texture": "#0"}, + "up": {"uv": [9, 6, 7, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [9, 6, 7, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [7, 8, 2], + "to": [9, 10, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 10, 7]}, + "faces": { + "north": {"uv": [7, 8, 9, 10], "texture": "#0"}, + "east": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "south": {"uv": [2, 9, 4, 11], "texture": "#0"}, + "west": {"uv": [2, 5, 7, 7], "texture": "#0"}, + "up": {"uv": [11, 4, 6, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 7, 2, 9], "rotation": 90, "texture": "#0"} + } + } + ], + "display": { + "gui": { + "rotation": [36, 118, 3], + "translation": [4.25, 0, 0], + "scale": [2, 2, 2] + }, + "fixed": { + "rotation": [0, -90, 0], + "translation": [-2.25, 0, 0] + } + }, + "groups": [ + { + "name": "group", + "origin": [7, 5, 7], + "color": 0, + "children": [0, 1] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/ak47.json b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/ak47.json new file mode 100644 index 0000000..db87a02 --- /dev/null +++ b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/ak47.json @@ -0,0 +1,157 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "item/ak47", + "particle": "item/ak47" + }, + "elements": [ + { + "name": "sight", + "from": [8, 3, 0], + "to": [9, 4, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 2, -1]}, + "faces": { + "north": {"uv": [3.25, 7.5, 3.5, 7.75], "texture": "#0"}, + "east": {"uv": [3, 7.5, 3.25, 7.75], "texture": "#0"}, + "south": {"uv": [3.75, 7.5, 4, 7.75], "texture": "#0"}, + "west": {"uv": [3.5, 7.5, 3.75, 7.75], "texture": "#0"}, + "up": {"uv": [3.5, 7.5, 3.25, 7.25], "texture": "#0"}, + "down": {"uv": [3.75, 7.25, 3.5, 7.5], "texture": "#0"} + } + }, + { + "name": "fore", + "from": [8, 3, 5], + "to": [9, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 2, 4]}, + "faces": { + "north": {"uv": [2.75, 7, 3, 7.25], "texture": "#0"}, + "east": {"uv": [0, 7, 2.75, 7.25], "texture": "#0"}, + "south": {"uv": [5.75, 7, 6, 7.25], "texture": "#0"}, + "west": {"uv": [3, 7, 5.75, 7.25], "texture": "#0"}, + "up": {"uv": [3, 7, 2.75, 4.25], "texture": "#0"}, + "down": {"uv": [3.25, 4.25, 3, 7], "texture": "#0"} + } + }, + { + "name": "rod", + "from": [8, 2, 0], + "to": [9, 3, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 6]}, + "faces": { + "north": {"uv": [4, 4, 4.25, 4.25], "texture": "#0"}, + "east": {"uv": [0, 4, 4, 4.25], "texture": "#0"}, + "south": {"uv": [8.25, 4, 8.5, 4.25], "texture": "#0"}, + "west": {"uv": [4.25, 4, 8.25, 4.25], "texture": "#0"}, + "up": {"uv": [4.25, 4, 4, 0], "texture": "#0"}, + "down": {"uv": [4.5, 0, 4.25, 4], "texture": "#0"} + } + }, + { + "name": "grip", + "from": [8, -2, 14], + "to": [9, 3, 16], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 1, 15]}, + "faces": { + "north": {"uv": [0.5, 7.75, 0.75, 9], "texture": "#0"}, + "east": {"uv": [0, 7.75, 0.5, 9], "texture": "#0"}, + "south": {"uv": [1.25, 7.75, 1.5, 9], "texture": "#0"}, + "west": {"uv": [0.75, 7.75, 1.25, 9], "texture": "#0"}, + "up": {"uv": [0.75, 7.75, 0.5, 7.25], "texture": "#0"}, + "down": {"uv": [1, 7.25, 0.75, 7.75], "texture": "#0"} + } + }, + { + "name": "mag", + "from": [8, -5, 9], + "to": [9, 3, 11], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 1, 10]}, + "faces": { + "north": {"uv": [6.5, 6.5, 6.75, 8.5], "texture": "#0"}, + "east": {"uv": [6, 6.5, 6.5, 8.5], "texture": "#0"}, + "south": {"uv": [7.25, 6.5, 7.5, 8.5], "texture": "#0"}, + "west": {"uv": [6.75, 6.5, 7.25, 8.5], "texture": "#0"}, + "up": {"uv": [6.75, 6.5, 6.5, 6], "texture": "#0"}, + "down": {"uv": [7, 6, 6.75, 6.5], "texture": "#0"} + } + }, + { + "name": "stock", + "from": [8, 2, 16], + "to": [9, 3.25, 22], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 3, 22]}, + "faces": { + "north": {"uv": [7.5, 5.75, 7.75, 6], "texture": "#0"}, + "east": {"uv": [6, 5.75, 7.5, 6], "texture": "#0"}, + "south": {"uv": [9.25, 5.75, 9.5, 6], "texture": "#0"}, + "west": {"uv": [7.75, 5.75, 9.25, 6], "texture": "#0"}, + "up": {"uv": [7.75, 5.75, 7.5, 4.25], "texture": "#0"}, + "down": {"uv": [8, 4.25, 7.75, 5.75], "texture": "#0"} + } + }, + { + "name": "stockend", + "from": [8, 0.85, 20.198], + "to": [9, 1.6, 22.198], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 2.3, 23.15]}, + "faces": { + "north": {"uv": [2, 7.75, 2.25, 7.75], "texture": "#0"}, + "east": {"uv": [1.5, 7.75, 2, 7.75], "texture": "#0"}, + "south": {"uv": [2.75, 7.75, 3, 7.75], "texture": "#0"}, + "west": {"uv": [2.25, 7.75, 2.75, 7.75], "texture": "#0"}, + "up": {"uv": [2.25, 7.75, 2, 7.25], "texture": "#0"}, + "down": {"uv": [2.5, 7.25, 2.25, 7.75], "texture": "#0"} + } + }, + { + "name": "trigger", + "from": [8, 0.75, 12.25], + "to": [9, 2, 12.5], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 0, 13]}, + "faces": { + "north": {"uv": [4, 7.25, 4.25, 7.5], "texture": "#0"}, + "east": {"uv": [4, 7.25, 4, 7.5], "texture": "#0"}, + "south": {"uv": [4.25, 7.25, 4.5, 7.5], "texture": "#0"}, + "west": {"uv": [4.25, 7.25, 4.25, 7.5], "texture": "#0"}, + "up": {"uv": [4.25, 7.25, 4, 7.25], "texture": "#0"}, + "down": {"uv": [4.5, 7.25, 4.25, 7.25], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [-0.25, 6.75, -4] + }, + "thirdperson_lefthand": { + "translation": [1, 6.75, -4.25] + }, + "firstperson_righthand": { + "translation": [0, 9, -2] + }, + "firstperson_lefthand": { + "translation": [0, 5, 0] + }, + "ground": { + "translation": [0, 10, -5.25] + }, + "gui": { + "rotation": [27, 132, 0], + "translation": [-1.5, 3.5, 0], + "scale": [0.9, 0.9, 0.9] + }, + "fixed": { + "rotation": [0, -90, 0], + "translation": [2, 4, 0], + "scale": [1, 0.75, 0.75] + } + }, + "groups": [ + { + "name": "gun", + "origin": [7, 2, 6], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/barettm82.json b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/barettm82.json new file mode 100644 index 0000000..92993c0 --- /dev/null +++ b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/barettm82.json @@ -0,0 +1,183 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "item/barettm82", + "particle": "item/barettm82" + }, + "elements": [ + { + "name": "barrel", + "from": [7, 3, -15.25], + "to": [8, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 3, -4]}, + "faces": { + "north": {"uv": [5.75, 5, 6, 5.25], "texture": "#0"}, + "east": {"uv": [2.5, 3, 9.375, 3.25], "texture": "#0"}, + "south": {"uv": [5.75, 5.25, 6, 5.5], "texture": "#0"}, + "west": {"uv": [2.5, 3.25, 9.375, 3.5], "texture": "#0"}, + "up": {"uv": [2.75, 10.375, 2.5, 3.5], "texture": "#0"}, + "down": {"uv": [3, 3.5, 2.75, 10.375], "texture": "#0"} + } + }, + { + "name": "barrel", + "from": [7, 2, 9], + "to": [8, 3, 29], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 13]}, + "faces": { + "north": {"uv": [5.75, 5.5, 6, 5.75], "texture": "#0"}, + "east": {"uv": [4, 0.5, 9, 0.75], "texture": "#0"}, + "south": {"uv": [5.75, 5.75, 6, 6], "texture": "#0"}, + "west": {"uv": [4, 0.75, 9, 1], "texture": "#0"}, + "up": {"uv": [1.25, 8.75, 1, 3.75], "texture": "#0"}, + "down": {"uv": [1.5, 3.75, 1.25, 8.75], "texture": "#0"} + } + }, + { + "name": "stockend", + "from": [6.75, -0.15, 28.198], + "to": [8.25, 1.35, 31.948], + "rotation": {"angle": 22.5, "axis": "x", "origin": [7, 2.05, 32.9]}, + "faces": { + "north": {"uv": [5.5, 4.5, 5.875, 4.875], "texture": "#0"}, + "east": {"uv": [4, 4, 5, 4.375], "texture": "#0"}, + "south": {"uv": [5, 5.5, 5.375, 5.875], "texture": "#0"}, + "west": {"uv": [4, 4.5, 5, 4.875], "texture": "#0"}, + "up": {"uv": [4.375, 6, 4, 5], "texture": "#0"}, + "down": {"uv": [5.375, 4, 5, 5], "texture": "#0"} + } + }, + { + "name": "stock", + "from": [6.75, 1.75, 24.5], + "to": [8.25, 3.25, 31.75], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 3, 30.5]}, + "faces": { + "north": {"uv": [1.75, 1.75, 2, 2], "texture": "#0"}, + "east": {"uv": [0, 1.75, 1.75, 2], "texture": "#0"}, + "south": {"uv": [3.75, 1.75, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 1.75, 3.75, 2], "texture": "#0"}, + "up": {"uv": [2, 1.75, 1.75, 0], "texture": "#0"}, + "down": {"uv": [2.25, 0, 2, 1.75], "texture": "#0"} + } + }, + { + "name": "Scope", + "from": [6.5, 4, 7.75], + "to": [8.5, 6, 19], + "rotation": {"angle": 0, "axis": "y", "origin": [6.5, 4, 8]}, + "faces": { + "north": {"uv": [4.5, 5, 5, 5.5], "texture": "#0"}, + "east": {"uv": [3, 3.5, 5.875, 4], "texture": "#0"}, + "south": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [4, 0, 6.875, 0.5], "texture": "#0"}, + "up": {"uv": [0.5, 6.625, 0, 3.75], "texture": "#0"}, + "down": {"uv": [1, 3.75, 0.5, 6.625], "texture": "#0"} + } + }, + { + "name": "mag", + "from": [6.5, 1.75, -1.5], + "to": [8.5, 3.75, 16.25], + "rotation": {"angle": 0, "axis": "y", "origin": [6.5, 1.75, 10]}, + "faces": { + "north": {"uv": [5.5, 4, 6, 4.5], "texture": "#0"}, + "east": {"uv": [1.5, 2, 6, 2.5], "texture": "#0"}, + "south": {"uv": [4.5, 5.5, 5, 6], "texture": "#0"}, + "west": {"uv": [1.5, 2.5, 6, 3], "texture": "#0"}, + "up": {"uv": [2, 7.5, 1.5, 3], "texture": "#0"}, + "down": {"uv": [2.5, 3, 2, 7.5], "texture": "#0"} + } + }, + { + "name": "trigger", + "from": [7.25, 0.75, 12.25], + "to": [8.25, 2, 12.5], + "rotation": {"angle": 22.5, "axis": "x", "origin": [7.25, 0, 13]}, + "faces": { + "north": {"uv": [5.5, 5, 5.75, 5.375], "texture": "#0"}, + "east": {"uv": [6, 2, 6.125, 2.375], "texture": "#0"}, + "south": {"uv": [5.5, 5.5, 5.75, 5.875], "texture": "#0"}, + "west": {"uv": [6, 2.5, 6.125, 2.875], "texture": "#0"}, + "up": {"uv": [3.25, 6.125, 3, 6], "texture": "#0"}, + "down": {"uv": [3.5, 6, 3.25, 6.125], "texture": "#0"} + } + }, + { + "name": "grip", + "from": [7.25, -2, 14], + "to": [8.25, 3, 16], + "rotation": {"angle": -22.5, "axis": "x", "origin": [7.25, 1, 15]}, + "faces": { + "north": {"uv": [0.5, 2.5, 0.75, 3.75], "texture": "#0"}, + "east": {"uv": [0, 2.5, 0.5, 3.75], "texture": "#0"}, + "south": {"uv": [1.25, 2.5, 1.5, 3.75], "texture": "#0"}, + "west": {"uv": [0.75, 2.5, 1.25, 3.75], "texture": "#0"}, + "up": {"uv": [0.75, 2.5, 0.5, 2], "texture": "#0"}, + "down": {"uv": [1, 2, 0.75, 2.5], "texture": "#0"} + } + }, + { + "from": [7, 1, -7.5], + "to": [8, 2, 0.5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 1, 1.5]}, + "faces": { + "north": {"uv": [6, 1.25, 6.25, 1.5], "texture": "#0"}, + "east": {"uv": [4, 1.25, 6, 1.5], "texture": "#0"}, + "south": {"uv": [6, 1, 6.25, 1.25], "texture": "#0"}, + "west": {"uv": [4, 1, 6, 1.25], "texture": "#0"}, + "up": {"uv": [3.25, 6, 3, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [3.5, 4, 3.25, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [7, 1, -7.75], + "to": [8, 2, 0.25], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 1, 1.25]}, + "faces": { + "north": {"uv": [6, 1.75, 6.25, 2], "texture": "#0"}, + "east": {"uv": [4, 1.75, 6, 2], "texture": "#0"}, + "south": {"uv": [6, 1.5, 6.25, 1.75], "texture": "#0"}, + "west": {"uv": [4, 1.5, 6, 1.75], "texture": "#0"}, + "up": {"uv": [3.75, 6, 3.5, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 4, 3.75, 6], "rotation": 180, "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [0.5, 6.75, -6.5] + }, + "thirdperson_lefthand": { + "translation": [-0.5, 6.75, -6.5] + }, + "firstperson_righthand": { + "translation": [-0.75, 9.75, -7.5] + }, + "firstperson_lefthand": { + "translation": [-2.25, 6.5, -5] + }, + "ground": { + "translation": [0, 8.25, 0] + }, + "gui": { + "rotation": [26, 124, -3], + "translation": [-0.25, 1, 0], + "scale": [0.39, 0.39, 0.39] + }, + "fixed": { + "rotation": [180, -90, 180], + "translation": [0, 1.25, 0], + "scale": [0.39, 0.39, 0.39] + } + }, + "groups": [ + { + "name": "group", + "origin": [0, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/deserteagle.json b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/deserteagle.json new file mode 100644 index 0000000..e26a9c8 --- /dev/null +++ b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/deserteagle.json @@ -0,0 +1,95 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "item/deserteagle", + "particle": "item/deserteagle" + }, + "elements": [ + { + "from": [6, 5, 1], + "to": [9, 8, 9], + "rotation": {"angle": 0, "axis": "x", "origin": [7, 5, 9]}, + "faces": { + "north": {"uv": [6, 4, 7.5, 5.5], "texture": "#0"}, + "east": {"uv": [1, 9, 5, 10.5], "texture": "#0"}, + "south": {"uv": [6, 5.5, 7.5, 7], "texture": "#0"}, + "west": {"uv": [0, 1.5, 4, 3], "texture": "#0"}, + "up": {"uv": [1.5, 7, 0, 3], "texture": "#0"}, + "down": {"uv": [3, 3, 1.5, 7], "texture": "#0"} + } + }, + { + "from": [6, 0, 9], + "to": [9, 8, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 9]}, + "faces": { + "north": {"uv": [3, 3, 4.5, 7], "texture": "#0"}, + "east": {"uv": [4.5, 0, 6, 4], "texture": "#0"}, + "south": {"uv": [4.5, 4, 6, 8], "texture": "#0"}, + "west": {"uv": [6, 0, 7.5, 4], "texture": "#0"}, + "up": {"uv": [1.5, 8.5, 0, 7], "texture": "#0"}, + "down": {"uv": [3, 7, 1.5, 8.5], "texture": "#0"} + } + }, + { + "from": [7, 5, 12], + "to": [8, 7, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 5, 12]}, + "faces": { + "north": {"uv": [11, 15, 11.5, 16], "texture": "#0"}, + "east": {"uv": [4, 14.5, 4.5, 15.5], "texture": "#0"}, + "south": {"uv": [2.5, 13.5, 3, 14.5], "texture": "#0"}, + "west": {"uv": [4.5, 12.5, 5, 13.5], "texture": "#0"}, + "up": {"uv": [1.5, 14.5, 2, 15], "texture": "#0"}, + "down": {"uv": [5, 14.5, 5.5, 15], "texture": "#0"} + } + }, + { + "from": [7, 3, 8], + "to": [8, 5, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 3, 8]}, + "faces": { + "north": {"uv": [5.5, 8.5, 6, 9.5], "texture": "#0"}, + "east": {"uv": [6.5, 15, 7, 16], "texture": "#0"}, + "south": {"uv": [6.5, 12, 7, 13], "texture": "#0"}, + "west": {"uv": [8.5, 12, 9, 13], "texture": "#0"}, + "up": {"uv": [8, 8.5, 8.5, 9], "texture": "#0"}, + "down": {"uv": [3.5, 8.375, 4, 8.875], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [0.5, 3.5, 0] + }, + "thirdperson_lefthand": { + "translation": [-0.5, 3.5, 0] + }, + "firstperson_righthand": { + "translation": [0, 6, 0] + }, + "firstperson_lefthand": { + "translation": [0, 2.75, 0] + }, + "ground": { + "translation": [0, 5.25, 0] + }, + "gui": { + "rotation": [35, 126, -5], + "translation": [0, 2.75, 0] + }, + "fixed": { + "rotation": [180, -90, 180], + "translation": [-0.5, 2.25, 0] + } + }, + "groups": [ + { + "name": "group", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/hecateii.json b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/hecateii.json new file mode 100644 index 0000000..aedb0c9 --- /dev/null +++ b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/models/item/hecateii.json @@ -0,0 +1,183 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "item/hecateii", + "particle": "item/hecateii" + }, + "elements": [ + { + "name": "barrel", + "from": [7, 3, -11.25], + "to": [8, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 3, 0]}, + "faces": { + "north": {"uv": [5.75, 5, 6, 5.25], "texture": "#0"}, + "east": {"uv": [2.5, 3, 9.375, 3.25], "texture": "#0"}, + "south": {"uv": [5.75, 5.25, 6, 5.5], "texture": "#0"}, + "west": {"uv": [2.5, 3.25, 9.375, 3.5], "texture": "#0"}, + "up": {"uv": [2.75, 10.375, 2.5, 3.5], "texture": "#0"}, + "down": {"uv": [3, 3.5, 2.75, 10.375], "texture": "#0"} + } + }, + { + "name": "barrel", + "from": [7, 2, 4], + "to": [8, 3, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 8]}, + "faces": { + "north": {"uv": [5.75, 5.5, 6, 5.75], "texture": "#0"}, + "east": {"uv": [4, 0.5, 9, 0.75], "texture": "#0"}, + "south": {"uv": [5.75, 5.75, 6, 6], "texture": "#0"}, + "west": {"uv": [4, 0.75, 9, 1], "texture": "#0"}, + "up": {"uv": [1.25, 8.75, 1, 3.75], "texture": "#0"}, + "down": {"uv": [1.5, 3.75, 1.25, 8.75], "texture": "#0"} + } + }, + { + "name": "stockend", + "from": [6.75, -0.15, 23.198], + "to": [8.25, 1.35, 26.948], + "rotation": {"angle": 22.5, "axis": "x", "origin": [7, 2.05, 27.9]}, + "faces": { + "north": {"uv": [5.5, 4.5, 5.875, 4.875], "texture": "#0"}, + "east": {"uv": [4, 4, 5, 4.375], "texture": "#0"}, + "south": {"uv": [5, 5.5, 5.375, 5.875], "texture": "#0"}, + "west": {"uv": [4, 4.5, 5, 4.875], "texture": "#0"}, + "up": {"uv": [4.375, 6, 4, 5], "texture": "#0"}, + "down": {"uv": [5.375, 4, 5, 5], "texture": "#0"} + } + }, + { + "name": "stock", + "from": [6.75, 1.75, 19.5], + "to": [8.25, 3.25, 26.75], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 3, 25.5]}, + "faces": { + "north": {"uv": [1.75, 1.75, 2, 2], "texture": "#0"}, + "east": {"uv": [0, 1.75, 1.75, 2], "texture": "#0"}, + "south": {"uv": [3.75, 1.75, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 1.75, 3.75, 2], "texture": "#0"}, + "up": {"uv": [2, 1.75, 1.75, 0], "texture": "#0"}, + "down": {"uv": [2.25, 0, 2, 1.75], "texture": "#0"} + } + }, + { + "name": "Scope", + "from": [6.5, 4, 7.75], + "to": [8.5, 6, 19], + "rotation": {"angle": 0, "axis": "y", "origin": [6.5, 4, 8]}, + "faces": { + "north": {"uv": [4.5, 5, 5, 5.5], "texture": "#0"}, + "east": {"uv": [3, 3.5, 5.875, 4], "texture": "#0"}, + "south": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [4, 0, 6.875, 0.5], "texture": "#0"}, + "up": {"uv": [0.5, 6.625, 0, 3.75], "texture": "#0"}, + "down": {"uv": [1, 3.75, 0.5, 6.625], "texture": "#0"} + } + }, + { + "name": "mag", + "from": [6.5, 1.75, -1.5], + "to": [8.5, 3.75, 16.25], + "rotation": {"angle": 0, "axis": "y", "origin": [6.5, 1.75, 10]}, + "faces": { + "north": {"uv": [5.5, 4, 6, 4.5], "texture": "#0"}, + "east": {"uv": [1.5, 2, 6, 2.5], "texture": "#0"}, + "south": {"uv": [4.5, 5.5, 5, 6], "texture": "#0"}, + "west": {"uv": [1.5, 2.5, 6, 3], "texture": "#0"}, + "up": {"uv": [2, 7.5, 1.5, 3], "texture": "#0"}, + "down": {"uv": [2.5, 3, 2, 7.5], "texture": "#0"} + } + }, + { + "name": "trigger", + "from": [7.25, 0.75, 12.25], + "to": [8.25, 2, 12.5], + "rotation": {"angle": 22.5, "axis": "x", "origin": [7.25, 0, 13]}, + "faces": { + "north": {"uv": [5.5, 5, 5.75, 5.375], "texture": "#0"}, + "east": {"uv": [6, 2, 6.125, 2.375], "texture": "#0"}, + "south": {"uv": [5.5, 5.5, 5.75, 5.875], "texture": "#0"}, + "west": {"uv": [6, 2.5, 6.125, 2.875], "texture": "#0"}, + "up": {"uv": [3.25, 6.125, 3, 6], "texture": "#0"}, + "down": {"uv": [3.5, 6, 3.25, 6.125], "texture": "#0"} + } + }, + { + "name": "grip", + "from": [7.25, -2, 14], + "to": [8.25, 3, 16], + "rotation": {"angle": -22.5, "axis": "x", "origin": [7.25, 1, 15]}, + "faces": { + "north": {"uv": [0.5, 2.5, 0.75, 3.75], "texture": "#0"}, + "east": {"uv": [0, 2.5, 0.5, 3.75], "texture": "#0"}, + "south": {"uv": [1.25, 2.5, 1.5, 3.75], "texture": "#0"}, + "west": {"uv": [0.75, 2.5, 1.25, 3.75], "texture": "#0"}, + "up": {"uv": [0.75, 2.5, 0.5, 2], "texture": "#0"}, + "down": {"uv": [1, 2, 0.75, 2.5], "texture": "#0"} + } + }, + { + "from": [7, 1, -7.5], + "to": [8, 2, 0.5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 1, 1.5]}, + "faces": { + "north": {"uv": [6, 1.25, 6.25, 1.5], "texture": "#0"}, + "east": {"uv": [4, 1.25, 6, 1.5], "texture": "#0"}, + "south": {"uv": [6, 1, 6.25, 1.25], "texture": "#0"}, + "west": {"uv": [4, 1, 6, 1.25], "texture": "#0"}, + "up": {"uv": [3.25, 6, 3, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [3.5, 4, 3.25, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [7, 1, -7.75], + "to": [8, 2, 0.25], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 1, 1.25]}, + "faces": { + "north": {"uv": [6, 1.75, 6.25, 2], "texture": "#0"}, + "east": {"uv": [4, 1.75, 6, 2], "texture": "#0"}, + "south": {"uv": [6, 1.5, 6.25, 1.75], "texture": "#0"}, + "west": {"uv": [4, 1.5, 6, 1.75], "texture": "#0"}, + "up": {"uv": [3.75, 6, 3.5, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 4, 3.75, 6], "rotation": 180, "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [0.5, 6.75, -5] + }, + "thirdperson_lefthand": { + "translation": [-0.5, 6.75, -5.25] + }, + "firstperson_righthand": { + "translation": [-0.75, 8.75, -6] + }, + "firstperson_lefthand": { + "translation": [-2.25, 6.5, -5] + }, + "ground": { + "translation": [0, 8.25, 0] + }, + "gui": { + "rotation": [26, 124, -3], + "translation": [-0.25, 1, 0], + "scale": [0.48, 0.48, 0.48] + }, + "fixed": { + "rotation": [180, -90, 180], + "translation": [0, 1.25, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "group", + "origin": [0, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/textures/item/1911.png b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/textures/item/1911.png new file mode 100644 index 0000000000000000000000000000000000000000..339c3c1dfc6962f8fa85a0057f4296dd6b9b79dd GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|ay?xfLo9mV zPBP?cFyLWc-*LX=?Em`{ww`ZnRam`9mBTGBNA~*0s53dt1?3E9dKO&ca>(v=4t^2w zn^~1DeGc2NO_!EeOi`GeBpLf+-@CYV-{woX>@4Tu-L%JS#x#j~sP++yZ_nk9MbnI*oinw*sRkB>ZMCIdjA68~=m{Ay%R? z-LA4-t3B8cx~j8t^Mwa=EOzFe`({Dl``oy=D|^a|-hcl*bI<#I)4!i?uCd+!`J8R} z!j|22?;mcy-oO3)oV>aDv(ggpnI7CTXGQFR!VMdD1(}6~XH91;F5gtfc>L_IXJL}M zy3>QaD*vQxH<@0RHJ!ycnT6pX3j>QVgMbf%g8?IqbH=Kn&)R(b6zi?s4VHoovSLgV zT^LFv7$+Q&!B8ywdUo{F*YCH*|C4U>Ver`?&Sa3n#L&daz@f&VFoU5X0m6Bfb$~CN zdD0OMWGOX9YrQ#HQOBRp>hy2DXUqgsjG`0D31cdov)}riO_HX<;Z%sTqgTW_D*~>cr_ekg|quGkhAQZ=ajBff{^Y{EFU|@M^KK<70p8EUD%Uh}k??^C$!{bqO z!>6Pd{GDRU-gcUMi~Gsuoqqd2|LR@;+8?#=?_1oqs(U}V`^H|C`tTeNxJ_fVCk59(xh*)fjh2$E?i{ z(`KzY4@_2H^H?^_Kki?aJ)L3i7K69dPby#OeY$B}n|^z7qT`SE96 z=`PU2k-_~8R+IKZF++J?`{^#%YN`5{*-t8XnETyWVqPjhc z@!pqzpSl-s-DD9}J$+Y$<&0ZQHJ?wf-hH|*&TD6A(fT#b3uj6&Ox9a_x7y~XP_#r> z7=zER#rOLa8va>F-uuA6|Ml1F^Y&ZM`?*BEpu}&_Y5Dr=f&X+8zUiVD|QOaSW-L z^Y)H?hH#?9@sH0{W=mSN@+9g0uo6A!+VW!BTGm2QosuB;!t&BUBa0)h%+vamSl#EU zytuY>^7`g3XU}Ome13(yihf={z4!a`y}O_Po>`Pz_1&qi^4;HZ-XjwY)3lU|{(g%U z6s)wb5L{yEFSll^U+$$P4}Z0<4b#3o?Ev?4h8{O%LBY)U)0-?cZn56yZHPZ7s-Qi6 zzfD)|`S;fA=bn>&8^5M_ZmQk(`PX*IKeT0dy!%#NCzQGu~M?)sQQo zk3qwoVTv-tDM5y(Ovz`qT+Nz$_U-fBe^HZ9s!aa8tA|NIlFew{wakanpFcji9^&%k z=i%QGvi-|Fu{9+TXhu*+Hg+|6~aGcbU^_uHT~Ss=&pqDjbcwPlYoqab}pZ zx`sjH|I3Q|{1d_^eika_iGHfha7httrPf{c6_0IqW`r<2l`1r@-pfDV#UPws zJ#Ox;COk(MFlkJ$mRHC-e*W08V`tK)eEudMk=^`aqhXqty~5l}rA&v9t~B7dSP+qI zyKT)pFY$(eOQBvnKFTp<=N8;EpRMrZbTz{>SNjjC%2Q_leZ2X4`(3r~|EGAFaz%W< zUAMH>@c%K5hkKcJO!+Z?dHv_i9;bu5POnVNw|O~j!;Zv+JIt~d8_w_xPMr6hOTeyO zL21+Oy*mX?WITBGjOEbu7NyppFN}GydrgY>lwX*>xB1_xlNCt!aVxCi_4P> z<<45`L>Pa3dwl-X{j>Vt-TGcKrzm{yTu|VCadLI6;J1%c{oaWtlvhvY-*e;zixwp6 zOdnaLp4o9#TGYXkX+g{zg9+-*uX?!_$S{K9WqO6yjKt)<0gTW{=4dEl0jYz?0uAV% r%b60KzBdr30!ZTE0A?Ek;KAwozkjbzeeopM2&B@})z4*}Q$iB}>}`+U literal 0 HcmV?d00001 diff --git a/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/textures/item/deserteagle.png b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/textures/item/deserteagle.png new file mode 100644 index 0000000000000000000000000000000000000000..385c570c54bb26c69ffaf287ddfe0bb4fd9fdce8 GIT binary patch literal 286 zcmV+(0pb3MP)Px#*hxe|R9J=Wm(2~rFbstWVw{YV88V0G$P6BU9XR3(M|R*IE;I@#zlu`_#3w~< zqqKf?o~>2^fIk!f0F_$<0IGCv3&+t1e7%5E%OXUaCO|v`YYDjCA7O0Ns)SX51WhJ1 z#w6#7Xjnit1Be*LCjc-UxGJCor-1H0Kt#jsH%8oq;sV~b;C4BO^ElO7>uJ4UtqkPg zHeNH6AY`EM)#G2sDOu?9fOC#rgt!U+{01ZC*<`{Q_20$r0`?5JRv$>c`8Fr! kgH&M7e}(E6%;^6yPk*aX8LGJ6fdBvi07*qoM6N<$f@Q39KmY&$ literal 0 HcmV?d00001 diff --git a/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/textures/item/hecateii.png b/src/main/resources/TexturePack/giGuns Pack Java/assets/minecraft/textures/item/hecateii.png new file mode 100644 index 0000000000000000000000000000000000000000..f27a4bd4eba2be642ef71beb22731b8c8098a210 GIT binary patch literal 948 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V9xV&aSW-L z^Y)H?hH#?Hv5(J}G$*w8$u8OWV)s^7$0G~#<}OjNdXchlcHg74h0$|Y$;zy1X48=s zStBAN$}Y~n(E08;$D@ufg4kJ?TfErndF#uh@Bi+<|2?zl?9)$9^Zva1JDu&*lR4R* zm#%zC^}KZYSR#`AMuL8j3Z6Gl*@QtCE>zb@rJ;{_(Cn zhOVcvjF*hQ{Y!ged0)@&Q`O%YQ+CvUEc@cO_P1aw`vUpE`o{+S#krn;MdTXJF0X&& zZ&kkjdGPe4xcY53-~7CD?N7~{X#V5#0&_c=3;sUer1COVYVFAbfmfMTS1>%*)?OKt z4g?>nzaG0Aa&Px3304Vrh8|^xV}cBiIT{KZi`Q*6k$iXdZTi~Zd&|npgLkgGuEFs8 zu*0#_X0ku7?fLg*tE%UIap_4*vZd!fPuW@bzPq%({tF|>git$%DgRTN#KYO6jn8Lq zG2n1|u>O-M!$|>#$6E3Xr|OMb-?MvYov-Y)YFi5x2iiFG9rKls^X8aqH557*8dqzt zzvnS&)_3`T|4*m!opp*^!Eh|~9(%{_kH$tumo`d1UGbMaQG)I5@pC)H{x+m|UFYl( zTfRu4q@~%{d!=?PgHrRlphNx-895FcSiG9;E3hfFf??Oz`Un5rH0Hjv*uQJ*_lnxI z8NchDmP)aH`JHQTTBY>+m_%R&>j%w`@pXSrEi+_e{j0a!ZSP0N?JY-nnIG3(xF|Q_ zoubkt?LAB``<*8&x!HNF(Lpcgy?vSA+hV4R&Q22@G=DLOpPTc>VqSFg)jPMc&L=Nf zF2eZX;hf3EPj4@bF>Sri#P|8lv9{ble!Ca&uF+SPo?Bd5immvv4FO#pj&r