From be44e01cba2ff9938315b0f6e34649e4de55b81c Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Tue, 25 Jun 2024 15:56:29 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E5=8C=96=E5=BC=B9=E8=8D=AF=E5=90=88?= =?UTF-8?q?=E6=88=90=E9=85=8D=E6=96=B9=EF=BC=8C=E7=A7=BB=E9=99=A4=E5=BC=B9?= =?UTF-8?q?=E4=B8=B8=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=BA=95=E7=81=AB=E6=9D=90?= =?UTF-8?q?=E6=96=99=EF=BC=8C=E6=96=B0=E5=A2=9E=E6=80=AA=E7=89=A9=E7=8C=8E?= =?UTF-8?q?=E4=BA=BA=E9=99=84=E9=AD=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enchantment/MonsterHunterEnchantment.java | 30 ++++++++++++++++++ .../target/entity/ProjectileEntity.java | 30 ++++++++++++++++-- .../target/event/GunEventHandler.java | 9 +++--- .../target/init/TargetModEnchantments.java | 2 ++ .../mcreator/target/init/TargetModItems.java | 3 +- .../target/item/common/ammo/HandgunAmmo.java | 2 +- .../item/common/ammo/HandgunAmmoBox.java | 2 +- .../target/item/common/ammo/RifleAmmo.java | 2 +- .../target/item/common/ammo/RifleAmmoBox.java | 2 +- .../target/item/common/ammo/ShotgunAmmo.java | 2 +- .../item/common/ammo/ShotgunAmmoBox.java | 2 +- .../target/item/common/ammo/SniperAmmo.java | 2 +- .../item/common/ammo/SniperAmmoBox.java | 2 +- .../{ => common/material}/Copperplate.java | 2 +- .../item/{ => common/material}/Fusee.java | 2 +- .../item/{ => common/material}/Galena.java | 2 +- .../{Buckshot.java => material/Primer.java} | 8 ++--- .../item/{ => common/material}/Scheelite.java | 2 +- .../net/mcreator/target/item/gun/GunItem.java | 17 ++++++++++ .../target/tools/EnchantmentCategoryTool.java | 2 ++ .../resources/assets/target/lang/en_us.json | 3 ++ .../resources/assets/target/lang/zh_cn.json | 3 ++ .../item/{buckshot.json => primer.json} | 2 +- .../assets/target/textures/item/buckshot.png | Bin 495 -> 0 bytes .../assets/target/textures/item/primer.png | Bin 0 -> 229 bytes .../target/recipes/barbed_wire_crafting.json | 2 +- .../target/recipes/buckshot_crafting.json | 16 ---------- .../data/target/recipes/claymorecrafting.json | 6 ++-- .../data/target/recipes/fusee_crafting.json | 2 +- .../data/target/recipes/granade_40mm.json | 10 +++--- .../target/recipes/handgun_ammo_crafting.json | 8 +++-- .../data/target/recipes/mortar_he_shells.json | 4 +-- .../data/target/recipes/primer_crafting.json | 20 ++++++++++++ .../target/recipes/rifle_ammo_crafting.json | 5 ++- .../data/target/recipes/rocket_crafting.json | 2 +- .../target/recipes/shotgun_ammo_crafting.json | 20 ++++++------ .../target/recipes/sniper_ammo_crafting.json | 7 ++-- 37 files changed, 165 insertions(+), 70 deletions(-) create mode 100644 src/main/java/net/mcreator/target/enchantment/MonsterHunterEnchantment.java rename src/main/java/net/mcreator/target/item/{ => common/material}/Copperplate.java (92%) rename src/main/java/net/mcreator/target/item/{ => common/material}/Fusee.java (92%) rename src/main/java/net/mcreator/target/item/{ => common/material}/Galena.java (92%) rename src/main/java/net/mcreator/target/item/common/{Buckshot.java => material/Primer.java} (73%) rename src/main/java/net/mcreator/target/item/{ => common/material}/Scheelite.java (92%) rename src/main/resources/assets/target/models/item/{buckshot.json => primer.json} (58%) delete mode 100644 src/main/resources/assets/target/textures/item/buckshot.png create mode 100644 src/main/resources/assets/target/textures/item/primer.png delete mode 100644 src/main/resources/data/target/recipes/buckshot_crafting.json create mode 100644 src/main/resources/data/target/recipes/primer_crafting.json diff --git a/src/main/java/net/mcreator/target/enchantment/MonsterHunterEnchantment.java b/src/main/java/net/mcreator/target/enchantment/MonsterHunterEnchantment.java new file mode 100644 index 000000000..00a17f3d7 --- /dev/null +++ b/src/main/java/net/mcreator/target/enchantment/MonsterHunterEnchantment.java @@ -0,0 +1,30 @@ + +package net.mcreator.target.enchantment; + +import net.mcreator.target.init.TargetModItems; +import net.mcreator.target.tools.EnchantmentCategoryTool; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.enchantment.Enchantment; + +public class MonsterHunterEnchantment extends Enchantment { + public MonsterHunterEnchantment(EquipmentSlot... slots) { + super(Rarity.UNCOMMON, EnchantmentCategoryTool.GUN, slots); + } + + @Override + public int getMinCost(int pLevel) { + return 8 + 6 * pLevel; + } + + @Override + public int getMaxCost(int pLevel) { + return super.getMaxCost(pLevel) + 20; + } + + @Override + public int getMaxLevel() { + return 5; + } +} diff --git a/src/main/java/net/mcreator/target/entity/ProjectileEntity.java b/src/main/java/net/mcreator/target/entity/ProjectileEntity.java index ee60b73a1..039968ff3 100644 --- a/src/main/java/net/mcreator/target/entity/ProjectileEntity.java +++ b/src/main/java/net/mcreator/target/entity/ProjectileEntity.java @@ -24,6 +24,7 @@ import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.monster.Monster; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.ClipContext; import net.minecraft.world.level.Level; @@ -54,6 +55,7 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa protected int shooterId; private float damage = 1f; private float headShot = 1f; + private int monster_multiple = 1; private float legShot = 0.5f; private boolean beast = false; @@ -84,6 +86,11 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa return this; } + public ProjectileEntity monster_multiple(int monster_multiple) { + this.monster_multiple = monster_multiple; + return this; + } + public ProjectileEntity legShot(float legShot) { this.legShot = legShot; return this; @@ -318,6 +325,8 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa } protected void onHitEntity(Entity entity, boolean headshot, boolean legshot) { + float m_multiple = (1 + 0.4f * this.monster_multiple); + if (entity == null) return; if (entity instanceof PartEntity part) { @@ -363,7 +372,11 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa TargetMod.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> player), new ClientIndicatorMessage(1, 5)); } - entity.hurt(TargetModDamageTypes.causeGunFireHeadshotDamage(this.level().registryAccess(), this, this.shooter), this.damage * this.headShot); + if (entity instanceof Monster monster) { + monster.hurt(TargetModDamageTypes.causeGunFireHeadshotDamage(this.level().registryAccess(), this, this.shooter), this.damage * this.headShot * m_multiple); + } else { + entity.hurt(TargetModDamageTypes.causeGunFireHeadshotDamage(this.level().registryAccess(), this, this.shooter), this.damage * this.headShot); + } } else if (legshot) { if (!this.shooter.level().isClientSide() && this.shooter instanceof ServerPlayer player) { var holder = Holder.direct(TargetModSounds.INDICATION.get()); @@ -371,7 +384,13 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa TargetMod.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> player), new ClientIndicatorMessage(0, 5)); } - entity.hurt(TargetModDamageTypes.causeGunFireDamage(this.level().registryAccess(), this, this.shooter), this.damage * this.legShot); + + if (entity instanceof Monster monster) { + monster.hurt(TargetModDamageTypes.causeGunFireDamage(this.level().registryAccess(), this, this.shooter), this.damage * this.legShot * m_multiple); + } else { + entity.hurt(TargetModDamageTypes.causeGunFireDamage(this.level().registryAccess(), this, this.shooter), this.damage * this.legShot); + } + if (entity instanceof LivingEntity living) { if (living instanceof Player player && player.isCreative()){ return; @@ -388,7 +407,12 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa TargetMod.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> player), new ClientIndicatorMessage(0, 5)); } - entity.hurt(TargetModDamageTypes.causeGunFireDamage(this.level().registryAccess(), this, this.shooter), this.damage); + + if (entity instanceof Monster monster) { + monster.hurt(TargetModDamageTypes.causeGunFireDamage(this.level().registryAccess(), this, this.shooter), this.damage * m_multiple); + } else { + entity.hurt(TargetModDamageTypes.causeGunFireDamage(this.level().registryAccess(), this, this.shooter), this.damage); + } } this.discard(); } diff --git a/src/main/java/net/mcreator/target/event/GunEventHandler.java b/src/main/java/net/mcreator/target/event/GunEventHandler.java index 53a980fa7..d3dcc3530 100644 --- a/src/main/java/net/mcreator/target/event/GunEventHandler.java +++ b/src/main/java/net/mcreator/target/event/GunEventHandler.java @@ -2,10 +2,7 @@ package net.mcreator.target.event; import net.mcreator.target.TargetMod; import net.mcreator.target.entity.ProjectileEntity; -import net.mcreator.target.init.TargetModAttributes; -import net.mcreator.target.init.TargetModItems; -import net.mcreator.target.init.TargetModSounds; -import net.mcreator.target.init.TargetModTags; +import net.mcreator.target.init.*; import net.mcreator.target.network.TargetModVariables; import net.mcreator.target.tools.ParticleTool; import net.mcreator.target.tools.SoundTool; @@ -18,6 +15,7 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraftforge.event.TickEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; @@ -319,6 +317,7 @@ public class GunEventHandler { if (!player.level().isClientSide()) { float headshot = (float) heldItem.getOrCreateTag().getDouble("headshot"); + int monster_multiple = EnchantmentHelper.getTagEnchantmentLevel(TargetModEnchantments.MONSTER_HUNTER.get(), heldItem); float damage = (float) (heldItem.getOrCreateTag().getDouble("damage") + heldItem.getOrCreateTag().getDouble("add_damage")) * (float) heldItem.getOrCreateTag().getDouble("damageadd"); ProjectileEntity projectile = new ProjectileEntity(player.level()) @@ -330,6 +329,8 @@ public class GunEventHandler { projectile.beast(); } + projectile.monster_multiple(monster_multiple); + projectile.setPos(player.getX() - 0.1 * player.getLookAngle().x, player.getEyeY() - 0.1 - 0.1 * player.getLookAngle().y, player.getZ() + -0.1 * player.getLookAngle().z); projectile.shoot(player.getLookAngle().x, player.getLookAngle().y + 0.0005f , player.getLookAngle().z, 1 * (float) heldItem.getOrCreateTag().getDouble("velocity"), (float) player.getAttributeBaseValue(TargetModAttributes.SPREAD.get())); diff --git a/src/main/java/net/mcreator/target/init/TargetModEnchantments.java b/src/main/java/net/mcreator/target/init/TargetModEnchantments.java index b22ab8c81..79e535ff2 100644 --- a/src/main/java/net/mcreator/target/init/TargetModEnchantments.java +++ b/src/main/java/net/mcreator/target/init/TargetModEnchantments.java @@ -2,6 +2,7 @@ package net.mcreator.target.init; import net.mcreator.target.enchantment.LongerWireEnchantment; +import net.mcreator.target.enchantment.MonsterHunterEnchantment; import net.minecraftforge.registries.RegistryObject; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.DeferredRegister; @@ -17,4 +18,5 @@ public class TargetModEnchantments { public static final RegistryObject VOLT_OVERLOAD = REGISTRY.register("volt_overload", () -> new VoltOverloadEnchantment()); public static final RegistryObject SUPER_RECHARGE = REGISTRY.register("super_recharge", () -> new SuperRechargeEnchantment()); public static final RegistryObject LONGER_WIRE = REGISTRY.register("longer_wire", () -> new LongerWireEnchantment()); + public static final RegistryObject MONSTER_HUNTER = REGISTRY.register("monster_hunter", () -> new MonsterHunterEnchantment()); } diff --git a/src/main/java/net/mcreator/target/init/TargetModItems.java b/src/main/java/net/mcreator/target/init/TargetModItems.java index 19cc5aabd..9a0aeab08 100644 --- a/src/main/java/net/mcreator/target/init/TargetModItems.java +++ b/src/main/java/net/mcreator/target/init/TargetModItems.java @@ -2,7 +2,6 @@ package net.mcreator.target.init; import net.mcreator.target.TargetMod; import net.mcreator.target.item.*; -import net.mcreator.target.item.common.Buckshot; import net.mcreator.target.item.common.ammo.*; import net.mcreator.target.item.common.blueprint.*; import net.mcreator.target.item.common.material.*; @@ -88,6 +87,7 @@ public class TargetModItems { public static final RegistryObject MORTAR_BASE_PLATE = ITEMS.register("mortar_base_plate", MortarBasePlate::new); public static final RegistryObject MORTAR_BIPOD = ITEMS.register("mortar_bipod", MortarBipod::new); public static final RegistryObject FUSEE = ITEMS.register("fusee", Fusee::new); + public static final RegistryObject PRIMER = ITEMS.register("primer", Primer::new); public static final RegistryObject SOUL_STEEL_NUGGET = ITEMS.register("soul_steel_nugget", SoulSteelNugget::new); public static final RegistryObject COPPERPLATE = ITEMS.register("copperplate", Copperplate::new); public static final RegistryObject INGOT_STEEL = ITEMS.register("ingot_steel", IngotSteel::new); @@ -106,7 +106,6 @@ public class TargetModItems { public static final RegistryObject DEEPSLATE_SCHEELITE_ORE = block(TargetModBlocks.DEEPSLATE_SCHEELITE_ORE); public static final RegistryObject GALENA = ITEMS.register("galena", Galena::new); public static final RegistryObject SCHEELITE = ITEMS.register("scheelite", Scheelite::new); - public static final RegistryObject BUCKSHOT = ITEMS.register("buckshot", Buckshot::new); public static final RegistryObject DOG_TAG = ITEMS.register("dog_tag", DogTag::new); public static final RegistryObject IRON_BARREL = ITEMS.register("iron_barrel", IronBarrel::new); diff --git a/src/main/java/net/mcreator/target/item/common/ammo/HandgunAmmo.java b/src/main/java/net/mcreator/target/item/common/ammo/HandgunAmmo.java index f09b20ea2..285174a02 100644 --- a/src/main/java/net/mcreator/target/item/common/ammo/HandgunAmmo.java +++ b/src/main/java/net/mcreator/target/item/common/ammo/HandgunAmmo.java @@ -12,7 +12,7 @@ import java.util.List; public class HandgunAmmo extends AmmoSupplierItem { public HandgunAmmo() { - super(GunInfo.Type.HANDGUN, 10, new Item.Properties().stacksTo(64).rarity(Rarity.COMMON)); + super(GunInfo.Type.HANDGUN, 5, new Item.Properties().stacksTo(64).rarity(Rarity.COMMON)); } @Override diff --git a/src/main/java/net/mcreator/target/item/common/ammo/HandgunAmmoBox.java b/src/main/java/net/mcreator/target/item/common/ammo/HandgunAmmoBox.java index ac3b48db3..da41f6177 100644 --- a/src/main/java/net/mcreator/target/item/common/ammo/HandgunAmmoBox.java +++ b/src/main/java/net/mcreator/target/item/common/ammo/HandgunAmmoBox.java @@ -10,7 +10,7 @@ import java.util.List; public class HandgunAmmoBox extends AmmoSupplierItem { public HandgunAmmoBox() { - super(GunInfo.Type.HANDGUN, 60, new Item.Properties().stacksTo(64).rarity(Rarity.COMMON)); + super(GunInfo.Type.HANDGUN, 30, new Item.Properties().stacksTo(64).rarity(Rarity.COMMON)); } @Override diff --git a/src/main/java/net/mcreator/target/item/common/ammo/RifleAmmo.java b/src/main/java/net/mcreator/target/item/common/ammo/RifleAmmo.java index 845f5fd2a..6a14a9ee0 100644 --- a/src/main/java/net/mcreator/target/item/common/ammo/RifleAmmo.java +++ b/src/main/java/net/mcreator/target/item/common/ammo/RifleAmmo.java @@ -12,7 +12,7 @@ import java.util.List; public class RifleAmmo extends AmmoSupplierItem { public RifleAmmo() { - super(GunInfo.Type.RIFLE, 10, new Item.Properties().stacksTo(64).rarity(Rarity.COMMON)); + super(GunInfo.Type.RIFLE, 5, new Item.Properties().stacksTo(64).rarity(Rarity.COMMON)); } @Override diff --git a/src/main/java/net/mcreator/target/item/common/ammo/RifleAmmoBox.java b/src/main/java/net/mcreator/target/item/common/ammo/RifleAmmoBox.java index 0df901f93..577985527 100644 --- a/src/main/java/net/mcreator/target/item/common/ammo/RifleAmmoBox.java +++ b/src/main/java/net/mcreator/target/item/common/ammo/RifleAmmoBox.java @@ -10,7 +10,7 @@ import java.util.List; public class RifleAmmoBox extends AmmoSupplierItem { public RifleAmmoBox() { - super(GunInfo.Type.RIFLE, 60, new Item.Properties().stacksTo(64).rarity(Rarity.COMMON)); + super(GunInfo.Type.RIFLE, 30, new Item.Properties().stacksTo(64).rarity(Rarity.COMMON)); } @Override diff --git a/src/main/java/net/mcreator/target/item/common/ammo/ShotgunAmmo.java b/src/main/java/net/mcreator/target/item/common/ammo/ShotgunAmmo.java index bfa2127fe..ce53fa301 100644 --- a/src/main/java/net/mcreator/target/item/common/ammo/ShotgunAmmo.java +++ b/src/main/java/net/mcreator/target/item/common/ammo/ShotgunAmmo.java @@ -12,7 +12,7 @@ import java.util.List; public class ShotgunAmmo extends AmmoSupplierItem { public ShotgunAmmo() { - super(GunInfo.Type.SHOTGUN, 4, new Item.Properties().stacksTo(64).rarity(Rarity.COMMON)); + super(GunInfo.Type.SHOTGUN, 2, new Item.Properties().stacksTo(64).rarity(Rarity.COMMON)); } @Override diff --git a/src/main/java/net/mcreator/target/item/common/ammo/ShotgunAmmoBox.java b/src/main/java/net/mcreator/target/item/common/ammo/ShotgunAmmoBox.java index ea1b32291..434537d1f 100644 --- a/src/main/java/net/mcreator/target/item/common/ammo/ShotgunAmmoBox.java +++ b/src/main/java/net/mcreator/target/item/common/ammo/ShotgunAmmoBox.java @@ -10,7 +10,7 @@ import java.util.List; public class ShotgunAmmoBox extends AmmoSupplierItem { public ShotgunAmmoBox() { - super(GunInfo.Type.SHOTGUN, 24, new Item.Properties().stacksTo(8).rarity(Rarity.COMMON)); + super(GunInfo.Type.SHOTGUN, 12, new Item.Properties().stacksTo(8).rarity(Rarity.COMMON)); } @Override diff --git a/src/main/java/net/mcreator/target/item/common/ammo/SniperAmmo.java b/src/main/java/net/mcreator/target/item/common/ammo/SniperAmmo.java index 2f52b68cc..775036bda 100644 --- a/src/main/java/net/mcreator/target/item/common/ammo/SniperAmmo.java +++ b/src/main/java/net/mcreator/target/item/common/ammo/SniperAmmo.java @@ -12,7 +12,7 @@ import java.util.List; public class SniperAmmo extends AmmoSupplierItem { public SniperAmmo() { - super(GunInfo.Type.SNIPER, 4, new Item.Properties().stacksTo(64).rarity(Rarity.COMMON)); + super(GunInfo.Type.SNIPER, 2, new Item.Properties().stacksTo(64).rarity(Rarity.COMMON)); } @Override diff --git a/src/main/java/net/mcreator/target/item/common/ammo/SniperAmmoBox.java b/src/main/java/net/mcreator/target/item/common/ammo/SniperAmmoBox.java index 4c9073625..753c79aae 100644 --- a/src/main/java/net/mcreator/target/item/common/ammo/SniperAmmoBox.java +++ b/src/main/java/net/mcreator/target/item/common/ammo/SniperAmmoBox.java @@ -10,7 +10,7 @@ import java.util.List; public class SniperAmmoBox extends AmmoSupplierItem { public SniperAmmoBox() { - super(GunInfo.Type.SNIPER, 24, new Item.Properties().stacksTo(64).rarity(Rarity.COMMON)); + super(GunInfo.Type.SNIPER, 12, new Item.Properties().stacksTo(64).rarity(Rarity.COMMON)); } @Override diff --git a/src/main/java/net/mcreator/target/item/Copperplate.java b/src/main/java/net/mcreator/target/item/common/material/Copperplate.java similarity index 92% rename from src/main/java/net/mcreator/target/item/Copperplate.java rename to src/main/java/net/mcreator/target/item/common/material/Copperplate.java index 318b85a0d..cb6228c86 100644 --- a/src/main/java/net/mcreator/target/item/Copperplate.java +++ b/src/main/java/net/mcreator/target/item/common/material/Copperplate.java @@ -1,4 +1,4 @@ -package net.mcreator.target.item; +package net.mcreator.target.item.common.material; import net.minecraft.network.chat.Component; import net.minecraft.world.item.Item; diff --git a/src/main/java/net/mcreator/target/item/Fusee.java b/src/main/java/net/mcreator/target/item/common/material/Fusee.java similarity index 92% rename from src/main/java/net/mcreator/target/item/Fusee.java rename to src/main/java/net/mcreator/target/item/common/material/Fusee.java index bef3482db..58351a400 100644 --- a/src/main/java/net/mcreator/target/item/Fusee.java +++ b/src/main/java/net/mcreator/target/item/common/material/Fusee.java @@ -1,4 +1,4 @@ -package net.mcreator.target.item; +package net.mcreator.target.item.common.material; import net.minecraft.network.chat.Component; import net.minecraft.world.item.Item; diff --git a/src/main/java/net/mcreator/target/item/Galena.java b/src/main/java/net/mcreator/target/item/common/material/Galena.java similarity index 92% rename from src/main/java/net/mcreator/target/item/Galena.java rename to src/main/java/net/mcreator/target/item/common/material/Galena.java index 970c7cf5d..6678ff23c 100644 --- a/src/main/java/net/mcreator/target/item/Galena.java +++ b/src/main/java/net/mcreator/target/item/common/material/Galena.java @@ -1,4 +1,4 @@ -package net.mcreator.target.item; +package net.mcreator.target.item.common.material; import net.minecraft.network.chat.Component; import net.minecraft.world.item.Item; diff --git a/src/main/java/net/mcreator/target/item/common/Buckshot.java b/src/main/java/net/mcreator/target/item/common/material/Primer.java similarity index 73% rename from src/main/java/net/mcreator/target/item/common/Buckshot.java rename to src/main/java/net/mcreator/target/item/common/material/Primer.java index 1da71fd16..e8f866844 100644 --- a/src/main/java/net/mcreator/target/item/common/Buckshot.java +++ b/src/main/java/net/mcreator/target/item/common/material/Primer.java @@ -1,4 +1,4 @@ -package net.mcreator.target.item.common; +package net.mcreator.target.item.common.material; import net.minecraft.network.chat.Component; import net.minecraft.world.item.Item; @@ -9,9 +9,9 @@ import net.minecraft.world.level.Level; import java.util.List; -public class Buckshot extends Item { - public Buckshot() { - super(new Item.Properties().stacksTo(64).rarity(Rarity.COMMON)); +public class Primer extends Item { + public Primer() { + super(new Properties().stacksTo(64).rarity(Rarity.COMMON)); } @Override diff --git a/src/main/java/net/mcreator/target/item/Scheelite.java b/src/main/java/net/mcreator/target/item/common/material/Scheelite.java similarity index 92% rename from src/main/java/net/mcreator/target/item/Scheelite.java rename to src/main/java/net/mcreator/target/item/common/material/Scheelite.java index b2d0f568f..2dfa29d49 100644 --- a/src/main/java/net/mcreator/target/item/Scheelite.java +++ b/src/main/java/net/mcreator/target/item/common/material/Scheelite.java @@ -1,4 +1,4 @@ -package net.mcreator.target.item; +package net.mcreator.target.item.common.material; import net.minecraft.network.chat.Component; import net.minecraft.world.item.Item; diff --git a/src/main/java/net/mcreator/target/item/gun/GunItem.java b/src/main/java/net/mcreator/target/item/gun/GunItem.java index bbca9bf5d..90fc4ba73 100644 --- a/src/main/java/net/mcreator/target/item/gun/GunItem.java +++ b/src/main/java/net/mcreator/target/item/gun/GunItem.java @@ -4,6 +4,7 @@ import net.mcreator.target.TargetMod; import net.mcreator.target.init.TargetModItems; import net.mcreator.target.init.TargetModTags; import net.mcreator.target.network.TargetModVariables; +import net.mcreator.target.tools.EnchantmentCategoryTool; import net.mcreator.target.tools.GunsTool; import net.mcreator.target.tools.ItemNBTTool; import net.minecraft.core.BlockPos; @@ -15,6 +16,7 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.enchantment.Enchantment; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.event.entity.player.EntityItemPickupEvent; @@ -114,4 +116,19 @@ public abstract class GunItem extends Item { event.getItem().getItem().getOrCreateTag().putBoolean("draw", true); } } + + @Override + public int getEnchantmentValue(ItemStack stack) { + return 15; + } + + @Override + public boolean isEnchantable(ItemStack stack) { + return true; + } + + @Override + public boolean canApplyAtEnchantingTable(ItemStack stack, Enchantment enchantment) { + return enchantment.category == EnchantmentCategoryTool.GUN; + } } diff --git a/src/main/java/net/mcreator/target/tools/EnchantmentCategoryTool.java b/src/main/java/net/mcreator/target/tools/EnchantmentCategoryTool.java index c1e48dcd0..e25fd8977 100644 --- a/src/main/java/net/mcreator/target/tools/EnchantmentCategoryTool.java +++ b/src/main/java/net/mcreator/target/tools/EnchantmentCategoryTool.java @@ -1,9 +1,11 @@ package net.mcreator.target.tools; +import net.mcreator.target.item.gun.GunItem; import net.mcreator.target.item.gun.Taser; import net.minecraft.world.item.enchantment.EnchantmentCategory; public class EnchantmentCategoryTool { public static final EnchantmentCategory TASER = EnchantmentCategory.create("target:taser", item -> item instanceof Taser); + public static final EnchantmentCategory GUN = EnchantmentCategory.create("target:gun", item -> item instanceof GunItem && !(item instanceof Taser)); } diff --git a/src/main/resources/assets/target/lang/en_us.json b/src/main/resources/assets/target/lang/en_us.json index 27324282e..9a1822bc9 100644 --- a/src/main/resources/assets/target/lang/en_us.json +++ b/src/main/resources/assets/target/lang/en_us.json @@ -119,6 +119,7 @@ "item.target.mortar_deployer": "Mortar", "item.target.claymore_mine": "Claymore", "item.target.fusee": "Fusee", + "item.target.primer": "Primer", "item.target.dog_tag": "Dog Tag", "curios.identifier.dog_tag": "Dog Tag", @@ -205,6 +206,8 @@ "enchantment.target.super_recharge.desc": "Increases the recharge speed of TaserGun", "enchantment.target.longer_wire": "Longer Wire", "enchantment.target.longer_wire.desc": "Increases the range of TaserGun", + "enchantment.target.monster_hunter": "Monster Hunter", + "enchantment.target.monster_hunter.desc": "Increases bullet damage against monsters", "des.target.sensitivity": "Current Sensitivity of This Gun: %1$s", diff --git a/src/main/resources/assets/target/lang/zh_cn.json b/src/main/resources/assets/target/lang/zh_cn.json index 1daaa9c88..0f7ba60c7 100644 --- a/src/main/resources/assets/target/lang/zh_cn.json +++ b/src/main/resources/assets/target/lang/zh_cn.json @@ -119,6 +119,7 @@ "item.target.mortar_deployer": "迫击炮", "item.target.claymore_mine": "阔剑地雷", "item.target.fusee": "引信", + "item.target.primer": "底火", "item.target.dog_tag": "狗牌", "curios.identifier.dog_tag": "狗牌", @@ -205,6 +206,8 @@ "enchantment.target.super_recharge.desc": "增加泰瑟枪充能的速度", "enchantment.target.longer_wire": "延长导线", "enchantment.target.longer_wire.desc": "增加泰瑟枪的射程", + "enchantment.target.monster_hunter": "怪物猎人", + "enchantment.target.monster_hunter.desc": "增加对怪物的子弹伤害", "des.target.sensitivity": "当前枪械的灵敏度为:%1$s", diff --git a/src/main/resources/assets/target/models/item/buckshot.json b/src/main/resources/assets/target/models/item/primer.json similarity index 58% rename from src/main/resources/assets/target/models/item/buckshot.json rename to src/main/resources/assets/target/models/item/primer.json index 18084f77e..50f859152 100644 --- a/src/main/resources/assets/target/models/item/buckshot.json +++ b/src/main/resources/assets/target/models/item/primer.json @@ -1,6 +1,6 @@ { "parent": "item/generated", "textures": { - "layer0": "target:item/buckshot" + "layer0": "target:item/primer" } } \ No newline at end of file diff --git a/src/main/resources/assets/target/textures/item/buckshot.png b/src/main/resources/assets/target/textures/item/buckshot.png deleted file mode 100644 index 9013e3eff33080602aaa130c4064dd847d084f84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 495 zcmVrl08UUQ5c4wb8|^ixCtRaGbM3RbZF@uI!O^nb+Wd5 zu#1b8I>oJ@zIhMG!rib=>d_xAQU#CuJYn5p!g&iQ!W zkMDcWf&VRWyRf#pEe*pYo6WMf_no)z-rQlTrB+|o*S^Sbr~?4E+f6VSB$vy{PqWi? zn<(~SWogqf|2jDU;Pmu2nM{U(zUQ)G16#J)vMd%C7tk~hrBbQx3eIRB6Z3LwbAxE~ zNoAsyWeSBnn&u%Ei%~BZmwoVg1M$JZXEZf6Q!ExSj54}@$?)(?BH>N~{vcACgu@XY zxSQkOQpt&$6^4dh&=%>Uqx}(~P>AmCr+B>{8s(xi3h?##$i2DLgjf%JH9Cf_>&(o& zci4+u9=QGoXXj@KArJyg^ACx{hdbcZ)Fc3!<^kZZls6&zyn(piA0VAhGdK4c!zepo zp-{xKEOfn0OKS_N>f-R{F+024qUITUd-|nm8jev_T^#Hmk^1pfJboCJLR7X@6hZRZ lT+;x+1{I}Jt_J^^t^io_$gJz1C8sO;yl6XOruJYZv&mBbxw<{85rUg W_zIm9Z*KxRk-^i|&t;ucLK6VGtxu)^ literal 0 HcmV?d00001 diff --git a/src/main/resources/data/target/recipes/barbed_wire_crafting.json b/src/main/resources/data/target/recipes/barbed_wire_crafting.json index fc25a536a..6795def74 100644 --- a/src/main/resources/data/target/recipes/barbed_wire_crafting.json +++ b/src/main/resources/data/target/recipes/barbed_wire_crafting.json @@ -14,6 +14,6 @@ }, "result": { "item": "target:barbed_wire", - "count": 1 + "count": 3 } } \ No newline at end of file diff --git a/src/main/resources/data/target/recipes/buckshot_crafting.json b/src/main/resources/data/target/recipes/buckshot_crafting.json deleted file mode 100644 index ff9f6ba29..000000000 --- a/src/main/resources/data/target/recipes/buckshot_crafting.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "forge:ingots/lead" - }, - { - "tag": "forge:ingots/lead" - } - ], - "result": { - "item": "target:buckshot", - "count": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/data/target/recipes/claymorecrafting.json b/src/main/resources/data/target/recipes/claymorecrafting.json index 53a177e8b..e7d1325f0 100644 --- a/src/main/resources/data/target/recipes/claymorecrafting.json +++ b/src/main/resources/data/target/recipes/claymorecrafting.json @@ -4,7 +4,7 @@ "pattern": [ " a ", "bcb", - " d " + "d d" ], "key": { "a": { @@ -17,11 +17,11 @@ "item": "minecraft:tnt" }, "d": { - "item": "minecraft:iron_bars" + "item": "minecraft:stick" } }, "result": { "item": "target:claymore_mine", - "count": 1 + "count": 2 } } \ No newline at end of file diff --git a/src/main/resources/data/target/recipes/fusee_crafting.json b/src/main/resources/data/target/recipes/fusee_crafting.json index 70981903c..9bc6fc3b7 100644 --- a/src/main/resources/data/target/recipes/fusee_crafting.json +++ b/src/main/resources/data/target/recipes/fusee_crafting.json @@ -19,6 +19,6 @@ }, "result": { "item": "target:fusee", - "count": 1 + "count": 2 } } \ No newline at end of file diff --git a/src/main/resources/data/target/recipes/granade_40mm.json b/src/main/resources/data/target/recipes/granade_40mm.json index 5d456227c..c83ea2c56 100644 --- a/src/main/resources/data/target/recipes/granade_40mm.json +++ b/src/main/resources/data/target/recipes/granade_40mm.json @@ -1,27 +1,27 @@ { "type": "minecraft:crafting_shaped", - "category": "equipment", + "category": "misc", "pattern": [ " a ", "bcb", - "bdb" + " d " ], "key": { "a": { "item": "target:fusee" }, "b": { - "item": "minecraft:iron_nugget" + "item": "minecraft:iron_ingot" }, "c": { "item": "minecraft:tnt" }, "d": { - "item": "minecraft:copper_ingot" + "item": "target:primer" } }, "result": { "item": "target:grenade_40mm", - "count": 1 + "count": 6 } } \ No newline at end of file diff --git a/src/main/resources/data/target/recipes/handgun_ammo_crafting.json b/src/main/resources/data/target/recipes/handgun_ammo_crafting.json index e723188a7..085b62c8f 100644 --- a/src/main/resources/data/target/recipes/handgun_ammo_crafting.json +++ b/src/main/resources/data/target/recipes/handgun_ammo_crafting.json @@ -3,7 +3,8 @@ "category": "misc", "pattern": [ " a ", - "bcb" + "bcb", + " d " ], "key": { "a": { @@ -14,10 +15,13 @@ }, "c": { "item": "minecraft:gunpowder" + }, + "d": { + "item": "target:primer" } }, "result": { "item": "target:handgun_ammo", - "count": 6 + "count": 8 } } \ No newline at end of file diff --git a/src/main/resources/data/target/recipes/mortar_he_shells.json b/src/main/resources/data/target/recipes/mortar_he_shells.json index de6fefa0a..8ff0977ce 100644 --- a/src/main/resources/data/target/recipes/mortar_he_shells.json +++ b/src/main/resources/data/target/recipes/mortar_he_shells.json @@ -17,11 +17,11 @@ "item": "minecraft:tnt" }, "d": { - "item": "minecraft:gunpowder" + "item": "target:primer" } }, "result": { "item": "target:mortar_shells", - "count": 2 + "count": 4 } } \ No newline at end of file diff --git a/src/main/resources/data/target/recipes/primer_crafting.json b/src/main/resources/data/target/recipes/primer_crafting.json new file mode 100644 index 000000000..e82b70de4 --- /dev/null +++ b/src/main/resources/data/target/recipes/primer_crafting.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "pattern": [ + "b", + "a" + ], + "key": { + "a": { + "tag": "forge:plates/copper" + }, + "b": { + "item": "minecraft:flint" + } + }, + "result": { + "item": "target:primer", + "count": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/data/target/recipes/rifle_ammo_crafting.json b/src/main/resources/data/target/recipes/rifle_ammo_crafting.json index d30c6bd94..4d3d03ab9 100644 --- a/src/main/resources/data/target/recipes/rifle_ammo_crafting.json +++ b/src/main/resources/data/target/recipes/rifle_ammo_crafting.json @@ -4,7 +4,7 @@ "pattern": [ " a ", "bcb", - "bcb" + " d " ], "key": { "a": { @@ -15,6 +15,9 @@ }, "c": { "item": "minecraft:gunpowder" + }, + "d": { + "item": "target:primer" } }, "result": { diff --git a/src/main/resources/data/target/recipes/rocket_crafting.json b/src/main/resources/data/target/recipes/rocket_crafting.json index c64ef7c24..146ca8706 100644 --- a/src/main/resources/data/target/recipes/rocket_crafting.json +++ b/src/main/resources/data/target/recipes/rocket_crafting.json @@ -22,6 +22,6 @@ }, "result": { "item": "target:rocket", - "count": 1 + "count": 2 } } \ No newline at end of file diff --git a/src/main/resources/data/target/recipes/shotgun_ammo_crafting.json b/src/main/resources/data/target/recipes/shotgun_ammo_crafting.json index be8998246..f37d92d50 100644 --- a/src/main/resources/data/target/recipes/shotgun_ammo_crafting.json +++ b/src/main/resources/data/target/recipes/shotgun_ammo_crafting.json @@ -2,26 +2,26 @@ "type": "minecraft:crafting_shaped", "category": "misc", "pattern": [ - " b ", - "aba", - "cdc" + " a ", + "bcb", + " d " ], "key": { "a": { - "item": "minecraft:paper" + "tag": "forge:ingots/lead" }, "b": { - "item": "target:buckshot" - }, - "c": { "tag": "forge:plates/copper" }, - "d": { + "c": { "item": "minecraft:gunpowder" + }, + "d": { + "item": "target:primer" } }, "result": { "item": "target:shotgun_ammo", - "count": 6 + "count": 4 } -} \ No newline at end of file +} diff --git a/src/main/resources/data/target/recipes/sniper_ammo_crafting.json b/src/main/resources/data/target/recipes/sniper_ammo_crafting.json index 0f96f1570..5cbeab37d 100644 --- a/src/main/resources/data/target/recipes/sniper_ammo_crafting.json +++ b/src/main/resources/data/target/recipes/sniper_ammo_crafting.json @@ -4,7 +4,7 @@ "pattern": [ " a ", "bcb", - "bcb" + " d " ], "key": { "a": { @@ -15,10 +15,13 @@ }, "c": { "item": "minecraft:gunpowder" + }, + "d": { + "item": "target:primer" } }, "result": { "item": "target:sniper_ammo", - "count": 6 + "count": 4 } } \ No newline at end of file