New Render for the Celestial Gateway. Still does nothing...

This commit is contained in:
Vasco Lavos committed 2014-01-10 17:00:25 +00:00
1 parent 6b1f3a1122
commit 6fafd208ff
8 files changed
+165 -4

No files matched your search

@@ -36,10 +36,12 @@ import vazkii.tinkerer.client.render.tile.RenderTileEnchanter;
import vazkii.tinkerer.client.render.tile.RenderTileFunnel;
import vazkii.tinkerer.client.render.tile.RenderTileMagnet;
import vazkii.tinkerer.client.render.tile.RenderTileRepairer;
import vazkii.tinkerer.client.render.tile.kami.RenderTileWarpGate;
import vazkii.tinkerer.common.block.tile.TileEnchanter;
import vazkii.tinkerer.common.block.tile.TileFunnel;
import vazkii.tinkerer.common.block.tile.TileMagnet;
import vazkii.tinkerer.common.block.tile.TileRepairer;
import vazkii.tinkerer.common.block.tile.kami.TileWarpGate;
import vazkii.tinkerer.common.block.tile.tablet.TileAnimationTablet;
import vazkii.tinkerer.common.core.handler.ConfigHandler;
import vazkii.tinkerer.common.core.proxy.TTCommonProxy;
@@ -88,6 +90,10 @@ public class TTClientProxy extends TTCommonProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileEnchanter.class, new RenderTileEnchanter());
ClientRegistry.bindTileEntitySpecialRenderer(TileFunnel.class, new RenderTileFunnel());
ClientRegistry.bindTileEntitySpecialRenderer(TileRepairer.class, new RenderTileRepairer());
if(ConfigHandler.enableKami) {
ClientRegistry.bindTileEntitySpecialRenderer(TileWarpGate.class, new RenderTileWarpGate());
}
}
private void registerRenderIDs() {
@@ -0,0 +1,84 @@
/**
* This class was created by <Vazkii>. It's distributed as
* part of the ThaumicTinkerer Mod.
*
* ThaumicTinkerer is Open Source and distributed under a
* Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License
* (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB)
*
* ThaumicTinkerer is a Derivative Work on Thaumcraft 4.
* Thaumcraft 4 (c) Azanor 2012
* (http://www.minecraftforum.net/topic/1585216-)
*
* File Created @ [Jan 10, 2014, 4:41:02 PM (GMT)]
*/
package vazkii.tinkerer.client.model.kami;
import java.awt.Color;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.Tessellator;
import org.lwjgl.opengl.GL11;
import vazkii.tinkerer.client.core.helper.ClientHelper;
public class ModelSpinningCubes extends ModelBase {
ModelRenderer spinningCube;
public ModelSpinningCubes() {
spinningCube = new ModelRenderer(this, 42, 0);
spinningCube.addBox(0F, 0F, 0F, 1, 1, 1);
spinningCube.setRotationPoint(0F, 0F, 0F);
spinningCube.setTextureSize(64, 64);
spinningCube.mirror = true;
}
public void render() {
// NO-OP
}
public void renderSpinningCubes(int cubes, float hue) {
GL11.glDisable(GL11.GL_TEXTURE_2D);
final float modifier = 6F;
final float rotationModifier = 0.25F;
final float radiusBase = 0.7F;
final float radiusMod = 0.1F;
long ticks = ClientHelper.clientPlayer().ticksExisted;
float offsetPerCube = 360 / cubes;
GL11.glPushMatrix();
GL11.glTranslatef(-0.025F, 0.85F, -0.025F);
for(int i = 0; i < cubes; i++) {
float offset = offsetPerCube * i;
float deg = (int) (ticks / rotationModifier % 360F + offset);
float rad = deg * (float) Math.PI / 180F;
float radiusX = (float) (radiusBase + radiusMod * Math.sin(ticks / modifier));
float radiusZ = (float) (radiusBase + radiusMod * Math.cos(ticks / modifier));
float x = (float) (radiusX * Math.cos(rad));
float z = (float) (radiusZ * Math.sin(rad));
float y = (float) Math.cos((ticks + 50 * i) / 5F) / 10F;
GL11.glPushMatrix();
GL11.glTranslatef(x, y, z);
float xRotate = (float) Math.sin(ticks * rotationModifier) / 2F;
float yRotate = (float) Math.max(0.6F, Math.sin(ticks * 0.1F) / 2F + 0.5F);
float zRotate = (float) Math.cos(ticks * rotationModifier) / 2F;
GL11.glRotatef(deg, xRotate, yRotate, zRotate);
GL11.glColor3f(1F, 1F, 1F);
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 255F, 0.0038909912109375F);
spinningCube.render(1F / 16F);
GL11.glPopMatrix();
}
GL11.glPopMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D);
}
}
@@ -12,7 +12,7 @@
*
* File Created @ [Dec 25, 2013, 00:18:06 PM (GMT)]
*/
package vazkii.tinkerer.client.model;
package vazkii.tinkerer.client.model.kami;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.model.ModelRenderer;
@@ -53,7 +53,6 @@ public class RenderWarpGate extends BlockRenderer implements ISimpleBlockRenderi
@Override
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
System.out.println("call");
block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
renderer.setRenderBoundsFromBlock(block);
renderer.renderStandardBlock(block, x, y, z);
@@ -0,0 +1,38 @@
/**
* This class was created by <Vazkii>. It's distributed as
* part of the ThaumicTinkerer Mod.
*
* ThaumicTinkerer is Open Source and distributed under a
* Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License
* (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB)
*
* ThaumicTinkerer is a Derivative Work on Thaumcraft 4.
* Thaumcraft 4 (c) Azanor 2012
* (http://www.minecraftforum.net/topic/1585216-)
*
* File Created @ [Jan 10, 2014, 4:44:15 PM (GMT)]
*/
package vazkii.tinkerer.client.render.tile.kami;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import org.lwjgl.opengl.GL11;
import vazkii.tinkerer.client.model.kami.ModelSpinningCubes;
public class RenderTileWarpGate extends TileEntitySpecialRenderer {
ModelSpinningCubes cubes = new ModelSpinningCubes();
@Override
public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) {
GL11.glPushMatrix();
GL11.glColor4f(1F, 1F, 1F, 1F);
GL11.glTranslated(x + 0.5, y + 2.5, z + 0.5);
GL11.glRotatef(180F, 1F, 0F, 1F);
cubes.renderSpinningCubes(12, 60F / 360F);
GL11.glPopMatrix();
}
}
@@ -34,6 +34,7 @@ import vazkii.tinkerer.common.block.transvector.BlockTransvectorDislocator;
import vazkii.tinkerer.common.block.transvector.BlockTransvectorInterface;
import vazkii.tinkerer.common.core.handler.ConfigHandler;
import vazkii.tinkerer.common.item.ItemBlockMagnet;
import vazkii.tinkerer.common.item.kami.ItemBlockWarpGate;
import vazkii.tinkerer.common.item.quartz.ItemDarkQuartzBlock;
import vazkii.tinkerer.common.item.quartz.ItemDarkQuartzSlab;
import vazkii.tinkerer.common.lib.LibBlockIDs;
@@ -106,7 +107,7 @@ public final class ModBlocks {
GameRegistry.registerBlock(platform, LibBlockNames.PLATFORM);
if(ConfigHandler.enableKami) {
GameRegistry.registerBlock(warpGate, LibBlockNames.WARP_GATE);
GameRegistry.registerBlock(warpGate, ItemBlockWarpGate.class, LibBlockNames.WARP_GATE);
}
}
@@ -0,0 +1,33 @@
/**
* This class was created by <Vazkii>. It's distributed as
* part of the ThaumicTinkerer Mod.
*
* ThaumicTinkerer is Open Source and distributed under a
* Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License
* (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB)
*
* ThaumicTinkerer is a Derivative Work on Thaumcraft 4.
* Thaumcraft 4 (c) Azanor 2012
* (http://www.minecraftforum.net/topic/1585216-)
*
* File Created @ [Jan 10, 2014, 4:39:07 PM (GMT)]
*/
package vazkii.tinkerer.common.item.kami;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import vazkii.tinkerer.client.core.proxy.TTClientProxy;
public class ItemBlockWarpGate extends ItemBlock {
public ItemBlockWarpGate(int par1) {
super(par1);
}
@Override
public EnumRarity getRarity(ItemStack par1ItemStack) {
return TTClientProxy.kamiRarity;
}
}
@@ -23,7 +23,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
import vazkii.tinkerer.client.model.ModelWings;
import vazkii.tinkerer.client.model.kami.ModelWings;
import vazkii.tinkerer.common.item.ModItems;
import vazkii.tinkerer.common.item.foci.ItemFocusDeflect;
import cpw.mods.fml.relauncher.Side;