Surement les sides que ont a mis au débuts.
Gui:
public class Mort extends GuiScreen {
@SideOnly(Side.CLIENT)
private ResourceLocation ressource = new ResourceLocation("dd:textures/gui/death.png");
private int medecin;
private int spawn;
public static int timer = 10000;
int guiWidth = 256;
int guiHeight = 256;
public Mort() {
}
@Override
public void initGui() {
int guiX = (this.width - guiWidth) / 2;
int guiY = (this.height - guiHeight) / 2;
medecin = 0;
spawn = 1;
buttonList.clear();
buttonList.add(new GuiButton(medecin, guiX + 170, guiY + 226 + 5, 58, 20, "§aAppeller un médecin"));
buttonList.add(new GuiButton(spawn, guiX + 80, guiY, 120, 20, "§5Respawn possible dans"));
super.initGui();
}
@Override
protected void keyTyped(char typedChar, int keyCode) {
}
@Override
protected void actionPerformed(GuiButton button) {
switch(button.id) {
case 0:
Main.network.sendToServer(new PacketMedecin());
break;
case 1:
if(timer > 0)
{
EntityPlayer player1 = Minecraft.getMinecraft().thePlayer;
ChatComponentText text1 = new ChatComponentText("§7Vous ne pouvez pas respawn ! il vous reste: " + timer / 100 + " §7secondes");
player1.addChatComponentMessage(text1);
timer –;
break;
}
else
{
EntityPlayer player1 = Minecraft.getMinecraft().thePlayer;
player1.setDead();
Minecraft.getMinecraft().thePlayer.closeScreen();
break;
}
default:
break;
}
super.actionPerformed(button);
}
@Override
public void updateScreen() {
super.updateScreen();
}
public void drawScreen(int mouseX, int mouseY, float partialTick)
{
String tilename = "§5 : " + timer-- / 100;
mc.getTextureManager().bindTexture(ressource);
this.drawTexturedModalRect(this.width / 2 - 135, this.height / 2 - 127, 0, 0, 256, 255);
if(timer > 0)
{
this.fontRendererObj.drawString(tilename, this.width / 2 + 95 - this.fontRendererObj.getStringWidth(tilename) / 2, 1, 0);
}
super.drawScreen(mouseX, mouseY, partialTick);
}
public static void settimer(int newtimer)
{
timer = newtimer;
}
@Override
public void onGuiClosed() {
}
}
Packet:
public class PacketGui implements IMessage {
public int i;
public PacketGui(){
}
public PacketGui(int i){
this.i = i;
}
@Override
public void fromBytes(ByteBuf buf) {
i = buf.readInt();
}
@Override
public void toBytes(ByteBuf buf) {
buf.writeInt(i);
}
public static class Handler implements IMessageHandler <packetgui, imessage="">{
@SideOnly(Side.CLIENT)
public IMessage onMessage(PacketGui message, MessageContext ctx) {
Minecraft.getMinecraft().displayGuiScreen(new Mort());
Mort.settimer(10000);
System.out.println("packet");
return message;
}
}
}
Event:
@SubscribeEvent
public void onDeath(LivingDeathEvent event)
{
booleantrue();
System.out.println(coma);
if(event.entityLiving instanceof EntityPlayer)
{
event.entityLiving.setHealth(1);
Main.network.sendTo(new PacketGui(), (EntityPlayerMP)event.entityLiving);
System.out.println("Mort");
System.out.println(coma);
}
}
Register Packet:
network = NetworkRegistry.INSTANCE.newSimpleChannel("dd:");
network.registerMessage(PacketGui.Handler.class, PacketGui.class, 0, Side.CLIENT);
``` // ici quand je met client le gui ne s'ouvre pas solo ( j'ai pas essayer en multi )</packetgui,>