Hey!
So I have projectiles, they render on the singleplayer, but not on a server.
My classes:
Main:
@Mod(modid = "dinocraft", name = Reference.NAME, version = Reference.VERSION)
public class Dinocraft
{
me.dinocraft.handlers.EventHandler eventHandler = new me.dinocraft.handlers.EventHandler();
public static final CreativeTabs BLOCKS = new TabDinocraftBlocks();
public static final CreativeTabs ITEMS = new TabDinocraftItems();
@Mod.Instance(Reference.MODID)
public static Dinocraft instance;
@SidedProxy(serverSide = Reference.SERVER_PROXY_CLASS, clientSide = Reference.CLIENT_PROXY_CLASS)
public static ServerProxy PROXY;
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
DinocraftItems.register();
DinocraftBlocks.register();
DinocraftTools.register();
DinocraftArmour.register();
//DinocraftAchievements.register();
PROXY.registerRenders();
PROXY.preInit(event);
DinocraftCapabilities.registerCapabilities();
}
@EventHandler
public void init(FMLInitializationEvent event)
{
PROXY.init();
RecipeHandler.registerCraftingRecipes();
RecipeHandler.registerFurnaceRecipes();
MinecraftForge.EVENT_BUS.register(DinocraftSoundEvents.class);
MinecraftForge.EVENT_BUS.register(RecipeHandler.class);
NetworkHandler.init();
eventHandler.init();
}
@EventHandler
public void postInit(FMLPostInitializationEvent event)
{
}
@EventHandler
public void serverLoad(FMLServerStartingEvent event)
{
event.registerServerCommand(new CommandMaxHealth());
event.registerServerCommand(new CommandFeed());
event.registerServerCommand(new CommandHeal());
event.registerServerCommand(new CommandBoing());
event.registerServerCommand(new CommandAsServer());
event.registerServerCommand(new CommandPing());
event.registerServerCommand(new CommandBreak());
event.registerServerCommand(new CommandJump());
event.registerServerCommand(new CommandFly());
event.registerServerCommand(new CommandKaboom());
}
}
DinocraftEntities:
public class DinocraftEntities
{
@SideOnly(Side.CLIENT)
public static void init()
{
int id = 0;
EntityRegistry.registerModEntity(RenderEntities.VINE_BALL_TEXTURE, EntityVineBall.class, "vine_ball", id++, Dinocraft.instance, 64, 10, true);
EntityRegistry.registerModEntity(RenderEntities.POISON_BALL_TEXTURE, EntityPoisonBall.class, "poison_ball", id++, Dinocraft.instance, 64, 10, true);
EntityRegistry.registerModEntity(RenderEntities.RAY_BULLET_TEXTURE, EntityRayBullet.class, "ray_bullet", id++, Dinocraft.instance, 64, 10, true);
}
/*
private static int id;
public static void preInit()
{
registerEntity(EntityVineBall.class);
registerEntity(EntityPoisonBall.class);
registerEntity(EntityRayBullet.class);
} */
/*
private static void registerEntity(Class clazz)
{
EntityRegistry.registerModEntity(new ResourceLocation(Reference.MODID + ":textures/items/vine_ball.png"), clazz, "vine_ball", ++id, Dinocraft.instance, 64, 3, true);
EntityRegistry.registerModEntity(new ResourceLocation(Reference.MODID + ":textures/items/poison_ball.png"), clazz, "poison_ball", ++id, Dinocraft.instance, 64, 3, true);
EntityRegistry.registerModEntity(new ResourceLocation(Reference.MODID + ":textures/items/ray_bullet.png"), clazz, "ray_bullet", ++id, Dinocraft.instance, 64, 3, true);
/*
String unlocalizedName = clazz.getSimpleName().replace("Entity", "");
unlocalizedName = unlocalizedName.substring(0, 1).toLowerCase() + unlocalizedName.substring(1);
ResourceLocation registryName = new ResourceLocation(Reference.MODID, unlocalizedName);
EntityRegistry.registerModEntity(registryName, clazz, unlocalizedName, ++id, Dinocraft.instance, 64, 3, true);
*/
//}
}
RenderEntities:
public class RenderEntities extends RenderEntity
{
public RenderEntities(RenderManager render)
{
super(render);
}
public static final ResourceLocation VINE_BALL_TEXTURE = new ResourceLocation(Reference.MODID + ":textures/items/vine_ball.png");
public static final ResourceLocation POISON_BALL_TEXTURE = new ResourceLocation(Reference.MODID + ":textures/items/poison_ball.png");
public static final ResourceLocation RAY_BULLET_TEXTURE = new ResourceLocation(Reference.MODID + ":textures/items/ray_bullet.png");
}
ServerProxy:
public class ServerProxy
{
public void preInit(FMLPreInitializationEvent event)
{
}
public void init()
{
GameRegistry.registerWorldGenerator(new OreGen(), 0);
}
public void registerRenders()
{
}
public EntityPlayer getPlayer()
{
return null;
}
}
ClientProxy:
public class ClientProxy extends ServerProxy
{
@Override
public void preInit(FMLPreInitializationEvent event)
{
super.preInit(event);
initRenderers();
DinocraftEntities.init();
//registerEntityRenders();
}
@SideOnly(Side.CLIENT)
private void initRenderers()
{
RenderingRegistry.registerEntityRenderingHandler(EntityVineBall.class, renderManager -> new RenderSnowball(renderManager, DinocraftItems.VINE_BALL, Minecraft.getMinecraft().getRenderItem()));
RenderingRegistry.registerEntityRenderingHandler(EntityPoisonBall.class, renderManager -> new RenderSnowball(renderManager, DinocraftItems.POISON_BALL, Minecraft.getMinecraft().getRenderItem()));
RenderingRegistry.registerEntityRenderingHandler(EntityRayBullet.class, renderManager -> new RenderSnowball(renderManager, DinocraftItems.RAY_BULLET, Minecraft.getMinecraft().getRenderItem()));
}
/*
private static void registerEntityRenders()
{
RenderingRegistry.registerEntityRenderingHandler(EntityVineBall.class, RenderVineBall::new);
RenderingRegistry.registerEntityRenderingHandler(EntityPoisonBall.class, RenderPoisonBall::new);
RenderingRegistry.registerEntityRenderingHandler(EntityRayBullet.class, RenderRayBullet::new);
} */
@Override
public void registerRenders()
{
DinocraftItems.registerRenders();
DinocraftBlocks.registerRenders();
DinocraftTools.registerRenders();
DinocraftArmour.registerRenders();
}
@Override
public EntityPlayer getPlayer()
{
return FMLClientHandler.instance().getClient().player;
}
}
I'm not too sure what's wrong, and I'll take any criticisms.
Any suggestions are welcome.
Thank you!