移除重生换弹procedure
This commit is contained in:
parent
14ee8f220b
commit
d387264771
4 changed files with 52 additions and 46 deletions
|
@ -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"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
19
src/main/java/net/mcreator/target/init/TargetModTags.java
Normal file
19
src/main/java/net/mcreator/target/init/TargetModTags.java
Normal 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));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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")));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue