diff --git a/src/main/java/net/mcreator/target/event/PlayerEventHandler.java b/src/main/java/net/mcreator/target/event/PlayerEventHandler.java new file mode 100644 index 000000000..55fdebd53 --- /dev/null +++ b/src/main/java/net/mcreator/target/event/PlayerEventHandler.java @@ -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")); + } + } + } + +} diff --git a/src/main/java/net/mcreator/target/init/TargetModTags.java b/src/main/java/net/mcreator/target/init/TargetModTags.java new file mode 100644 index 000000000..5b7f2c5d2 --- /dev/null +++ b/src/main/java/net/mcreator/target/init/TargetModTags.java @@ -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 GUN = tag("gun"); + + private static TagKey tag(String name) { + return ItemTags.create(new ResourceLocation(TargetMod.MODID, name)); + } + } +} diff --git a/src/main/java/net/mcreator/target/item/gun/Trachelium.java b/src/main/java/net/mcreator/target/item/gun/Trachelium.java index 35d96ea19..486fbb253 100644 --- a/src/main/java/net/mcreator/target/item/gun/Trachelium.java +++ b/src/main/java/net/mcreator/target/item/gun/Trachelium.java @@ -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; diff --git a/src/main/java/net/mcreator/target/procedures/PlayerRespawnRewardProcedure.java b/src/main/java/net/mcreator/target/procedures/PlayerRespawnRewardProcedure.java deleted file mode 100644 index af11262d9..000000000 --- a/src/main/java/net/mcreator/target/procedures/PlayerRespawnRewardProcedure.java +++ /dev/null @@ -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 _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"))); - } - } - } - } - } -}