优化自动换弹,添加无限插板
This commit is contained in:
parent
daf0ed0238
commit
632ba1ea46
12 changed files with 56 additions and 23 deletions
|
@ -1,10 +1,9 @@
|
||||||
// 1.20.1 2024-10-13T21:19:13.9561013 Item Models: superbwarfare
|
// 1.20.1 2024-10-20T00:05:58.4595202 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_12_blueprint.json
|
13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/ak_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
|
||||||
4b8fe8fbe5e64c3449ad539317254e4ed7188411 assets/superbwarfare/models/item/ap_head.json
|
4b8fe8fbe5e64c3449ad539317254e4ed7188411 assets/superbwarfare/models/item/ap_head.json
|
||||||
9a20bdee844ad4f2556250e0eca7a2575cafd712 assets/superbwarfare/models/item/armor_plate.json
|
|
||||||
984c08ca6f6893a15721a85e30118f9e32c65c7f assets/superbwarfare/models/item/barbed_wire.json
|
984c08ca6f6893a15721a85e30118f9e32c65c7f assets/superbwarfare/models/item/barbed_wire.json
|
||||||
13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/bocek_blueprint.json
|
13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/bocek_blueprint.json
|
||||||
1e5b4637c3787516305dd3d1598f401a5e78a954 assets/superbwarfare/models/item/cemented_carbide_action.json
|
1e5b4637c3787516305dd3d1598f401a5e78a954 assets/superbwarfare/models/item/cemented_carbide_action.json
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"parent": "minecraft:item/generated",
|
|
||||||
"textures": {
|
|
||||||
"layer0": "superbwarfare:item/armor_plate"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -85,8 +85,6 @@ public class ModItemModelProvider extends ItemModelProvider {
|
||||||
simpleItem(ModItems.EPIC_MATERIAL_PACK);
|
simpleItem(ModItems.EPIC_MATERIAL_PACK);
|
||||||
simpleItem(ModItems.LEGENDARY_MATERIAL_PACK);
|
simpleItem(ModItems.LEGENDARY_MATERIAL_PACK);
|
||||||
|
|
||||||
simpleItem(ModItems.ARMOR_PLATE);
|
|
||||||
|
|
||||||
// armor
|
// armor
|
||||||
|
|
||||||
simpleItem(ModItems.RU_HELMET_6B47);
|
simpleItem(ModItems.RU_HELMET_6B47);
|
||||||
|
|
|
@ -299,16 +299,9 @@ public class PlayerEventHandler {
|
||||||
private static void handleRespawnReload(Player player) {
|
private static void handleRespawnReload(Player player) {
|
||||||
if (!GameplayConfig.RESPAWN_RELOAD.get()) return;
|
if (!GameplayConfig.RESPAWN_RELOAD.get()) return;
|
||||||
|
|
||||||
int count = 0;
|
|
||||||
for (var inv : player.getInventory().items) {
|
|
||||||
if (inv.is(ModItems.CREATIVE_AMMO_BOX.get())) {
|
|
||||||
count++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (ItemStack stack : player.getInventory().items) {
|
for (ItemStack stack : player.getInventory().items) {
|
||||||
if (stack.is(ModTags.Items.GUN)) {
|
if (stack.is(ModTags.Items.GUN)) {
|
||||||
if (count == 0) {
|
if (!player.getInventory().hasAnyMatching(s -> s.is(ModItems.CREATIVE_AMMO_BOX.get()))) {
|
||||||
var cap = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables());
|
var cap = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables());
|
||||||
|
|
||||||
if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO) && cap.shotgunAmmo > 0) {
|
if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO) && cap.shotgunAmmo > 0) {
|
||||||
|
|
|
@ -1,18 +1,20 @@
|
||||||
package net.mcreator.superbwarfare.init;
|
package net.mcreator.superbwarfare.init;
|
||||||
|
|
||||||
|
import net.mcreator.superbwarfare.ModUtils;
|
||||||
|
import net.mcreator.superbwarfare.tools.ItemNBTTool;
|
||||||
import net.minecraft.client.renderer.item.ItemProperties;
|
import net.minecraft.client.renderer.item.ItemProperties;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||||
import net.mcreator.superbwarfare.tools.ItemNBTTool;
|
|
||||||
|
|
||||||
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
|
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
|
||||||
public class ModProperties {
|
public class ModProperties {
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void propertyOverrideRegistry(FMLClientSetupEvent event) {
|
public static void propertyOverrideRegistry(FMLClientSetupEvent event) {
|
||||||
event.enqueueWork(() -> ItemProperties.register(ModItems.MONITOR.get(), new ResourceLocation("superbwarfare", "monitor_linked"),
|
event.enqueueWork(() -> ItemProperties.register(ModItems.MONITOR.get(), ModUtils.loc("monitor_linked"),
|
||||||
(itemStack, clientWorld, livingEntity, seed) -> ItemNBTTool.getBoolean(itemStack, "Linked", false) ? 1.0F : 0.0F));
|
(itemStack, clientWorld, livingEntity, seed) -> ItemNBTTool.getBoolean(itemStack, "Linked", false) ? 1.0F : 0.0F));
|
||||||
|
event.enqueueWork(() -> ItemProperties.register(ModItems.ARMOR_PLATE.get(), ModUtils.loc("armor_plate_infinite"),
|
||||||
|
(itemStack, clientWorld, livingEntity, seed) -> ItemNBTTool.getBoolean(itemStack, "Infinite", false) ? 1.0F : 0.0F));
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
package net.mcreator.superbwarfare.init;
|
package net.mcreator.superbwarfare.init;
|
||||||
|
|
||||||
import net.mcreator.superbwarfare.ModUtils;
|
import net.mcreator.superbwarfare.ModUtils;
|
||||||
|
import net.mcreator.superbwarfare.item.ArmorPlate;
|
||||||
import net.mcreator.superbwarfare.item.gun.handgun.Glock17Item;
|
import net.mcreator.superbwarfare.item.gun.handgun.Glock17Item;
|
||||||
import net.mcreator.superbwarfare.item.gun.handgun.Glock18Item;
|
import net.mcreator.superbwarfare.item.gun.handgun.Glock18Item;
|
||||||
import net.mcreator.superbwarfare.item.gun.handgun.M1911Item;
|
import net.mcreator.superbwarfare.item.gun.handgun.M1911Item;
|
||||||
|
@ -98,7 +99,12 @@ public class ModTabs {
|
||||||
.title(Component.translatable("item_group.superbwarfare.item"))
|
.title(Component.translatable("item_group.superbwarfare.item"))
|
||||||
.icon(() -> new ItemStack(ModItems.TARGET_DEPLOYER.get()))
|
.icon(() -> new ItemStack(ModItems.TARGET_DEPLOYER.get()))
|
||||||
.withTabsBefore(AMMO_TAB.getKey())
|
.withTabsBefore(AMMO_TAB.getKey())
|
||||||
.displayItems((param, output) -> ModItems.ITEMS.getEntries().forEach(registryObject -> output.accept(registryObject.get())))
|
.displayItems((param, output) -> ModItems.ITEMS.getEntries().forEach(registryObject -> {
|
||||||
|
output.accept(registryObject.get());
|
||||||
|
if (registryObject.get() == ModItems.ARMOR_PLATE.get()) {
|
||||||
|
output.accept(ArmorPlate.getInfiniteInstance());
|
||||||
|
}
|
||||||
|
}))
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
public static final RegistryObject<CreativeModeTab> BLOCK_TAB = TABS.register("block",
|
public static final RegistryObject<CreativeModeTab> BLOCK_TAB = TABS.register("block",
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
package net.mcreator.superbwarfare.item;
|
package net.mcreator.superbwarfare.item;
|
||||||
|
|
||||||
|
import net.mcreator.superbwarfare.init.ModItems;
|
||||||
import net.mcreator.superbwarfare.init.ModTags;
|
import net.mcreator.superbwarfare.init.ModTags;
|
||||||
|
import net.minecraft.ChatFormatting;
|
||||||
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraft.server.level.ServerPlayer;
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
import net.minecraft.sounds.SoundEvents;
|
import net.minecraft.sounds.SoundEvents;
|
||||||
import net.minecraft.sounds.SoundSource;
|
import net.minecraft.sounds.SoundSource;
|
||||||
|
@ -12,15 +15,26 @@ import net.minecraft.world.entity.LivingEntity;
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import net.minecraft.world.item.TooltipFlag;
|
||||||
import net.minecraft.world.item.UseAnim;
|
import net.minecraft.world.item.UseAnim;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class ArmorPlate extends Item {
|
public class ArmorPlate extends Item {
|
||||||
public ArmorPlate() {
|
public ArmorPlate() {
|
||||||
super(new Item.Properties());
|
super(new Item.Properties());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void appendHoverText(ItemStack pStack, @Nullable Level pLevel, List<Component> pTooltipComponents, TooltipFlag pIsAdvanced) {
|
||||||
|
if (pStack.getOrCreateTag().getBoolean("Infinite")) {
|
||||||
|
pTooltipComponents.add(Component.translatable("des.superbwarfare.armor_plate.infinite").withStyle(ChatFormatting.GRAY));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull InteractionResultHolder<ItemStack> use(Level worldIn, Player playerIn, InteractionHand handIn) {
|
public @NotNull InteractionResultHolder<ItemStack> use(Level worldIn, Player playerIn, InteractionHand handIn) {
|
||||||
ItemStack stack = playerIn.getItemInHand(handIn);
|
ItemStack stack = playerIn.getItemInHand(handIn);
|
||||||
|
@ -65,7 +79,7 @@ public class ArmorPlate extends Item {
|
||||||
serverPlayer.level().playSound(null, serverPlayer.getOnPos(), SoundEvents.ARMOR_EQUIP_IRON, SoundSource.PLAYERS, 0.5f, 1);
|
serverPlayer.level().playSound(null, serverPlayer.getOnPos(), SoundEvents.ARMOR_EQUIP_IRON, SoundSource.PLAYERS, 0.5f, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pLivingEntity instanceof Player player && !player.isCreative()) {
|
if (pLivingEntity instanceof Player player && !player.isCreative() && !pStack.getOrCreateTag().getBoolean("Infinite")) {
|
||||||
pStack.shrink(1);
|
pStack.shrink(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -78,4 +92,9 @@ public class ArmorPlate extends Item {
|
||||||
return 30;
|
return 30;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static ItemStack getInfiniteInstance() {
|
||||||
|
ItemStack stack = new ItemStack(ModItems.ARMOR_PLATE.get());
|
||||||
|
stack.getOrCreateTag().putBoolean("Infinite", true);
|
||||||
|
return stack;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -221,6 +221,7 @@
|
||||||
"item.superbwarfare.raw_silver": "Raw Silver",
|
"item.superbwarfare.raw_silver": "Raw Silver",
|
||||||
|
|
||||||
"item.superbwarfare.armor_plate": "Armor Plate",
|
"item.superbwarfare.armor_plate": "Armor Plate",
|
||||||
|
"des.superbwarfare.armor_plate.infinite": "Infinite",
|
||||||
|
|
||||||
"item.superbwarfare.ru_helmet_6b47": "Russia 6b47 Helmet",
|
"item.superbwarfare.ru_helmet_6b47": "Russia 6b47 Helmet",
|
||||||
"item.superbwarfare.ru_chest_6b43": "Russia 6b43 Chest",
|
"item.superbwarfare.ru_chest_6b43": "Russia 6b43 Chest",
|
||||||
|
|
|
@ -221,6 +221,7 @@
|
||||||
"item.superbwarfare.raw_silver": "粗银",
|
"item.superbwarfare.raw_silver": "粗银",
|
||||||
|
|
||||||
"item.superbwarfare.armor_plate": "防弹插板",
|
"item.superbwarfare.armor_plate": "防弹插板",
|
||||||
|
"des.superbwarfare.armor_plate.infinite": "无限",
|
||||||
|
|
||||||
"item.superbwarfare.ru_helmet_6b47": "俄罗斯6B47头盔",
|
"item.superbwarfare.ru_helmet_6b47": "俄罗斯6B47头盔",
|
||||||
"item.superbwarfare.ru_chest_6b43": "俄罗斯6B43防弹胸甲",
|
"item.superbwarfare.ru_chest_6b43": "俄罗斯6B43防弹胸甲",
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
"parent": "item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "superbwarfare:item/armor_plate"
|
||||||
|
},
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"predicate": {
|
||||||
|
"superbwarfare:armor_plate_infinite": 1
|
||||||
|
},
|
||||||
|
"model": "superbwarfare:item/armor_plate_infinite"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "superbwarfare:item/armor_plate_infinite"
|
||||||
|
}
|
||||||
|
}
|
Before Width: | Height: | Size: 413 B After Width: | Height: | Size: 413 B |
Loading…
Add table
Reference in a new issue