͏
Мудрец
(11383)
2 дня назад
package com.example.nametagmod;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
@Mod(NameTagMod.MODID)
public class NameTagMod {
public static final String MODID = "nametagmod";
public NameTagMod() {
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
MinecraftForge.EVENT_BUS.register(this);
}
private void setup(final FMLCommonSetupEvent event) {
// Инициализация мода
}
}import net.minecraft.entity.Entity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.Hand;
import net.minecraft.util.text.StringTextComponent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
public class NameTagHandler {
@SubscribeEvent
public void onPlayerInteract(PlayerInteractEvent.EntityInteract event) {
PlayerEntity player = event.getPlayer();
ItemStack itemStack = player.getHeldItem(event.getHand());
Entity targetEntity = event.getTarget();
// Проверяем, что игрок использует name tag
if (itemStack.getItem() == Items.NAME_TAG && itemStack.hasDisplayName()) {
String name = itemStack.getDisplayName().getString();
targetEntity.setCustomName(new StringTextComponent(name));
targetEntity.setCustomNameVisible(true);
// Убираем name tag из руки игрока
if (!player.isCreative()) {
itemStack.shrink(1);
}
}
}
}
MinecraftForge.EVENT_BUS.register(new NameTagHandler());
Посмотрите прошу