Update to conform to new CTMLib layout. Bit hacky, unsure if final

This commit is contained in:
tterrag1098 committed 2015-07-15 00:35:00 -04:00
1 parent 8ab3c7159b
commit 9d9172fc75
23 files changed
+97 -142

No files matched your search

@@ -5,12 +5,13 @@ import net.minecraft.world.IBlockAccess;
import com.cricketcraft.chisel.api.carving.CarvableHelper;
import com.cricketcraft.chisel.api.carving.IVariationInfo;
import com.cricketcraft.ctmlib.ICTMBlock;
import com.cricketcraft.ctmlib.ISubmapManager;
/**
* To be implemented on blocks that can be chiseled and need advanced metadata to variation mapping. Currently not very usable without internal classes.
*/
public interface ICarvable {
public interface ICarvable extends ICTMBlock<IVariationInfo> {
/**
* Gets a {@link ISubmapManager} from this block, based on metadata.
@@ -31,15 +32,12 @@ public interface ICarvable {
* The metadata of the block
* @return The {@link ISubmapManager} that represents this block in the world.
*/
public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata);
public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata);
/**
* Gets the {@link ISubmapManager} for this block when it is in item form.
*
* @param stack
* The {@link ItemStack} representing this block;
* @return A {@link ISubmapManager}
*/
public IVariationInfo getVariation(ItemStack stack);
public IVariationInfo getManager(int meta);
}
@@ -142,7 +142,7 @@ public class CarvableHelper {
if (info == null)
return getMissingIcon();
return info.getSubmapManager().getIcon(side, metadata);
return info.getIcon(side, metadata);
}
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) {
@@ -155,7 +155,7 @@ public class CarvableHelper {
if (info == null)
return getMissingIcon();
return info.getSubmapManager().getIcon(world, x, y, z, side);
return info.getIcon(world, x, y, z, side);
}
public void registerAll(Block block, String name) {
@@ -199,7 +199,7 @@ public class CarvableHelper {
@SideOnly(Side.CLIENT)
public void registerBlockIcons(String modName, Block block, IIconRegister register) {
for (IVariationInfo info : infoList) {
info.getSubmapManager().registerIcons(modName, block, register);
info.registerIcons(modName, block, register);
}
}
@@ -3,9 +3,7 @@ package com.cricketcraft.chisel.api.carving;
import com.cricketcraft.chisel.api.rendering.TextureType;
import com.cricketcraft.ctmlib.ISubmapManager;
public interface IVariationInfo {
ISubmapManager getSubmapManager();
public interface IVariationInfo extends ISubmapManager {
ICarvingVariation getVariation();
@@ -1,6 +1,12 @@
package com.cricketcraft.chisel.api.carving;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.common.util.ForgeDirection;
import com.cricketcraft.chisel.api.rendering.TextureType;
import com.cricketcraft.ctmlib.ISubmapManager;
@@ -33,13 +39,40 @@ public class VariationInfoBase implements IVariationInfo {
return StatCollector.translateToLocal(unlocDesc);
}
@Override
public ISubmapManager getSubmapManager() {
return manager;
}
@Override
public TextureType getType() {
return type;
}
// ISubmapManager delegation
@Override
public IIcon getIcon(int side, int meta) {
return manager.getIcon(side, meta);
}
@Override
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) {
return manager.getIcon(world, x, y, z, side);
}
@Override
public void registerIcons(String modName, Block block, IIconRegister register) {
manager.registerIcons(modName, block, register);
}
@Override
public RenderBlocks createRenderContext(RenderBlocks rendererOld, Block block, IBlockAccess world) {
return manager.createRenderContext(rendererOld, block, world);
}
@Override
public void preRenderSide(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, ForgeDirection side) {
manager.preRenderSide(renderer, world, x, y, z, side);
}
@Override
public void postRenderSide(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, ForgeDirection side) {
manager.postRenderSide(renderer, world, x, y, z, side);
}
}
@@ -7,12 +7,10 @@ import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import com.cricketcraft.chisel.Chisel;
import com.cricketcraft.chisel.api.ChiselAPIProps;
import com.cricketcraft.chisel.api.ICarvable;
import com.cricketcraft.chisel.api.carving.CarvableHelper;
import com.cricketcraft.chisel.api.carving.IVariationInfo;
@@ -84,13 +82,13 @@ public class BlockCarvable extends Block implements ICarvable {
}
@Override
public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) {
public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) {
return carverHelper.getVariation(metadata);
}
@Override
public IVariationInfo getVariation(ItemStack stack) {
return carverHelper.getVariation(stack.getItemDamage());
public IVariationInfo getManager(int meta) {
return carverHelper.getVariation(meta);
}
public static class SoundType extends Block.SoundType {
@@ -180,5 +178,4 @@ public class BlockCarvable extends Block implements ICarvable {
return this.soundNamePlace;
}
}
}
@@ -63,12 +63,12 @@ public class BlockCarvableBeacon extends BlockBeacon implements ICarvable {
}
@Override
public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) {
public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) {
return carverHelper.getVariation(metadata);
}
@Override
public IVariationInfo getVariation(ItemStack stack) {
return carverHelper.getVariation(stack.getItemDamage());
public IVariationInfo getManager(int meta) {
return carverHelper.getVariation(meta);
}
}
@@ -7,7 +7,6 @@ import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
@@ -55,12 +54,12 @@ public class BlockCarvableCarpet extends BlockCarpet implements ICarvable {
}
@Override
public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) {
public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) {
return carverHelper.getVariation(metadata);
}
@Override
public IVariationInfo getVariation(ItemStack stack) {
return carverHelper.getVariation(stack.getItemDamage());
public IVariationInfo getManager(int meta) {
return carverHelper.getVariation(meta);
}
}
@@ -7,7 +7,6 @@ import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
@@ -73,13 +72,13 @@ public class BlockCarvableGlass extends BlockGlass implements ICarvable {
}
@Override
public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) {
public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) {
return carverHelper.getVariation(metadata);
}
@Override
public IVariationInfo getVariation(ItemStack stack) {
return carverHelper.getVariation(stack.getItemDamage());
public IVariationInfo getManager(int meta) {
return carverHelper.getVariation(meta);
}
@Override
@@ -8,7 +8,6 @@ import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.stats.StatList;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
@@ -64,12 +63,12 @@ public class BlockCarvableIce extends BlockIce implements ICarvable {
}
@Override
public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) {
public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) {
return carverHelper.getVariation(metadata);
}
@Override
public IVariationInfo getVariation(ItemStack stack) {
return carverHelper.getVariation(stack.getItemDamage());
public IVariationInfo getManager(int meta) {
return carverHelper.getVariation(meta);
}
}
@@ -10,7 +10,6 @@ import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.stats.StatList;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
@@ -72,12 +71,12 @@ public class BlockCarvablePackedIce extends Block implements ICarvable {
}
@Override
public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) {
public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) {
return carverHelper.getVariation(metadata);
}
@Override
public IVariationInfo getVariation(ItemStack stack) {
return carverHelper.getVariation(stack.getItemDamage());
public IVariationInfo getManager(int meta) {
return carverHelper.getVariation(meta);
}
}
@@ -7,7 +7,6 @@ import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
@@ -70,12 +69,12 @@ public class BlockCarvablePane extends BlockPane implements ICarvable {
}
@Override
public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) {
public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) {
return carverHelper.getVariation(metadata);
}
@Override
public IVariationInfo getVariation(ItemStack stack) {
return carverHelper.getVariation(stack.getItemDamage());
public IVariationInfo getManager(int meta) {
return carverHelper.getVariation(meta);
}
}
@@ -111,13 +111,13 @@ public class BlockCarvablePumpkin extends BlockPumpkin implements ICarvable {
}
@Override
public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) {
public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) {
return carverHelper.getVariation(metadata);
}
@Override
public IVariationInfo getVariation(ItemStack stack) {
return carverHelper.getVariation(stack.getItemDamage());
public IVariationInfo getManager(int meta) {
return carverHelper.getVariation(meta);
}
public void setInformation(String textureLocation) {
@@ -7,7 +7,6 @@ import net.minecraft.block.BlockSand;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
@@ -74,13 +73,13 @@ public class BlockCarvableSand extends BlockSand implements ICarvable {
}
@Override
public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) {
public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) {
return carverHelper.getVariation(metadata);
}
@Override
public IVariationInfo getVariation(ItemStack stack) {
return carverHelper.getVariation(stack.getItemDamage());
public IVariationInfo getManager(int meta) {
return carverHelper.getVariation(meta);
}
public static class SoundType extends Block.SoundType {
@@ -82,12 +82,12 @@ public class BlockCarvableStairs extends BlockStairs implements ICarvable {
}
@Override
public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) {
public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) {
return carverHelper.getVariation(blockMeta + (metadata / 8));
}
@Override
public IVariationInfo getVariation(ItemStack stack) {
return carverHelper.getVariation(blockMeta + (stack.getItemDamage() / 8));
public IVariationInfo getManager(int meta) {
return carverHelper.getVariation(blockMeta + (meta / 8));
}
}
@@ -4,7 +4,6 @@ import java.util.Random;
import net.minecraft.block.BlockTorch;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.ItemStack;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
@@ -35,13 +34,13 @@ public class BlockCarvableTorch extends BlockTorch implements ICarvable {
}
@Override
public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) {
public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) {
return carverHelper.getVariation(metadata);
}
@Override
public IVariationInfo getVariation(ItemStack stack) {
return carverHelper.getVariation(stack.getItemDamage());
public IVariationInfo getManager(int meta) {
return carverHelper.getVariation(meta);
}
@Override
@@ -7,7 +7,6 @@ import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
@@ -54,12 +53,12 @@ public class BlockMultiLayer extends BlockMultiLayerBase implements ICarvable {
}
@Override
public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) {
public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) {
return carverHelper.getVariation(metadata);
}
@Override
public IVariationInfo getVariation(ItemStack stack) {
return carverHelper.getVariation(stack.getItemDamage());
public IVariationInfo getManager(int meta) {
return carverHelper.getVariation(meta);
}
}
@@ -215,12 +215,12 @@ public class BlockPresent extends Block implements ICarvable {
}
@Override
public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) {
public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) {
return carverHelper.getVariation(metadata);
}
@Override
public IVariationInfo getVariation(ItemStack stack) {
return carverHelper.getVariation(stack.getItemDamage());
public IVariationInfo getManager(int meta) {
return carverHelper.getVariation(meta);
}
}
@@ -1,78 +1,14 @@
package com.cricketcraft.chisel.client.render;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.item.ItemStack;
import net.minecraft.world.IBlockAccess;
import org.lwjgl.opengl.GL11;
import com.cricketcraft.chisel.api.ICarvable;
import com.cricketcraft.chisel.api.carving.IVariationInfo;
import com.cricketcraft.chisel.api.rendering.ClientUtils;
import com.cricketcraft.ctmlib.Drawing;
import com.cricketcraft.ctmlib.RenderBlocksCTM;
import com.cricketcraft.ctmlib.CTMRenderer;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.client.registry.RenderingRegistry;
public class RendererCTM implements ISimpleBlockRenderingHandler {
public RenderBlocksCTM rendererCTM = new RenderBlocksCTM();
public class RendererCTM extends CTMRenderer {
public RendererCTM() {
if (ClientUtils.renderCTMId == 0) {
ClientUtils.renderCTMId = RenderingRegistry.getNextAvailableRenderId();
}
}
@Override
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
IVariationInfo var = ((ICarvable) block).getVariation(new ItemStack(block, 1, metadata));
RenderBlocks rb = getContext(renderer, block, Minecraft.getMinecraft().theWorld, var, metadata);
Drawing.drawBlock(block, metadata, rb);
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
rb.unlockBlockBounds();
}
@Override
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks rendererOld) {
int meta = world.getBlockMetadata(x, y, z);
IVariationInfo var = ((ICarvable) block).getVariation(world, x, y, z, meta);
RenderBlocks rb = getContext(rendererOld, block, world, var, meta);
boolean ret = rb.renderStandardBlock(block, x, y, z);
rb.unlockBlockBounds();
return ret;
}
private RenderBlocks getContext(RenderBlocks rendererOld, Block block, IBlockAccess world, IVariationInfo var, int meta) {
if (!rendererOld.hasOverrideBlockTexture() && var != null) {
RenderBlocks rb = var.getSubmapManager().createRenderContext(rendererOld, block, world);
if (rb != null && rb != rendererOld) {
rb.blockAccess = world;
if (rendererOld.lockBlockBounds) {
rb.overrideBlockBounds(rendererOld.renderMinX, rendererOld.renderMinY, rendererOld.renderMinZ, rendererOld.renderMaxX, rendererOld.renderMaxY, rendererOld.renderMaxZ);
}
if (rb instanceof RenderBlocksCTM) {
RenderBlocksCTM rbctm = (RenderBlocksCTM) rb;
rbctm.manager = rbctm.manager == null ? var.getSubmapManager() : rbctm.manager;
rbctm.rendererOld = rbctm.rendererOld == null ? rendererOld : rbctm.rendererOld;
}
return rb;
}
}
return rendererOld;
}
@Override
public boolean shouldRender3DInInventory(int renderId) {
return true;
}
@Override
public int getRenderId() {
return ClientUtils.renderCTMId;
super(RenderingRegistry.getNextAvailableRenderId());
ClientUtils.renderCTMId = getRenderId();
}
}
@@ -1,6 +1,7 @@
package com.cricketcraft.chisel.client.render;
import com.cricketcraft.chisel.Chisel;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
@@ -9,9 +10,9 @@ import net.minecraft.world.IBlockAccess;
import com.cricketcraft.chisel.init.ChiselBlocks;
import com.cricketcraft.ctmlib.CTM;
import com.cricketcraft.ctmlib.TextureSubmap;
import com.google.common.base.Optional;
import static com.cricketcraft.ctmlib.Dir.*;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -23,13 +24,13 @@ public class SubmapManagerFakeController extends SubmapManagerBase {
private String texturePath;
public SubmapManagerFakeController(int meta, String texture) {
ctm.disableObscuredFaceCheck = true;
ctm.disableObscuredFaceCheck = Optional.of(true);
this.meta = meta;
texturePath = texture;
}
public SubmapManagerFakeController(int meta) {
ctm.disableObscuredFaceCheck = true;
ctm.disableObscuredFaceCheck = Optional.of(true);
this.meta = meta;
}
@@ -35,7 +35,7 @@ public class WailaCompat implements IWailaDataProvider {
if (accessor.getBlock() instanceof ICarvable) {
ICarvable block = (ICarvable) accessor.getBlock();
MovingObjectPosition pos = accessor.getPosition();
strings.add(block.getVariation(accessor.getWorld(), pos.blockX, pos.blockY, pos.blockZ, accessor.getMetadata()).getDescription());
strings.add(block.getManager(accessor.getWorld(), pos.blockX, pos.blockY, pos.blockZ, accessor.getMetadata()).getDescription());
}
return strings;
}
@@ -47,7 +47,7 @@ public class ItemCarvable extends ItemBlock {
return;
ICarvable carvable = (ICarvable) block;
IVariationInfo var = carvable.getVariation(stack);
IVariationInfo var = carvable.getManager(stack.getItemDamage());
if (var == null)
return;
@@ -53,7 +53,7 @@ public class ItemCarvablePumpkin extends ItemBlock {
return;
ICarvable carvable = (ICarvable) block;
IVariationInfo var = carvable.getVariation(stack);
IVariationInfo var = carvable.getManager(stack.getItemDamage());
if (var == null)
return;