EntityPlayer player = ...;
...
player.username;
или
player.getEntityName();
или
player.getCommandSenderName();
player.username.equals("Notch")
import net.minecraft.client.renderer.entity.RenderPlayer;
@SideOnly(Side.CLIENT)
public class Player_Nick extends RenderPlayer {
public ArrayList player_name = new ArrayList();
@Override
protected void func_96450_a(AbstractClientPlayer par1AbstractClientPlayer,
double par2, double par4, double par6, String par8Str, float par9,
double par10) {
if (( !par8Str.equalsIgnoreCase("Admin") )||
(!player_name.contains(par8Str.toLowerCase()) ) ) par10=200.0D;
super.func_96450_a(par1AbstractClientPlayer, par2, par4, par6, par8Str, par9,
par10);
}
}
public static Set<String> friend_list = Sets.newHashSet();
static {
friend_list.add("timaxa007");
friend_list.add("timaxa001");
}
@SubscribeEvent
public void nameFormat(RenderLivingEvent.Specials.Pre event) {
if (event.entity != null && event.entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer)event.entity;
boolean isFriend = friend_list.contains(player.getCommandSenderName());
if (!isFriend) {event.setCanceled(true);return;}
}
}
Я понимал, что будешь свой лист использовать. Но не знал как именно.global-as написал(а):да лист я буду подгружать из SQLite для каждого свой
Потому-что я такой эвент попробовал, так реализовать задумку. Твой... Не знаю, нужно типа подменить рендер игрока и пока-что я не пробовал подменять рендер игроков (/мобов).global-as написал(а):а почему эвентом , мой способ не сработает?
Поверить смогу.global-as написал(а):не повериш еще ни разу некомпелировал
RenderingRegistry.registerEntityRenderingHandler(EntityPlayer.class, new Player_Nick());
if (( !par8Str.equalsIgnoreCase("Admin") )||
(!player_name.contains(par8Str.toLowerCase()) ) )
super.func_96450_a(par1AbstractClientPlayer, par2, par4, par6, par8Str, par9,
par10);
public ArrayList player_name = new ArrayList();
@Override
public void func_96450_a(AbstractClientPlayer par1AbstractClientPlayer, double par2, double par4, double par6, String par8Str, float par9, double par10) {
if (par8Str.equalsIgnoreCase("Admin") || player_name.contains(par8Str.toLowerCase()))
super.func_96450_a(par1AbstractClientPlayer, par2, par4, par6, par8Str, par9, par10);
}
Да.global-as написал(а):ты его через Клиент Прокси инециализировал?
Пожалуйста.global-as написал(а):timaxa007 Огромная тебе благодарность за помощь
public class ModTest {
public static final String
MODID = "mod_test ",
MODNAME = "ModTest",
VERSION = "0.1"
;
@Mod.Instance(ModTest.MODID) public static ModTest instance;
@SidedProxy(clientSide = "path.ClassProxyClient", serverSide = "path.ClassProxyCommon")
public static ProxyCommon proxy;
@Mod.EventHandler
public void init(FMLInitializationEvent event) {
proxy.init();
}
public class ProxyCommon {
public void init() {
}
}
public class ProxyClient extends ProxyCommon {
@Override
public void init() {
super.init();
RenderingRegistry.registerEntityRenderingHandler(EntityPlayer.class, new Player_Nick());
}
}