ModKlasse:
ServerTickHandler:Code:public class ModBTM { @Instance public static ModBTM instance = new ModBTM(); @Side dProxy(clientSide = "mod.ClientProxy", serverSide = "mod.commonProxy") public static commonProxy proxy; @PreInit public void preLoad(FMLPreInitializationEvent event){} @Init public void load(FMLInitializationEvent event){ ServerTickHandler serverTickHandler = new ServerTickHandler(); TickRegistry.registerTickHandler(serverTickHandler, Side.SERVER); proxy.registerRenderThings(); } }
Vorallem aus der ModKlasse habe ich einiges entfernt. Ich will noch nicht zu viel von meinem Projekt preisgeben. Dabe ging es aber um andere Dinge, wie Blöcke und Dimensionen.Code:package mod.betterThanMagic; import java.util.EnumSet; import java.util.List; import net.minecraft.server.MinecraftServer; import net.minecraft.src.EntityPlayer; import cpw.mods.fml.common.ITickHandler; import cpw.mods.fml.common.TickType; public class ServerTickHandler implements ITickHandler { @Override public void tickStart(EnumSet<TickType> type, Object... tickData) { System.out.println("mgbotp"); List l = MinecraftServer.getServer().getConfigurationManager().playerEntityList; EntityPlayer[] playerArray = (EntityPlayer[]) l.toArray(); System.out.println(playerArray.length); for(int i = 0; i < playerArray.length; i++){ if(playerArray[i].dimension == 22 && !playerInBlock((int)playerArray[i].posX, (int)playerArray[i].posY, (int)playerArray[i].posZ)){ playerArray[i].setEntityHealth(playerArray[i].getHealth() - 1); } } } @Override public void tickEnd(EnumSet<TickType> type, Object... tickData) { // TODO Auto-generated method stub } @Override public EnumSet<TickType> ticks() { // TODO Auto-generated method stub return null; } @Override public String getLabel() { // TODO Auto-generated method stub return null; } protected boolean playerInBlock(int posX, int posY, int posZ){ return MinecraftServer.getServer().worldServerForDimension(22).getBlockId(posX, posY, posZ) == ModBTM.blockXyz.blockID; } }

Zitieren

