添加撬棍

This commit is contained in:
Atsuihsio 2024-09-18 23:09:48 +08:00
parent 170a04d96b
commit 56cadb7b1c
19 changed files with 160 additions and 16 deletions

View file

@ -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/aa_12_blueprint.json
13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/ak_47_blueprint.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/ak_47_blueprint.json
c993bddc0db9453ffbefa59f9ac9a74dba909038 assets/superbwarfare/models/item/ancient_cpu.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 a52a7f9dc18d5af69903c2249239c15cb6d38c8e assets/superbwarfare/models/item/coal_powder.json
5ccef04175adcc9fa0797caca6bf04526f702d5c assets/superbwarfare/models/item/common_material_pack.json 5ccef04175adcc9fa0797caca6bf04526f702d5c assets/superbwarfare/models/item/common_material_pack.json
fc892b610a110980dbc6f8e2c080672b5dc06e99 assets/superbwarfare/models/item/copper_plate.json fc892b610a110980dbc6f8e2c080672b5dc06e99 assets/superbwarfare/models/item/copper_plate.json
0d3ef5e99a28f03b41c39bb7a173b77a0d42467d assets/superbwarfare/models/item/crowbar.json
13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/devotion_blueprint.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/devotion_blueprint.json
6f4a829dc159f1740f52265d01730ecb6a840d81 assets/superbwarfare/models/item/dog_tag.json 6f4a829dc159f1740f52265d01730ecb6a840d81 assets/superbwarfare/models/item/dog_tag.json
dd455cf29eed0ef5eb5e90ef3d7140cb8de61efe assets/superbwarfare/models/item/drone.json dd455cf29eed0ef5eb5e90ef3d7140cb8de61efe assets/superbwarfare/models/item/drone.json

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "superbwarfare:item/crowbar"
}
}

View file

@ -60,6 +60,7 @@ public class ModItemModelProvider extends ItemModelProvider {
simpleItem(ModItems.TRANSCRIPT); simpleItem(ModItems.TRANSCRIPT);
simpleItem(ModItems.RAW_SILVER); simpleItem(ModItems.RAW_SILVER);
simpleItem(ModItems.SILVER_INGOT); simpleItem(ModItems.SILVER_INGOT);
simpleItem(ModItems.CROWBAR);
simpleItem(ModItems.TUNGSTEN_ROD); simpleItem(ModItems.TUNGSTEN_ROD);
simpleItem(ModItems.IRON_BARREL); simpleItem(ModItems.IRON_BARREL);

View file

@ -32,6 +32,7 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.Vec3;
import net.minecraftforge.event.entity.living.LivingHurtEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.items.ItemHandlerHelper;
import net.minecraftforge.network.NetworkHooks; import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.network.PlayMessages; import net.minecraftforge.network.PlayMessages;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -126,12 +127,18 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity, ICannonEntit
} }
@Override @Override
public InteractionResult mobInteract(Player player, InteractionHand hand) { public @NotNull InteractionResult mobInteract(Player player, InteractionHand hand) {
InteractionResult result = InteractionResult.sidedSuccess(this.level().isClientSide()); if (player.isShiftKeyDown() && player.getMainHandItem().getItem() == ModItems.CROWBAR.get() && this.getFirstPassenger() == null) {
super.mobInteract(player, hand); this.discard();
ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(ModItems.MK_42_SPAWN_EGG.get()));
} else {
player.setXRot(this.getXRot()); player.setXRot(this.getXRot());
player.setYRot(this.getYRot()); player.setYRot(this.getYRot());
player.startRiding(this); player.startRiding(this);
}
InteractionResult result = InteractionResult.sidedSuccess(this.level().isClientSide());
super.mobInteract(player, hand);
return result; return result;
} }

View file

@ -33,6 +33,7 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.Vec3;
import net.minecraftforge.event.entity.living.LivingHurtEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.items.ItemHandlerHelper;
import net.minecraftforge.network.NetworkHooks; import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.network.PlayMessages; import net.minecraftforge.network.PlayMessages;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -127,12 +128,18 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn
} }
@Override @Override
public InteractionResult mobInteract(Player player, InteractionHand hand) { public @NotNull InteractionResult mobInteract(Player player, InteractionHand hand) {
InteractionResult result = InteractionResult.sidedSuccess(this.level().isClientSide()); if (player.isShiftKeyDown() && player.getMainHandItem().getItem() == ModItems.CROWBAR.get() && this.getFirstPassenger() == null) {
super.mobInteract(player, hand); this.discard();
ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(ModItems.MLE_1934_SPAWN_EGG.get()));
} else {
player.setXRot(this.getXRot()); player.setXRot(this.getXRot());
player.setYRot(this.getYRot()); player.setYRot(this.getYRot());
player.startRiding(this); player.startRiding(this);
}
InteractionResult result = InteractionResult.sidedSuccess(this.level().isClientSide());
super.mobInteract(player, hand);
return result; return result;
} }

View file

@ -31,6 +31,7 @@ import net.minecraft.world.entity.projectile.ThrownPotion;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.Vec3;
import net.minecraftforge.items.ItemHandlerHelper;
import net.minecraftforge.network.NetworkHooks; import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.network.PlayMessages; import net.minecraftforge.network.PlayMessages;
import software.bernie.geckolib.animatable.GeoEntity; 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) { public InteractionResult interact(Player player, InteractionHand hand) {
ItemStack mainHandItem = player.getMainHandItem(); ItemStack mainHandItem = player.getMainHandItem();
if (player.isShiftKeyDown()) { 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.setYRot(player.getYRot());
this.setXRot(this.getXRot()); this.setXRot(this.getXRot());
this.setYBodyRot(this.getYRot()); this.setYBodyRot(this.getYRot());

View file

@ -120,6 +120,7 @@ public class ModItems {
public static final RegistryObject<Item> LIGHT_SABER = ITEMS.register("light_saber", LightSaber::new); public static final RegistryObject<Item> LIGHT_SABER = ITEMS.register("light_saber", LightSaber::new);
public static final RegistryObject<Item> KNIFE = ITEMS.register("knife", Knife::new); public static final RegistryObject<Item> KNIFE = ITEMS.register("knife", Knife::new);
public static final RegistryObject<Item> HAMMER = ITEMS.register("hammer", Hammer::new); public static final RegistryObject<Item> HAMMER = ITEMS.register("hammer", Hammer::new);
public static final RegistryObject<Item> CROWBAR = ITEMS.register("crowbar", Crowbar::new);
public static final RegistryObject<Item> MORTAR_DEPLOYER = ITEMS.register("mortar_deployer", MortarDeployer::new); public static final RegistryObject<Item> MORTAR_DEPLOYER = ITEMS.register("mortar_deployer", MortarDeployer::new);
public static final RegistryObject<Item> MORTAR_BARREL = ITEMS.register("mortar_barrel", () -> new Item(new Item.Properties())); public static final RegistryObject<Item> MORTAR_BARREL = ITEMS.register("mortar_barrel", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> MORTAR_BASE_PLATE = ITEMS.register("mortar_base_plate", () -> new Item(new Item.Properties())); public static final RegistryObject<Item> MORTAR_BASE_PLATE = ITEMS.register("mortar_base_plate", () -> new Item(new Item.Properties()));

View file

@ -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;
}
}

View file

@ -11,7 +11,7 @@ public class Knife extends SwordItem {
public Knife() { public Knife() {
super(new Tier() { super(new Tier() {
public int getUses() { public int getUses() {
return 500; return 1500;
} }
public float getSpeed() { public float getSpeed() {

View file

@ -24,7 +24,7 @@
"item.superbwarfare.m_4": "M4A1", "item.superbwarfare.m_4": "M4A1",
"item.superbwarfare.aa_12": "AA-12", "item.superbwarfare.aa_12": "AA-12",
"item.superbwarfare.sks": "SKS", "item.superbwarfare.sks": "SKS",
"item.superbwarfare.abekiri": "GUN of LEGEND.ABEKIRI", "item.superbwarfare.abekiri": "Legendary Gun:Abe Slayer",
"item.superbwarfare.trachelium": "\"Trachelium-Caeruleum\"", "item.superbwarfare.trachelium": "\"Trachelium-Caeruleum\"",
"des.superbwarfare.trachelium_1": "Calm Spirit and Gentle Love", "des.superbwarfare.trachelium_1": "Calm Spirit and Gentle Love",
"des.superbwarfare.trachelium_2": "\"May the flowers in my hand convey my feelings to you\"", "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.light_saber": "Light Saber",
"item.superbwarfare.knife": "Knife", "item.superbwarfare.knife": "Knife",
"item.superbwarfare.hammer": "Hammer", "item.superbwarfare.hammer": "Hammer",
"item.superbwarfare.crowbar": "Crowbar",
"item.superbwarfare.mortar_bipod": "Mortar Bipod", "item.superbwarfare.mortar_bipod": "Mortar Bipod",
"item.superbwarfare.mortar_base_plate": "Mortar Base Plate", "item.superbwarfare.mortar_base_plate": "Mortar Base Plate",
"item.superbwarfare.mortar_barrel": "Mortar Barrel", "item.superbwarfare.mortar_barrel": "Mortar Barrel",

View file

@ -137,6 +137,7 @@
"item.superbwarfare.light_saber": "光剑", "item.superbwarfare.light_saber": "光剑",
"item.superbwarfare.knife": "军刀", "item.superbwarfare.knife": "军刀",
"item.superbwarfare.hammer": "大锤", "item.superbwarfare.hammer": "大锤",
"item.superbwarfare.crowbar": "撬棍",
"item.superbwarfare.mortar_bipod": "迫击炮架", "item.superbwarfare.mortar_bipod": "迫击炮架",
"item.superbwarfare.mortar_base_plate": "迫击炮座钣", "item.superbwarfare.mortar_base_plate": "迫击炮座钣",
"item.superbwarfare.mortar_barrel": "迫击炮管", "item.superbwarfare.mortar_barrel": "迫击炮管",

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

View file

@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"superbwarfare:reforging_table",
"superbwarfare:jump_pad"
]
}

View file

@ -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
}
}

View file

@ -0,0 +1,10 @@
{
"type": "minecraft:blasting",
"category": "misc",
"experience": 4,
"cookingtime": 200,
"ingredient": {
"item": "superbwarfare:tungsten_powder"
},
"result": "superbwarfare:tungsten_ingot"
}

View file

@ -1,7 +1,7 @@
{ {
"type": "minecraft:ore", "type": "minecraft:ore",
"config": { "config": {
"size": 6, "size": 8,
"discard_chance_on_air_exposure": 0, "discard_chance_on_air_exposure": 0,
"targets": [ "targets": [
{ {

View file

@ -1,7 +1,7 @@
{ {
"type": "minecraft:ore", "type": "minecraft:ore",
"config": { "config": {
"size": 3, "size": 4,
"discard_chance_on_air_exposure": 0, "discard_chance_on_air_exposure": 0,
"targets": [ "targets": [
{ {

View file

@ -3,7 +3,7 @@
"placement": [ "placement": [
{ {
"type": "minecraft:count", "type": "minecraft:count",
"count": 6 "count": 7
}, },
{ {
"type": "minecraft:in_square" "type": "minecraft:in_square"

View file

@ -3,7 +3,7 @@
"placement": [ "placement": [
{ {
"type": "minecraft:count", "type": "minecraft:count",
"count": 3 "count": 6
}, },
{ {
"type": "minecraft:in_square" "type": "minecraft:in_square"
@ -16,7 +16,7 @@
"absolute": 1 "absolute": 1
}, },
"max_inclusive": { "max_inclusive": {
"absolute": 128 "absolute": 48
} }
} }
}, },