mirror of
https://github.com/GTNewHorizons/Chisel.git
synced 2026-11-11 15:57:31 +00:00
More SideOnly safety, should fix #309 again
This commit is contained in:
1 parent
fbab0eb9d8
commit
f0cb6555a8
6 files changed
+47
-6
No files matched your search
@@ -1,5 +1,7 @@
|
||||
package com.cricketcraft.chisel.api.rendering;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
@@ -35,11 +37,15 @@ public interface ISubmapManager<T extends RenderBlocks> {
|
||||
* @param register
|
||||
* The IIconRegister instance.
|
||||
*/
|
||||
@SideOnly(Side.CLIENT)
|
||||
void registerIcons(String modName, Block block, IIconRegister register);
|
||||
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
T createRenderContext(RenderBlocks rendererOld, IBlockAccess world);
|
||||
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
void preRenderSide(T renderer, IBlockAccess world, int x, int y, int z, ForgeDirection side);
|
||||
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
void postRenderSide(T renderer, IBlockAccess world, int x, int y, int z, ForgeDirection side);
|
||||
}
|
||||
@@ -9,9 +9,13 @@ import net.minecraft.world.IBlockAccess;
|
||||
import com.cricketcraft.chisel.api.rendering.RenderBlocksCTM;
|
||||
import com.cricketcraft.chisel.api.rendering.TextureSubmap;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class SubmapManagerAntiblock extends SubmapManagerBase<RenderBlocksCTM> {
|
||||
|
||||
private static final RenderBlocksCTM rb = new RenderBlocksCTM() {
|
||||
@SideOnly(Side.CLIENT)
|
||||
private static class RenderBlocksCTMFullbright extends RenderBlocksCTM {
|
||||
|
||||
@Override
|
||||
protected void fillLightmap(int bottomLeft, int bottomRight, int topRight, int topLeft) {
|
||||
@@ -26,11 +30,15 @@ public class SubmapManagerAntiblock extends SubmapManagerBase<RenderBlocksCTM> {
|
||||
}
|
||||
};
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private RenderBlocksCTMFullbright rb;
|
||||
|
||||
private String color;
|
||||
private TextureSubmap submap, submapSmall;
|
||||
|
||||
public SubmapManagerAntiblock(String color) {
|
||||
this.color = color;
|
||||
this.rb = new RenderBlocksCTMFullbright();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -39,12 +47,14 @@ public class SubmapManagerAntiblock extends SubmapManagerBase<RenderBlocksCTM> {
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(String modName, Block block, IIconRegister register) {
|
||||
submap = new TextureSubmap(register.registerIcon(modName + ":antiblock/" + color + "-antiBlock-ctm"), 4, 4);
|
||||
submapSmall = new TextureSubmap(register.registerIcon(modName + ":antiblock/" + color + "-antiBlock"), 2, 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public RenderBlocksCTM createRenderContext(RenderBlocks rendererOld, IBlockAccess world) {
|
||||
rb.submap = submap;
|
||||
rb.submapSmall = submapSmall;
|
||||
|
||||
@@ -7,6 +7,9 @@ import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
import com.cricketcraft.chisel.api.rendering.ISubmapManager;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
|
||||
public abstract class SubmapManagerBase<T extends RenderBlocks> implements ISubmapManager<T> {
|
||||
|
||||
@@ -16,15 +19,18 @@ public abstract class SubmapManagerBase<T extends RenderBlocks> implements ISubm
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public T createRenderContext(RenderBlocks rendererOld, IBlockAccess world) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void preRenderSide(T renderer, IBlockAccess world, int x, int y, int z, ForgeDirection side) {
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void postRenderSide(T renderer, IBlockAccess world, int x, int y, int z, ForgeDirection side) {
|
||||
}
|
||||
}
|
||||
@@ -9,9 +9,13 @@ import net.minecraft.world.IBlockAccess;
|
||||
import com.cricketcraft.chisel.api.rendering.RenderBlocksCTM;
|
||||
import com.cricketcraft.chisel.api.rendering.TextureSubmap;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class SubmapManagerCarpetFloor extends SubmapManagerBase<RenderBlocksCTM> {
|
||||
|
||||
private static RenderBlocksCTM rb = new RenderBlocksCTM();
|
||||
@SideOnly(Side.CLIENT)
|
||||
private RenderBlocksCTM rb;
|
||||
|
||||
private TextureSubmap submap;
|
||||
private TextureSubmap submapSmall;
|
||||
@@ -19,6 +23,7 @@ public class SubmapManagerCarpetFloor extends SubmapManagerBase<RenderBlocksCTM>
|
||||
|
||||
public SubmapManagerCarpetFloor(String color) {
|
||||
this.color = color;
|
||||
this.rb = new RenderBlocksCTM();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -32,6 +37,7 @@ public class SubmapManagerCarpetFloor extends SubmapManagerBase<RenderBlocksCTM>
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(String modName, Block block, IIconRegister register) {
|
||||
String path = modName + ":carpet/" + color;
|
||||
submap = new TextureSubmap(register.registerIcon(path + "-ctm"), 4, 4);
|
||||
@@ -39,6 +45,7 @@ public class SubmapManagerCarpetFloor extends SubmapManagerBase<RenderBlocksCTM>
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public RenderBlocksCTM createRenderContext(RenderBlocks rendererOld, IBlockAccess world) {
|
||||
rb.renderMaxY = 1f / 16f;
|
||||
rb.submap = submap;
|
||||
|
||||
@@ -10,6 +10,8 @@ import com.cricketcraft.chisel.api.rendering.CTM;
|
||||
import com.cricketcraft.chisel.api.rendering.TextureSubmap;
|
||||
import com.cricketcraft.chisel.init.ChiselBlocks;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import static com.cricketcraft.chisel.api.rendering.Dir.*;
|
||||
|
||||
public class SubmapManagerFakeController extends SubmapManagerBase<RenderBlocks> {
|
||||
@@ -41,6 +43,7 @@ public class SubmapManagerFakeController extends SubmapManagerBase<RenderBlocks>
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(String modName, Block block, IIconRegister register) {
|
||||
map = new TextureSubmap(register.registerIcon(modName + ":futura/WIP/controllerWIP-ctm"), 2, 2);
|
||||
}
|
||||
|
||||
@@ -11,9 +11,13 @@ import com.cricketcraft.chisel.api.rendering.ISubmapManager;
|
||||
import com.cricketcraft.chisel.api.rendering.RenderBlocksCTM;
|
||||
import com.cricketcraft.chisel.api.rendering.TextureSubmap;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class SubmapManagerSlab implements ISubmapManager<RenderBlocksCTM> {
|
||||
|
||||
private static RenderBlocksCTM rb = new RenderBlocksCTM();
|
||||
@SideOnly(Side.CLIENT)
|
||||
private RenderBlocksCTM rb;
|
||||
|
||||
private TextureSubmap submap;
|
||||
private TextureSubmap submapSmall;
|
||||
@@ -22,6 +26,7 @@ public class SubmapManagerSlab implements ISubmapManager<RenderBlocksCTM> {
|
||||
|
||||
public SubmapManagerSlab(String texture) {
|
||||
this.texture = texture;
|
||||
this.rb = new RenderBlocksCTM();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -35,6 +40,7 @@ public class SubmapManagerSlab implements ISubmapManager<RenderBlocksCTM> {
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(String modName, Block block, IIconRegister register) {
|
||||
String path = modName + ":" + texture;
|
||||
submap = new TextureSubmap(register.registerIcon(path + "-ctm"), 4, 4);
|
||||
@@ -43,6 +49,7 @@ public class SubmapManagerSlab implements ISubmapManager<RenderBlocksCTM> {
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public RenderBlocksCTM createRenderContext(RenderBlocks rendererOld, IBlockAccess world) {
|
||||
rb.renderMaxY = 1f / 2f;
|
||||
rb.submap = submap;
|
||||
@@ -53,6 +60,7 @@ public class SubmapManagerSlab implements ISubmapManager<RenderBlocksCTM> {
|
||||
private boolean hadOverride = false;
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void preRenderSide(RenderBlocksCTM renderer, IBlockAccess world, int x, int y, int z, ForgeDirection side) {
|
||||
if (side.ordinal() < 2 && !renderer.rendererOld.hasOverrideBlockTexture()) {
|
||||
renderer.rendererOld.setOverrideBlockTexture(sideTexture);
|
||||
@@ -63,6 +71,7 @@ public class SubmapManagerSlab implements ISubmapManager<RenderBlocksCTM> {
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void postRenderSide(RenderBlocksCTM renderer, IBlockAccess world, int x, int y, int z, ForgeDirection side) {
|
||||
if (!hadOverride) {
|
||||
renderer.rendererOld.clearOverrideBlockTexture();
|
||||
|
||||
Reference in new issue
Block a user