I'm trying to make a JFrame that will log all players kills, but the LivingDeathEvent is not firing.
Main class:
package me.checkium.pvplog;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
@Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION)
public class PvPLog
{
public static final String MODID = "pvplog";
public static final String VERSION = "1.0";
JFrame frame;
@EventHandler
public void init(FMLInitializationEvent event)
{
MinecraftForge.EVENT_BUS.register(new EventKill(frame));
frame = new JFrame();
frame.getContentPane().setLayout(new FlowLayout());
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.setSize(500, 500);
System.out.println("Loaded");
}
}
EventKill:
package me.checkium.pvplog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
public class EventKill {
JFrame frame;
public EventKill(JFrame framee) {
frame = framee;
}
@SubscribeEvent
public void kill(LivingDeathEvent e) {
System.out.println("Event");
if (e.getSource().getEntity() instanceof EntityPlayer && e.getEntity() instanceof EntityPlayer) {
System.out.println("Player");
JLabel label = new JLabel(e.getSource().getEntity().getName() + " killed " + e.getEntity().getName());
frame.add(label);
}
}
}