diff --git a/src/generated/resources/.cache/b69ee8a2655365569b979911c0440daa8c470ac2 b/src/generated/resources/.cache/b69ee8a2655365569b979911c0440daa8c470ac2 index 7da240cd5..0a6a45ff0 100644 --- a/src/generated/resources/.cache/b69ee8a2655365569b979911c0440daa8c470ac2 +++ b/src/generated/resources/.cache/b69ee8a2655365569b979911c0440daa8c470ac2 @@ -1,4 +1,4 @@ -// 1.20.1 2024-09-12T20:50:19.5912832 Item Models: superbwarfare +// 1.20.1 2024-09-18T22:18:16.7858403 Item Models: superbwarfare 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/aa_12_blueprint.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/ak_47_blueprint.json c993bddc0db9453ffbefa59f9ac9a74dba909038 assets/superbwarfare/models/item/ancient_cpu.json @@ -14,6 +14,7 @@ b97ce523ca85cddff78abd9fd735295414ee07fd assets/superbwarfare/models/item/cement a52a7f9dc18d5af69903c2249239c15cb6d38c8e assets/superbwarfare/models/item/coal_powder.json 5ccef04175adcc9fa0797caca6bf04526f702d5c assets/superbwarfare/models/item/common_material_pack.json fc892b610a110980dbc6f8e2c080672b5dc06e99 assets/superbwarfare/models/item/copper_plate.json +0d3ef5e99a28f03b41c39bb7a173b77a0d42467d assets/superbwarfare/models/item/crowbar.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/devotion_blueprint.json 6f4a829dc159f1740f52265d01730ecb6a840d81 assets/superbwarfare/models/item/dog_tag.json dd455cf29eed0ef5eb5e90ef3d7140cb8de61efe assets/superbwarfare/models/item/drone.json diff --git a/src/generated/resources/assets/superbwarfare/models/item/crowbar.json b/src/generated/resources/assets/superbwarfare/models/item/crowbar.json new file mode 100644 index 000000000..309865057 --- /dev/null +++ b/src/generated/resources/assets/superbwarfare/models/item/crowbar.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "superbwarfare:item/crowbar" + } +} \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/datagen/ModItemModelProvider.java b/src/main/java/net/mcreator/superbwarfare/datagen/ModItemModelProvider.java index 62737ad7c..9c8e2d88d 100644 --- a/src/main/java/net/mcreator/superbwarfare/datagen/ModItemModelProvider.java +++ b/src/main/java/net/mcreator/superbwarfare/datagen/ModItemModelProvider.java @@ -60,6 +60,7 @@ public class ModItemModelProvider extends ItemModelProvider { simpleItem(ModItems.TRANSCRIPT); simpleItem(ModItems.RAW_SILVER); simpleItem(ModItems.SILVER_INGOT); + simpleItem(ModItems.CROWBAR); simpleItem(ModItems.TUNGSTEN_ROD); simpleItem(ModItems.IRON_BARREL); diff --git a/src/main/java/net/mcreator/superbwarfare/entity/Mk42Entity.java b/src/main/java/net/mcreator/superbwarfare/entity/Mk42Entity.java index 81afeb7ef..24ba7650f 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/Mk42Entity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/Mk42Entity.java @@ -32,6 +32,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; import net.minecraftforge.event.entity.living.LivingHurtEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.network.NetworkHooks; import net.minecraftforge.network.PlayMessages; import org.jetbrains.annotations.NotNull; @@ -126,12 +127,18 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity, ICannonEntit } @Override - public InteractionResult mobInteract(Player player, InteractionHand hand) { + public @NotNull InteractionResult mobInteract(Player player, InteractionHand hand) { + if (player.isShiftKeyDown() && player.getMainHandItem().getItem() == ModItems.CROWBAR.get() && this.getFirstPassenger() == null) { + this.discard(); + ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(ModItems.MK_42_SPAWN_EGG.get())); + } else { + player.setXRot(this.getXRot()); + player.setYRot(this.getYRot()); + player.startRiding(this); + + } InteractionResult result = InteractionResult.sidedSuccess(this.level().isClientSide()); super.mobInteract(player, hand); - player.setXRot(this.getXRot()); - player.setYRot(this.getYRot()); - player.startRiding(this); return result; } diff --git a/src/main/java/net/mcreator/superbwarfare/entity/Mle1934Entity.java b/src/main/java/net/mcreator/superbwarfare/entity/Mle1934Entity.java index 05364dd00..cc82fbc9b 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/Mle1934Entity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/Mle1934Entity.java @@ -33,6 +33,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; import net.minecraftforge.event.entity.living.LivingHurtEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.network.NetworkHooks; import net.minecraftforge.network.PlayMessages; import org.jetbrains.annotations.NotNull; @@ -127,12 +128,18 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn } @Override - public InteractionResult mobInteract(Player player, InteractionHand hand) { + public @NotNull InteractionResult mobInteract(Player player, InteractionHand hand) { + if (player.isShiftKeyDown() && player.getMainHandItem().getItem() == ModItems.CROWBAR.get() && this.getFirstPassenger() == null) { + this.discard(); + ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(ModItems.MLE_1934_SPAWN_EGG.get())); + } else { + player.setXRot(this.getXRot()); + player.setYRot(this.getYRot()); + player.startRiding(this); + + } InteractionResult result = InteractionResult.sidedSuccess(this.level().isClientSide()); super.mobInteract(player, hand); - player.setXRot(this.getXRot()); - player.setYRot(this.getYRot()); - player.startRiding(this); return result; } diff --git a/src/main/java/net/mcreator/superbwarfare/entity/MortarEntity.java b/src/main/java/net/mcreator/superbwarfare/entity/MortarEntity.java index ac303d37c..60923faf8 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/MortarEntity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/MortarEntity.java @@ -31,6 +31,7 @@ import net.minecraft.world.entity.projectile.ThrownPotion; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; +import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.network.NetworkHooks; import net.minecraftforge.network.PlayMessages; import software.bernie.geckolib.animatable.GeoEntity; @@ -150,6 +151,10 @@ public class MortarEntity extends LivingEntity implements GeoEntity, AnimatedEnt public InteractionResult interact(Player player, InteractionHand hand) { ItemStack mainHandItem = player.getMainHandItem(); if (player.isShiftKeyDown()) { + if (mainHandItem.getItem() == ModItems.CROWBAR.get()){ + this.discard(); + ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(ModItems.MORTAR_DEPLOYER.get())); + } this.setYRot(player.getYRot()); this.setXRot(this.getXRot()); this.setYBodyRot(this.getYRot()); diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModItems.java b/src/main/java/net/mcreator/superbwarfare/init/ModItems.java index bdbbc4fcb..bc3b445b1 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModItems.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModItems.java @@ -120,6 +120,7 @@ public class ModItems { public static final RegistryObject LIGHT_SABER = ITEMS.register("light_saber", LightSaber::new); public static final RegistryObject KNIFE = ITEMS.register("knife", Knife::new); public static final RegistryObject HAMMER = ITEMS.register("hammer", Hammer::new); + public static final RegistryObject CROWBAR = ITEMS.register("crowbar", Crowbar::new); public static final RegistryObject MORTAR_DEPLOYER = ITEMS.register("mortar_deployer", MortarDeployer::new); public static final RegistryObject MORTAR_BARREL = ITEMS.register("mortar_barrel", () -> new Item(new Item.Properties())); public static final RegistryObject MORTAR_BASE_PLATE = ITEMS.register("mortar_base_plate", () -> new Item(new Item.Properties())); diff --git a/src/main/java/net/mcreator/superbwarfare/item/Crowbar.java b/src/main/java/net/mcreator/superbwarfare/item/Crowbar.java new file mode 100644 index 000000000..8035a8f64 --- /dev/null +++ b/src/main/java/net/mcreator/superbwarfare/item/Crowbar.java @@ -0,0 +1,76 @@ +package net.mcreator.superbwarfare.item; + +import net.mcreator.superbwarfare.init.ModBlocks; +import net.mcreator.superbwarfare.init.ModItems; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.SwordItem; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.block.Blocks; +import net.minecraftforge.items.ItemHandlerHelper; + +public class Crowbar extends SwordItem { + public Crowbar() { + super(new Tier() { + public int getUses() { + return 400; + } + + public float getSpeed() { + return 4f; + } + + public float getAttackDamageBonus() { + return 3.5f; + } + + public int getLevel() { + return 1; + } + + public int getEnchantmentValue() { + return 9; + } + + public Ingredient getRepairIngredient() { + return Ingredient.of(new ItemStack(Items.IRON_INGOT)); + } + }, 2, -2f, new Properties()); + } + + @Override + public boolean hasCraftingRemainingItem(ItemStack stack) { + return true; + } + + @Override + public ItemStack getCraftingRemainingItem(ItemStack itemstack) { + ItemStack retval = new ItemStack(this); + retval.setDamageValue(itemstack.getDamageValue() + 1); + if (retval.getDamageValue() >= retval.getMaxDamage()) { + return ItemStack.EMPTY; + } + return retval; + } + + @Override + public boolean isRepairable(ItemStack itemstack) { + return true; + } + + @Override + public InteractionResult useOn(UseOnContext context) { + super.useOn(context); + if ((context.getLevel().getBlockState(BlockPos.containing(context.getClickedPos().getX(), context.getClickedPos().getY(), context.getClickedPos().getZ()))).getBlock() == ModBlocks.JUMP_PAD.get()) { + context.getLevel().setBlock(BlockPos.containing(context.getClickedPos().getX(), context.getClickedPos().getY(), context.getClickedPos().getZ()), Blocks.AIR.defaultBlockState(), 3); + ItemHandlerHelper.giveItemToPlayer(context.getPlayer(), new ItemStack(ModItems.JUMP_PAD.get())); + } + return InteractionResult.SUCCESS; + } + + +} diff --git a/src/main/java/net/mcreator/superbwarfare/item/Knife.java b/src/main/java/net/mcreator/superbwarfare/item/Knife.java index 5a75b9c67..1963be75c 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/Knife.java +++ b/src/main/java/net/mcreator/superbwarfare/item/Knife.java @@ -11,7 +11,7 @@ public class Knife extends SwordItem { public Knife() { super(new Tier() { public int getUses() { - return 500; + return 1500; } public float getSpeed() { diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index fd0a5e964..cfbc3aa15 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -24,7 +24,7 @@ "item.superbwarfare.m_4": "M4A1", "item.superbwarfare.aa_12": "AA-12", "item.superbwarfare.sks": "SKS", - "item.superbwarfare.abekiri": "GUN of LEGEND.ABEKIRI", + "item.superbwarfare.abekiri": "Legendary Gun:Abe Slayer", "item.superbwarfare.trachelium": "\"Trachelium-Caeruleum\"", "des.superbwarfare.trachelium_1": "Calm Spirit and Gentle Love", "des.superbwarfare.trachelium_2": "\"May the flowers in my hand convey my feelings to you\"", @@ -137,6 +137,7 @@ "item.superbwarfare.light_saber": "Light Saber", "item.superbwarfare.knife": "Knife", "item.superbwarfare.hammer": "Hammer", + "item.superbwarfare.crowbar": "Crowbar", "item.superbwarfare.mortar_bipod": "Mortar Bipod", "item.superbwarfare.mortar_base_plate": "Mortar Base Plate", "item.superbwarfare.mortar_barrel": "Mortar Barrel", diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index 66fa3113f..804a8b735 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -137,6 +137,7 @@ "item.superbwarfare.light_saber": "光剑", "item.superbwarfare.knife": "军刀", "item.superbwarfare.hammer": "大锤", + "item.superbwarfare.crowbar": "撬棍", "item.superbwarfare.mortar_bipod": "迫击炮架", "item.superbwarfare.mortar_base_plate": "迫击炮座钣", "item.superbwarfare.mortar_barrel": "迫击炮管", diff --git a/src/main/resources/assets/superbwarfare/textures/item/crowbar.png b/src/main/resources/assets/superbwarfare/textures/item/crowbar.png new file mode 100644 index 000000000..5010bb93d Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/item/crowbar.png differ diff --git a/src/main/resources/data/create/tags/blocks/wrench_pickup.json b/src/main/resources/data/create/tags/blocks/wrench_pickup.json new file mode 100644 index 000000000..9ca2dd406 --- /dev/null +++ b/src/main/resources/data/create/tags/blocks/wrench_pickup.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "superbwarfare:reforging_table", + "superbwarfare:jump_pad" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipes/crowbar_crafting.json b/src/main/resources/data/superbwarfare/recipes/crowbar_crafting.json new file mode 100644 index 000000000..ca9c543a4 --- /dev/null +++ b/src/main/resources/data/superbwarfare/recipes/crowbar_crafting.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + " a", + " b ", + "b " + ], + "key": { + "a": { + "tag":"forge:ingots/steel" + }, + "b": { + "item": "minecraft:iron_ingot" + } + }, + "result": { + "item": "superbwarfare:crowbar", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipes/tungsten_blasting_from_powder.json b/src/main/resources/data/superbwarfare/recipes/tungsten_blasting_from_powder.json new file mode 100644 index 000000000..97d7a290f --- /dev/null +++ b/src/main/resources/data/superbwarfare/recipes/tungsten_blasting_from_powder.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "experience": 4, + "cookingtime": 200, + "ingredient": { + "item": "superbwarfare:tungsten_powder" + }, + "result": "superbwarfare:tungsten_ingot" +} \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/worldgen/configured_feature/deepslate_scheelite_ore.json b/src/main/resources/data/superbwarfare/worldgen/configured_feature/deepslate_scheelite_ore.json index 1df01ffa9..de297ec3c 100644 --- a/src/main/resources/data/superbwarfare/worldgen/configured_feature/deepslate_scheelite_ore.json +++ b/src/main/resources/data/superbwarfare/worldgen/configured_feature/deepslate_scheelite_ore.json @@ -1,7 +1,7 @@ { "type": "minecraft:ore", "config": { - "size": 6, + "size": 8, "discard_chance_on_air_exposure": 0, "targets": [ { diff --git a/src/main/resources/data/superbwarfare/worldgen/configured_feature/scheelite_ore.json b/src/main/resources/data/superbwarfare/worldgen/configured_feature/scheelite_ore.json index 57b17c2c6..dc186731f 100644 --- a/src/main/resources/data/superbwarfare/worldgen/configured_feature/scheelite_ore.json +++ b/src/main/resources/data/superbwarfare/worldgen/configured_feature/scheelite_ore.json @@ -1,7 +1,7 @@ { "type": "minecraft:ore", "config": { - "size": 3, + "size": 4, "discard_chance_on_air_exposure": 0, "targets": [ { diff --git a/src/main/resources/data/superbwarfare/worldgen/placed_feature/deepslate_scheelite_ore.json b/src/main/resources/data/superbwarfare/worldgen/placed_feature/deepslate_scheelite_ore.json index c6b5a45ae..2ececd495 100644 --- a/src/main/resources/data/superbwarfare/worldgen/placed_feature/deepslate_scheelite_ore.json +++ b/src/main/resources/data/superbwarfare/worldgen/placed_feature/deepslate_scheelite_ore.json @@ -3,7 +3,7 @@ "placement": [ { "type": "minecraft:count", - "count": 6 + "count": 7 }, { "type": "minecraft:in_square" diff --git a/src/main/resources/data/superbwarfare/worldgen/placed_feature/scheelite_ore.json b/src/main/resources/data/superbwarfare/worldgen/placed_feature/scheelite_ore.json index ffabab8da..cc7771ab1 100644 --- a/src/main/resources/data/superbwarfare/worldgen/placed_feature/scheelite_ore.json +++ b/src/main/resources/data/superbwarfare/worldgen/placed_feature/scheelite_ore.json @@ -3,7 +3,7 @@ "placement": [ { "type": "minecraft:count", - "count": 3 + "count": 6 }, { "type": "minecraft:in_square" @@ -16,7 +16,7 @@ "absolute": 1 }, "max_inclusive": { - "absolute": 128 + "absolute": 48 } } },