6
6
import net .minecraft .client .gui .GuiTooltip ;
7
7
import net .minecraft .client .render .block .color .BlockColorDispatcher ;
8
8
import net .minecraft .client .render .entity .ItemEntityRenderer ;
9
+ import net .minecraft .client .render .item .model .ItemModel ;
10
+ import net .minecraft .client .render .item .model .ItemModelDispatcher ;
11
+ import net .minecraft .client .render .item .model .ItemModelStandard ;
12
+ import net .minecraft .client .render .tessellator .Tessellator ;
9
13
import net .minecraft .core .block .Block ;
10
14
import net .minecraft .core .block .BlockFluid ;
11
15
import net .minecraft .core .block .entity .TileEntity ;
18
22
import sunsetsatellite .catalyst .CatalystFluids ;
19
23
import sunsetsatellite .catalyst .fluids .impl .containers .ContainerMultiFluidTank ;
20
24
import sunsetsatellite .catalyst .fluids .impl .tiles .TileEntityMassFluidItemContainer ;
21
- import sunsetsatellite .catalyst .fluids .render .RenderFluid ;
25
+ import sunsetsatellite .catalyst .fluids .render .ItemModelFluid ;
22
26
import sunsetsatellite .catalyst .fluids .util .FluidLayer ;
23
27
import sunsetsatellite .catalyst .fluids .util .FluidStack ;
24
28
@@ -29,7 +33,6 @@ public class GuiMultiFluidTank extends GuiContainer {
29
33
30
34
public String name = "Multi Fluid Tank" ;
31
35
public TileEntityMassFluidItemContainer tile ;
32
- public ItemEntityRenderer itemRender = new ItemEntityRenderer ();
33
36
public ArrayList <FluidLayer > fluidLayers = new ArrayList <>();
34
37
/*{
35
38
try {
@@ -68,13 +71,21 @@ protected void drawFluidTank(int x, int y, int sizeX, int sizeY) {
68
71
int j = (width - xSize ) / 2 ;
69
72
int k = (height - ySize ) / 2 ;
70
73
int fluidBarSize = (int ) CatalystFluids .map (fluidStack .amount ,0 ,tile .fluidCapacity ,2 ,sizeY -3 );
71
- RenderFluid .drawFluidIntoGui (fontRenderer , this .mc .renderEngine , fluid .id , 0 , fluid .getBlockTextureFromSideAndMetadata (Side .BOTTOM ,0 ), x , y +i -fluidBarSize -2 , sizeX -2 , fluidBarSize );
72
- if (fluidStack .getLiquid () == Block .fluidWaterFlowing && Minecraft .getMinecraft (Minecraft .class ).gameSettings .biomeWater .value ) {
74
+ ItemModel itemModel = ItemModelDispatcher .getInstance ().getDispatch (fluid .getDefaultStack ().getItem ());
75
+
76
+ if (itemModel instanceof ItemModelFluid ){
77
+ ((ItemModelFluid ) itemModel ).renderItemIntoGui (Tessellator .instance ,this .fontRenderer , this .mc .renderEngine , fluid .getDefaultStack (), x , y +i -fluidBarSize -2 , sizeX -2 , fluidBarSize , 1.0F , 1.0F );
78
+ } else if (itemModel instanceof ItemModelStandard ) {
79
+ renderColoredQuad (Tessellator .instance , x , y +i -fluidBarSize -2 , sizeX -2 , fluidBarSize , ((ItemModelStandard ) itemModel ).getColor (fluid .getDefaultStack ()), 1 );
80
+ }
81
+ //RenderFluid.drawFluidIntoGui(fontRenderer, this.mc.renderEngine, fluid.id, 0, fluid.getBlockTextureFromSideAndMetadata(Side.BOTTOM,0), x, y+i-fluidBarSize-2, sizeX-2, fluidBarSize);
82
+ /*if (fluidStack.getLiquid() == Block.fluidWaterFlowing && Minecraft.getMinecraft(Minecraft.class).gameSettings.biomeWater.value) {
73
83
int waterColor = BlockColorDispatcher.getInstance().getDispatch(Block.fluidWaterFlowing).getWorldColor(this.mc.theWorld,tile.x,tile.y,tile.z);
74
84
Color c = new Color().setARGB(waterColor);
75
85
c.setRGBA(c.getRed(), c.getGreen(), c.getBlue(), 0x40);
76
- RenderFluid .drawFluidIntoGui (fontRenderer , this .mc .renderEngine , fluid .id , 0 , fluid .getBlockTextureFromSideAndMetadata (Side .BOTTOM ,0 ), x , y +i -fluidBarSize -2 , sizeX -2 , fluidBarSize , c .value );
77
- }
86
+ itemModel.renderItemIntoGui(Tessellator.instance,this.fontRenderer, this.mc.renderEngine, fluid.getDefaultStack(), x, y-fluidBarSize-2,1.0F);
87
+ //RenderFluid.drawFluidIntoGui(fontRenderer, this.mc.renderEngine, fluid.id, 0, fluid.getBlockTextureFromSideAndMetadata(Side.BOTTOM,0), x, y+i-fluidBarSize-2, sizeX-2, fluidBarSize, c.value);
88
+ }*/
78
89
fluidLayers .add (new FluidLayer (id ,x ,y +i -fluidBarSize -2 ,sizeX -2 ,fluidBarSize ,fluidStack ));
79
90
id ++;
80
91
@@ -84,6 +95,17 @@ protected void drawFluidTank(int x, int y, int sizeX, int sizeY) {
84
95
}
85
96
}
86
97
98
+ private void renderColoredQuad (Tessellator tessellator , int x , int y , int width , int height , int colorRGB , int alpha ) {
99
+ float z = 0.0F ;
100
+ tessellator .startDrawingQuads ();
101
+ tessellator .setColorRGBA_I (colorRGB , alpha );
102
+ tessellator .addVertex (x , y , 0.0 );
103
+ tessellator .addVertex (x , y + height , 0.0 );
104
+ tessellator .addVertex (x + width , y + height , 0.0 );
105
+ tessellator .addVertex (x + width , y , 0.0 );
106
+ tessellator .draw ();
107
+ }
108
+
87
109
public FluidLayer getFluidLayerAtPosition (int x , int y ){
88
110
if (!fluidLayers .isEmpty ()){
89
111
for (FluidLayer fluidLayer : fluidLayers ) {
0 commit comments