1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
package jp.plusplus.fbs;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.Loader;
import jp.plusplus.fbs.block.render.*;
import jp.plusplus.fbs.entity.*;
import jp.plusplus.fbs.entity.render.RenderAuthor;
import jp.plusplus.fbs.entity.render.RenderButterfly;
import jp.plusplus.fbs.entity.render.RenderTableware;
import jp.plusplus.fbs.item.ItemCore;
import jp.plusplus.fbs.model.ModelMagicBall;
import jp.plusplus.fbs.model.ModelMagicBase;
import jp.plusplus.fbs.nei.NEILoader;
import jp.plusplus.fbs.pottery.RenderPottersWheel;
import jp.plusplus.fbs.pottery.RenderPottery;
import jp.plusplus.fbs.pottery.TileEntityPottery;
import jp.plusplus.fbs.render.RendererBook;
import jp.plusplus.fbs.entity.render.RenderMagicBase;
import jp.plusplus.fbs.spirit.render.RenderAlice;
import jp.plusplus.fbs.storage.*;
import jp.plusplus.fbs.tileentity.*;
import jp.plusplus.fbs.tileentity.render.RenderMagicCircle;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.entity.RendererLivingEntity;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.Timer;
import net.minecraft.world.World;
import net.minecraftforge.client.MinecraftForgeClient;
import java.util.HashMap;
/**
* Created by plusplus_F on 2015/01/31.
*/
public class ProxyClient extends ProxyServer {
public Timer timer=new Timer(20);
private HashMap<String, RendererLivingEntity> spiritModels=new HashMap<String, RendererLivingEntity>();
@Override
public World getClientWorld() {
return FMLClientHandler.instance().getClient().theWorld;
}
@Override
public void register() {
super.register();
MinecraftForgeClient.registerItemRenderer(ItemCore.bookNoDecoded, new RendererBook());
MinecraftForgeClient.registerItemRenderer(ItemCore.bookSorcery, new RendererBook());
RenderingRegistry.registerEntityRenderingHandler(EntityButterfly.class, new RenderButterfly());
RenderingRegistry.registerEntityRenderingHandler(EntityTableware.class, new RenderTableware());
RenderingRegistry.registerEntityRenderingHandler(EntityMagicDig.class, new RenderMagicBase(new ModelMagicBase(0, 0)));
RenderingRegistry.registerEntityRenderingHandler(EntityMagicArrow.class, new RenderMagicBase(new ModelMagicBase(16, 0)));
RenderingRegistry.registerEntityRenderingHandler(EntityMagicWedge.class, new RenderMagicBase(new ModelMagicBase(0, 8)));
RenderingRegistry.registerEntityRenderingHandler(EntityMagicFireBolt.class, new RenderMagicBase(new ModelMagicBase(16, 8)));
RenderingRegistry.registerEntityRenderingHandler(EntityMagicHealingBall.class, new RenderMagicBase(new ModelMagicBall(48, 24)));
RenderingRegistry.registerEntityRenderingHandler(EntityMagicArrowFlexible.class, new RenderMagicBase(new ModelMagicBase(16, 0)));
RenderingRegistry.registerEntityRenderingHandler(EntityMagicAuthor.class, new RenderAuthor());
FBS.renderDirectionalId=registerRenderer(new RenderDirectional());
FBS.renderCharmId=registerRenderer(new RenderCharm());
FBS.renderPottersWheelId=registerRenderer(new RenderPottersWheel());
ClientRegistry.registerTileEntity(TileEntityMagicCore.class, FBS.MODID+"-magicCoreR", new RenderMagicCircle());
TileEntitySpecialRenderer tesr=new RenderPottery();
FBS.renderJarId=registerRenderer((ISimpleBlockRenderingHandler)tesr);
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPottery.class, tesr);
tesr=new RenderMirror();
FBS.renderMirrorId=registerRenderer((ISimpleBlockRenderingHandler)tesr);
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMirror.class, tesr);
tesr=new RenderAlchemyCauldron();
FBS.renderAlchemyCauldronId=registerRenderer((ISimpleBlockRenderingHandler)tesr);
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAlchemyCauldron.class, tesr);
tesr=new RenderDecorations();
FBS.renderDecorationId=registerRenderer((ISimpleBlockRenderingHandler)tesr);
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityForRender.class, tesr);
tesr=new RenderHarvestable();
FBS.renderHerbId=registerRenderer((ISimpleBlockRenderingHandler)tesr);
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHavestable.class, tesr);
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHavestableMushroom.class, tesr);
tesr=new RenderMealCrystal();
FBS.renderMealId=registerRenderer((ISimpleBlockRenderingHandler)tesr);
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMeal.class, tesr);
tesr=new RenderMealInlet();
FBS.renderMealInletId=registerRenderer((ISimpleBlockRenderingHandler)tesr);
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMealInlet.class, tesr);
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMealOutletSingle.class, tesr);
tesr=new RenderMealTerminal();
FBS.renderMealTerminalId=registerRenderer((ISimpleBlockRenderingHandler)tesr);
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMealTerminal.class, tesr);
FBS.renderBarrierId=registerRenderer(new RenderBarrier());
FBS.renderPortalWarpId=registerRenderer(new RenderPortalWarp());
registerSpiritModel("fbs.alice", new RenderAlice());
}
@Override
public int registerRenderer(ISimpleBlockRenderingHandler renderer){
int id=RenderingRegistry.getNextAvailableRenderId();
RenderingRegistry.registerBlockHandler(id, renderer);
//FMLLog.severe(renderer.toString());
return id;
}
public void registerSpiritModel(String character, RendererLivingEntity renderer){
spiritModels.put(character, renderer);
}
public RendererLivingEntity getSpiritModel(String character){
return spiritModels.get(character);
}
@Override
public void loadNEI(){
if(Loader.isModLoaded("NotEnoughItems")){
NEILoader.LoadNEI();
}
}
@Override
public EntityPlayer getEntityPlayerInstance(){
return Minecraft.getMinecraft().thePlayer;
}
@Override
public float getRenderPartialTicks(){
return timer.renderPartialTicks;
}
@Override
public void setRenderPartialTicks(float f){
timer.renderPartialTicks=f;
}
@Override
public void updateTimer(){
timer.updateTimer();
}
}
|