Major change is addition of fractal rift rendering, currently first pass. Curves are registered and pregenerated in mod_pocketDim. Rifts look up these curves, choose one, rotate it, and render it. The render is a TESR that does stuff. Hard to explain, look at RenderRift in the code and look at the actual rifts in game to get an idea of what it does. I had to add a triangulation library to accomplish this. Will hopefully do something else that drag around all this. (I tried(and used comments))
55 lines
2.2 KiB
Java
55 lines
2.2 KiB
Java
package StevenDimDoors.mod_pocketDimClient;
|
|
import net.minecraft.tileentity.TileEntity;
|
|
import net.minecraft.world.World;
|
|
import StevenDimDoors.mod_pocketDim.CommonProxy;
|
|
import StevenDimDoors.mod_pocketDim.blocks.BaseDimDoor;
|
|
import StevenDimDoors.mod_pocketDim.core.DimLink;
|
|
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
|
import StevenDimDoors.mod_pocketDim.ticking.MobMonolith;
|
|
import StevenDimDoors.mod_pocketDim.tileentities.TileEntityDimDoor;
|
|
import StevenDimDoors.mod_pocketDim.tileentities.TileEntityRift;
|
|
import StevenDimDoors.mod_pocketDim.tileentities.TileEntityTransTrapdoor;
|
|
import StevenDimDoors.mod_pocketDim.watcher.ClientLinkData;
|
|
import cpw.mods.fml.client.registry.ClientRegistry;
|
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
|
|
|
|
|
public class ClientProxy extends CommonProxy
|
|
{
|
|
|
|
@Override
|
|
public void registerRenderers()
|
|
{
|
|
//MinecraftForgeClient.preloadTexture(BLOCK_PNG);
|
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDimDoor.class, new RenderDimDoor());
|
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTransTrapdoor.class, new RenderTransTrapdoor());
|
|
//This code activates the new rift rendering, as well as a bit of code in TileEntityRift
|
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRift.class, new RenderRift());
|
|
|
|
//MinecraftForgeClient.preloadTexture(RIFT2_PNG);
|
|
RenderingRegistry.registerEntityRenderingHandler(MobMonolith.class, new RenderMobObelisk(.5F));
|
|
RenderingRegistry.registerBlockHandler(new PrivatePocketRender(RenderingRegistry.getNextAvailableRenderId()));
|
|
|
|
}
|
|
|
|
@Override
|
|
public void updateDoorTE(BaseDimDoor door, World world, int x, int y, int z)
|
|
{
|
|
TileEntity tile = world.getBlockTileEntity(x, y, z);
|
|
if (tile instanceof TileEntityDimDoor)
|
|
{
|
|
DimLink link = PocketManager.getLink(x, y, z, world);
|
|
int metadata = world.getBlockMetadata(x, y, z);
|
|
TileEntityDimDoor dimTile = (TileEntityDimDoor) tile;
|
|
dimTile.openOrClosed = door.isDoorOnRift(world, x, y, z)&&door.isUpperDoorBlock(metadata);
|
|
dimTile.orientation = door.getFullMetadata(world, x, y, z) & 7;
|
|
dimTile.lockStatus = door.getLockStatus(world, x, y, z);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void printStringClient(String string)
|
|
{
|
|
}
|
|
|
|
} |