移除重生换弹procedure

This commit is contained in:
17146 2024-05-07 21:54:41 +08:00
parent 14ee8f220b
commit d387264771
4 changed files with 52 additions and 46 deletions

View file

@ -0,0 +1,33 @@
package net.mcreator.target.event;
import net.mcreator.target.init.TargetModTags;
import net.mcreator.target.network.TargetModVariables;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber
public class PlayerEventHandler {
@SubscribeEvent
public static void onPlayerRespawned(PlayerEvent.PlayerRespawnEvent event) {
Player player = event.getEntity();
if (player == null) {
return;
}
if (!TargetModVariables.MapVariables.get(player.level()).pvpmode) {
return;
}
for (ItemStack stack : player.getInventory().items) {
if (stack.is(TargetModTags.Items.GUN)) {
stack.getOrCreateTag().putDouble("ammo", stack.getOrCreateTag().getDouble("mag"));
}
}
}
}

View file

@ -0,0 +1,19 @@
package net.mcreator.target.init;
import net.mcreator.target.TargetMod;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.ItemTags;
import net.minecraft.tags.TagKey;
import net.minecraft.world.item.Item;
public class TargetModTags {
public static class Items {
public static final TagKey<Item> GUN = tag("gun");
private static TagKey<Item> tag(String name) {
return ItemTags.create(new ResourceLocation(TargetMod.MODID, name));
}
}
}

View file

@ -6,7 +6,6 @@ import net.mcreator.target.TargetMod;
import net.mcreator.target.client.renderer.item.TracheliumItemRenderer;
import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.procedures.ReloadingProcedure;
import net.mcreator.target.tools.GunsTool;
import net.mcreator.target.tools.RarityTool;
import net.mcreator.target.tools.TooltipTool;
import net.minecraft.ChatFormatting;

View file

@ -1,45 +0,0 @@
package net.mcreator.target.procedures;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.ItemTags;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.LevelAccessor;
import net.minecraftforge.common.capabilities.ForgeCapabilities;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.eventbus.api.Event;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.items.IItemHandler;
import javax.annotation.Nullable;
import java.util.concurrent.atomic.AtomicReference;
@Mod.EventBusSubscriber
public class PlayerRespawnRewardProcedure {
@SubscribeEvent
public static void onPlayerRespawned(PlayerEvent.PlayerRespawnEvent event) {
execute(event, event.getEntity().level(), event.getEntity());
}
public static void execute(LevelAccessor world, Entity entity) {
execute(null, world, entity);
}
private static void execute(@Nullable Event event, LevelAccessor world, Entity entity) {
if (entity == null)
return;
{
AtomicReference<IItemHandler> _iitemhandlerref = new AtomicReference<>();
entity.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(_iitemhandlerref::set);
if (_iitemhandlerref.get() != null) {
for (int _idx = 0; _idx < _iitemhandlerref.get().getSlots(); _idx++) {
ItemStack itemstackiterator = _iitemhandlerref.get().getStackInSlot(_idx);
if (itemstackiterator.is(ItemTags.create(new ResourceLocation("target:gun")))) {
itemstackiterator.getOrCreateTag().putDouble("ammo", (itemstackiterator.getOrCreateTag().getDouble("mag")));
}
}
}
}
}
}