More SideOnly safety, should fix #309 again

This commit is contained in:
tterrag1098 committed 2015-04-26 21:46:18 -04:00
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();