Stability
This commit is contained in:
parent
dd7d35021e
commit
9e642bb13b
@ -92,27 +92,27 @@ public class RenderDisplay implements ISimpleBlockRenderingHandler
|
||||
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, -1F, 0.0F);
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(0, meta));
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 1.0F, 0.0F);
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(1, meta));
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, -1F);
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(2, meta));
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, 1.0F);
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(3, meta));
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(-1F, 0.0F, 0.0F);
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(4, meta));
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(1.0F, 0.0F, 0.0F);
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(5, meta));
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
|
||||
tessellator.draw();
|
||||
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
|
||||
}
|
||||
|
@ -81,27 +81,27 @@ public class RenderShelf implements ISimpleBlockRenderingHandler
|
||||
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, -1F, 0.0F);
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(0, meta));
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 1.0F, 0.0F);
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(1, meta));
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, -1F);
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(2, meta));
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, 1.0F);
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(3, meta));
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(-1F, 0.0F, 0.0F);
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(4, meta));
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(1.0F, 0.0F, 0.0F);
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(5, meta));
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
|
||||
tessellator.draw();
|
||||
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
|
||||
}
|
||||
|
@ -63,6 +63,6 @@ public class DisplayBlock extends InventoryBlock
|
||||
@Override
|
||||
public void registerIcons (IconRegister par1IconRegister)
|
||||
{
|
||||
this.blockIcon = par1IconRegister.registerIcon(Block.blockSteel.getUnlocalizedName());
|
||||
this.blockIcon = par1IconRegister.registerIcon(Block.blockIron.getUnlocalizedName());
|
||||
}
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ public class Shelf extends BlockContainer
|
||||
return new ToolrackLogic();
|
||||
}
|
||||
|
||||
/*public int getBlockTextureFromSideAndMetadata(int side, int meta)
|
||||
/*public int getIcon(int side, int meta)
|
||||
{
|
||||
return 6;
|
||||
}
|
||||
|
@ -174,7 +174,7 @@ public class BlockSkinRenderHelper
|
||||
render.colorRedTopRight *= f6;
|
||||
render.colorGreenTopRight *= f6;
|
||||
render.colorBlueTopRight *= f6;
|
||||
render.renderBottomFace(block, (double)xMin, (double)yMin, (double)zMin, block.getBlockTextureFromSideAndMetadata(0, metadata));
|
||||
render.renderBottomFace(block, (double)xMin, (double)yMin, (double)zMin, block.getIcon(0, metadata));
|
||||
flag = true;
|
||||
}
|
||||
|
||||
@ -278,7 +278,7 @@ public class BlockSkinRenderHelper
|
||||
render.colorRedTopRight *= f6;
|
||||
render.colorGreenTopRight *= f6;
|
||||
render.colorBlueTopRight *= f6;
|
||||
render.renderTopFace(block, (double)xMin, (double)yMin, (double)zMin, block.getBlockTextureFromSideAndMetadata(1, metadata));
|
||||
render.renderTopFace(block, (double)xMin, (double)yMin, (double)zMin, block.getIcon(1, metadata));
|
||||
flag = true;
|
||||
}
|
||||
|
||||
@ -395,7 +395,7 @@ public class BlockSkinRenderHelper
|
||||
render.colorRedTopRight *= f6;
|
||||
render.colorGreenTopRight *= f6;
|
||||
render.colorBlueTopRight *= f6;
|
||||
icon = block.getBlockTextureFromSideAndMetadata(2, metadata);
|
||||
icon = block.getIcon(2, metadata);
|
||||
render.renderEastFace(block, (double)xMin, (double)yMin, (double)zMin, icon);
|
||||
|
||||
flag = true;
|
||||
@ -512,7 +512,7 @@ public class BlockSkinRenderHelper
|
||||
render.colorRedTopRight *= f6;
|
||||
render.colorGreenTopRight *= f6;
|
||||
render.colorBlueTopRight *= f6;
|
||||
icon = block.getBlockTextureFromSideAndMetadata(3, metadata);
|
||||
icon = block.getIcon(3, metadata);
|
||||
render.renderWestFace(block, (double)xMin, (double)yMin, (double)zMin, icon);
|
||||
|
||||
flag = true;
|
||||
@ -629,7 +629,7 @@ public class BlockSkinRenderHelper
|
||||
render.colorRedTopRight *= f6;
|
||||
render.colorGreenTopRight *= f6;
|
||||
render.colorBlueTopRight *= f6;
|
||||
icon = block.getBlockTextureFromSideAndMetadata(4, metadata);
|
||||
icon = block.getIcon(4, metadata);
|
||||
render.renderNorthFace(block, (double)xMin, (double)yMin, (double)zMin, icon);
|
||||
|
||||
flag = true;
|
||||
@ -746,7 +746,7 @@ public class BlockSkinRenderHelper
|
||||
render.colorRedTopRight *= f6;
|
||||
render.colorGreenTopRight *= f6;
|
||||
render.colorBlueTopRight *= f6;
|
||||
icon = block.getBlockTextureFromSideAndMetadata(5, metadata);
|
||||
icon = block.getIcon(5, metadata);
|
||||
render.renderSouthFace(block, (double)xMin, (double)yMin, (double)zMin, icon);
|
||||
|
||||
flag = true;
|
||||
@ -797,7 +797,7 @@ public class BlockSkinRenderHelper
|
||||
{
|
||||
tessellator.setBrightness(render.renderMinY > 0.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xMin, yMin - 1, zMin));
|
||||
tessellator.setColorOpaque_F(f10, f13, f16);
|
||||
render.renderBottomFace(block, (double)xMin, (double)yMin, (double)zMin, block.getBlockTextureFromSideAndMetadata(0, metadata));
|
||||
render.renderBottomFace(block, (double)xMin, (double)yMin, (double)zMin, block.getIcon(0, metadata));
|
||||
flag = true;
|
||||
}
|
||||
|
||||
@ -805,7 +805,7 @@ public class BlockSkinRenderHelper
|
||||
{
|
||||
tessellator.setBrightness(render.renderMaxY < 1.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xMin, yMin + 1, zMin));
|
||||
tessellator.setColorOpaque_F(f7, f8, f9);
|
||||
render.renderTopFace(block, (double)xMin, (double)yMin, (double)zMin, block.getBlockTextureFromSideAndMetadata(1, metadata));
|
||||
render.renderTopFace(block, (double)xMin, (double)yMin, (double)zMin, block.getIcon(1, metadata));
|
||||
flag = true;
|
||||
}
|
||||
|
||||
@ -815,7 +815,7 @@ public class BlockSkinRenderHelper
|
||||
{
|
||||
tessellator.setBrightness(render.renderMinZ > 0.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xMin, yMin, zMin - 1));
|
||||
tessellator.setColorOpaque_F(f11, f14, f17);
|
||||
render.renderEastFace(block, (double)xMin, (double)yMin, (double)zMin, block.getBlockTextureFromSideAndMetadata(2, metadata));
|
||||
render.renderEastFace(block, (double)xMin, (double)yMin, (double)zMin, block.getIcon(2, metadata));
|
||||
|
||||
flag = true;
|
||||
}
|
||||
@ -824,7 +824,7 @@ public class BlockSkinRenderHelper
|
||||
{
|
||||
tessellator.setBrightness(render.renderMaxZ < 1.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xMin, yMin, zMin + 1));
|
||||
tessellator.setColorOpaque_F(f11, f14, f17);
|
||||
render.renderWestFace(block, (double)xMin, (double)yMin, (double)zMin, block.getBlockTextureFromSideAndMetadata(3, metadata));
|
||||
render.renderWestFace(block, (double)xMin, (double)yMin, (double)zMin, block.getIcon(3, metadata));
|
||||
|
||||
flag = true;
|
||||
}
|
||||
@ -833,7 +833,7 @@ public class BlockSkinRenderHelper
|
||||
{
|
||||
tessellator.setBrightness(render.renderMinX > 0.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xMin - 1, yMin, zMin));
|
||||
tessellator.setColorOpaque_F(f12, f15, f18);
|
||||
render.renderNorthFace(block, (double)xMin, (double)yMin, (double)zMin, block.getBlockTextureFromSideAndMetadata(4, metadata));
|
||||
render.renderNorthFace(block, (double)xMin, (double)yMin, (double)zMin, block.getIcon(4, metadata));
|
||||
|
||||
flag = true;
|
||||
}
|
||||
@ -842,7 +842,7 @@ public class BlockSkinRenderHelper
|
||||
{
|
||||
tessellator.setBrightness(render.renderMaxX < 1.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xMin + 1, yMin, zMin));
|
||||
tessellator.setColorOpaque_F(f12, f15, f18);
|
||||
render.renderSouthFace(block, (double)xMin, (double)yMin, (double)zMin, block.getBlockTextureFromSideAndMetadata(5, metadata));
|
||||
render.renderSouthFace(block, (double)xMin, (double)yMin, (double)zMin, block.getIcon(5, metadata));
|
||||
|
||||
flag = true;
|
||||
}
|
||||
|
@ -34,8 +34,8 @@
|
||||
<entry key="Smeltery.Drain.name">Smeltery Drain</entry>
|
||||
<entry key="Smeltery.Brick.name">Seared Bricks</entry>
|
||||
<entry key="LavaTank.Tank.name">Lava Tank</entry>
|
||||
<entry key="LavaTank.Gague.name">Hardened Glass</entry>
|
||||
<entry key="LavaTank.Window.name">Hardened Window</entry>
|
||||
<entry key="LavaTank.Gague.name">Seared Glass</entry>
|
||||
<entry key="LavaTank.Window.name">Seared Window</entry>
|
||||
|
||||
<entry key="StorageMetals.Cobalt.name">Block of Cobalt</entry>
|
||||
<entry key="StorageMetals.Ardite.name">Block of Ardite</entry>
|
||||
|
@ -74,7 +74,8 @@ public class PHConstruct
|
||||
|
||||
golemCore = config.getBlock("Golem Core", 1481).getInt(1481);
|
||||
golemHead = config.getBlock("Golem Head", 1482).getInt(1482);
|
||||
golemPedestal = config.getBlock("Golem Pedestal", 1483).getInt(1483);
|
||||
//golemPedestal = config.getBlock("Golem Pedestal", 1483).getInt(1483);
|
||||
//redstoneBallRepeater = config.getBlock("Redstone Ball Repeater", 1483).getInt(1483);
|
||||
|
||||
stoneTorch = config.getBlock("Stone Torch", 1484).getInt(1484);
|
||||
|
||||
@ -188,6 +189,7 @@ public class PHConstruct
|
||||
|
||||
//Decoration
|
||||
public static int stoneTorch;
|
||||
public static int redstoneBallRepeater;
|
||||
|
||||
//Patterns and misc
|
||||
public static int blankPattern;
|
||||
|
@ -4,6 +4,7 @@ import mods.tinker.tconstruct.library.TConstructRegistry;
|
||||
import mods.tinker.tconstruct.library.TabTools;
|
||||
import mods.tinker.tconstruct.player.TPlayerHandler;
|
||||
import mods.tinker.tconstruct.worldgen.TBaseWorldGenerator;
|
||||
import net.minecraftforge.client.event.TextureStitchEvent;
|
||||
import net.minecraftforge.common.DimensionManager;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import cpw.mods.fml.common.Mod;
|
||||
@ -24,7 +25,7 @@ import cpw.mods.fml.common.registry.LanguageRegistry;
|
||||
* @dependencies: IC2 API, EBXL API
|
||||
*/
|
||||
|
||||
@Mod(modid = "TConstruct", name = "TConstruct", version = "1.5.1_1.2rc2")
|
||||
@Mod(modid = "TConstruct", name = "TConstruct", version = "1.5.1_1.2f2.1", dependencies = "required-after:Forge@[7.7.1.659,)")
|
||||
@NetworkMod(serverSideRequired = false, clientSideRequired = true, channels = { "TConstruct" }, packetHandler = mods.tinker.tconstruct.TPacketHandler.class)
|
||||
public class TConstruct
|
||||
{
|
||||
@ -77,7 +78,7 @@ public class TConstruct
|
||||
|
||||
content.modIntegration();
|
||||
}
|
||||
|
||||
|
||||
public static TEventHandler events;
|
||||
public static TPlayerHandler playerTracker;
|
||||
public static TContent content;
|
||||
|
@ -1,79 +1,18 @@
|
||||
package mods.tinker.tconstruct;
|
||||
|
||||
import mods.tinker.common.IPattern;
|
||||
import mods.tinker.common.RecipeRemover;
|
||||
import mods.tinker.common.*;
|
||||
import mods.tinker.common.fancyitem.FancyEntityItem;
|
||||
import mods.tinker.tconstruct.blocks.EquipBlock;
|
||||
import mods.tinker.tconstruct.blocks.LavaTankBlock;
|
||||
import mods.tinker.tconstruct.blocks.LiquidMetalFlowing;
|
||||
import mods.tinker.tconstruct.blocks.LiquidMetalStill;
|
||||
import mods.tinker.tconstruct.blocks.MetalOre;
|
||||
import mods.tinker.tconstruct.blocks.SearedBlock;
|
||||
import mods.tinker.tconstruct.blocks.SmelteryBlock;
|
||||
import mods.tinker.tconstruct.blocks.StoneTorch;
|
||||
import mods.tinker.tconstruct.blocks.TConstructBlock;
|
||||
import mods.tinker.tconstruct.blocks.ToolStationBlock;
|
||||
import mods.tinker.tconstruct.crafting.LiquidCasting;
|
||||
import mods.tinker.tconstruct.crafting.PatternBuilder;
|
||||
import mods.tinker.tconstruct.crafting.Smeltery;
|
||||
import mods.tinker.tconstruct.crafting.ToolBuilder;
|
||||
import mods.tinker.tconstruct.entity.BlueSlime;
|
||||
import mods.tinker.tconstruct.entity.Crystal;
|
||||
import mods.tinker.tconstruct.entity.LaunchedPotion;
|
||||
import mods.tinker.tconstruct.entity.NitroCreeper;
|
||||
import mods.tinker.tconstruct.entity.Skyla;
|
||||
import mods.tinker.tconstruct.items.CraftedSoilItemBlock;
|
||||
import mods.tinker.tconstruct.items.CraftingItem;
|
||||
import mods.tinker.tconstruct.items.FilledBucket;
|
||||
import mods.tinker.tconstruct.items.LavaTankItemBlock;
|
||||
import mods.tinker.tconstruct.items.LiquidItemBlock;
|
||||
import mods.tinker.tconstruct.items.MetalItemBlock;
|
||||
import mods.tinker.tconstruct.items.MetalOreItemBlock;
|
||||
import mods.tinker.tconstruct.items.MetalPattern;
|
||||
import mods.tinker.tconstruct.items.Pattern;
|
||||
import mods.tinker.tconstruct.items.PatternManual;
|
||||
import mods.tinker.tconstruct.items.SearedTableItemBlock;
|
||||
import mods.tinker.tconstruct.items.SmelteryItemBlock;
|
||||
import mods.tinker.tconstruct.items.StrangeFood;
|
||||
import mods.tinker.tconstruct.items.TitleIcon;
|
||||
import mods.tinker.tconstruct.items.ToolPart;
|
||||
import mods.tinker.tconstruct.items.ToolShard;
|
||||
import mods.tinker.tconstruct.items.ToolStationItemBlock;
|
||||
import mods.tinker.tconstruct.library.TConstructRegistry;
|
||||
import mods.tinker.tconstruct.library.ToolCore;
|
||||
import mods.tinker.tconstruct.library.client.TConstructClientRegistry;
|
||||
import mods.tinker.tconstruct.logic.CastingTableLogic;
|
||||
import mods.tinker.tconstruct.logic.FaucetLogic;
|
||||
import mods.tinker.tconstruct.logic.FrypanLogic;
|
||||
import mods.tinker.tconstruct.logic.LavaTankLogic;
|
||||
import mods.tinker.tconstruct.logic.LiquidTextureLogic;
|
||||
import mods.tinker.tconstruct.logic.MultiServantLogic;
|
||||
import mods.tinker.tconstruct.logic.PartCrafterLogic;
|
||||
import mods.tinker.tconstruct.logic.PatternChestLogic;
|
||||
import mods.tinker.tconstruct.logic.PatternShaperLogic;
|
||||
import mods.tinker.tconstruct.logic.SmelteryDrainLogic;
|
||||
import mods.tinker.tconstruct.logic.SmelteryLogic;
|
||||
import mods.tinker.tconstruct.logic.ToolStationLogic;
|
||||
import mods.tinker.tconstruct.modifiers.ModAttack;
|
||||
import mods.tinker.tconstruct.modifiers.ModBlaze;
|
||||
import mods.tinker.tconstruct.modifiers.ModBoolean;
|
||||
import mods.tinker.tconstruct.modifiers.ModDurability;
|
||||
import mods.tinker.tconstruct.modifiers.ModElectric;
|
||||
import mods.tinker.tconstruct.modifiers.ModExtraModifier;
|
||||
import mods.tinker.tconstruct.modifiers.ModInteger;
|
||||
import mods.tinker.tconstruct.modifiers.ModLapis;
|
||||
import mods.tinker.tconstruct.modifiers.ModRedstone;
|
||||
import mods.tinker.tconstruct.modifiers.ModRepair;
|
||||
import mods.tinker.tconstruct.tools.Axe;
|
||||
import mods.tinker.tconstruct.tools.BattleSign;
|
||||
import mods.tinker.tconstruct.tools.Broadsword;
|
||||
import mods.tinker.tconstruct.tools.FryingPan;
|
||||
import mods.tinker.tconstruct.tools.Longsword;
|
||||
import mods.tinker.tconstruct.tools.Mattock;
|
||||
import mods.tinker.tconstruct.tools.Pickaxe;
|
||||
import mods.tinker.tconstruct.tools.PotionLauncher;
|
||||
import mods.tinker.tconstruct.tools.Rapier;
|
||||
import mods.tinker.tconstruct.tools.Shovel;
|
||||
|
||||
import mods.tinker.tconstruct.blocks.*;
|
||||
import mods.tinker.tconstruct.crafting.*;
|
||||
import mods.tinker.tconstruct.entity.*;
|
||||
import mods.tinker.tconstruct.items.*;
|
||||
import mods.tinker.tconstruct.library.*;
|
||||
import mods.tinker.tconstruct.library.client.*;
|
||||
import mods.tinker.tconstruct.logic.*;
|
||||
import mods.tinker.tconstruct.modifiers.*;
|
||||
import mods.tinker.tconstruct.tools.*;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.MapColor;
|
||||
import net.minecraft.block.material.Material;
|
||||
@ -175,9 +114,12 @@ public class TContent implements IFuelHandler
|
||||
public static ModLapis modL;
|
||||
|
||||
//Golems
|
||||
public static Block glowSapling;
|
||||
/*public static Block glowSapling;
|
||||
public static Block glowLeaves;
|
||||
public static Block glowLog;
|
||||
public static Block glowLog;*/
|
||||
|
||||
public static Block redstoneBallRepeater;
|
||||
public static Item redstoneBallRepeaterItem;
|
||||
|
||||
public static Block golemCore;
|
||||
public static Block golemPedestal;
|
||||
@ -204,10 +146,10 @@ public class TContent implements IFuelHandler
|
||||
void createEntities ()
|
||||
{
|
||||
EntityRegistry.registerModEntity(FancyEntityItem.class, "Fancy Item", 0, TConstruct.instance, 32, 5, true);
|
||||
//EntityRegistry.registerModEntity(LaunchedPotion.class, "Launched Potion", 1, TConstruct.instance, 32, 3, true);
|
||||
EntityRegistry.registerModEntity(LaunchedPotion.class, "Launched Potion", 1, TConstruct.instance, 32, 3, true);
|
||||
EntityRegistry.registerModEntity(GolemBase.class, "Golembase", 2, TConstruct.instance, 32, 5, true);
|
||||
//EntityRegistry.registerModEntity(CartEntity.class, "Small Wagon", 1, TConstruct.instance, 32, 5, true);
|
||||
//EntityRegistry.registerModEntity(Crystal.class, "Crystal", 2, TConstruct.instance, 32, 5, true);
|
||||
//EntityRegistry.registerModEntity(Crystal.class, "Crystal", 2, TConstruct.instance, 32, 5, true);
|
||||
|
||||
//EntityRegistry.registerModEntity(Skyla.class, "Skyla", 10, TConstruct.instance, 32, 5, true);
|
||||
EntityRegistry.registerModEntity(NitroCreeper.class, "UnstableCreeper", 11, TConstruct.instance, 64, 5, true);
|
||||
@ -291,6 +233,11 @@ public class TContent implements IFuelHandler
|
||||
//Decoration
|
||||
stoneTorch = new StoneTorch(PHConstruct.stoneTorch).setUnlocalizedName("decoration.stonetorch");
|
||||
GameRegistry.registerBlock(stoneTorch, "decoration.stonetorch");
|
||||
|
||||
/*redstoneBallRepeater = new RedstoneBallRepeater(PHConstruct.redstoneBallRepeater, false).setUnlocalizedName("decoration.redstoneballrepeater");
|
||||
GameRegistry.registerBlock(redstoneBallRepeater, "decoration.redstoneballrepeater");
|
||||
Item.itemsList[PHConstruct.redstoneBallRepeater] = null;
|
||||
redstoneBallRepeaterItem = new RedstoneBallRepeaterItem(PHConstruct.redstoneBallRepeater-256).setUnlocalizedName("decoration.redstoneballrepeater");*/
|
||||
|
||||
//Golems
|
||||
/*golemCore = new GolemCoreBlock(PHConstruct.golemCore).setUnlocalizedName("golemcore");
|
||||
@ -298,9 +245,9 @@ public class TContent implements IFuelHandler
|
||||
GameRegistry.registerTileEntity(GolemCoreLogic.class, "TConstruct.GolemCore");
|
||||
|
||||
golemHead = new GolemHeadBlock(PHConstruct.golemHead).setUnlocalizedName("golemhead");
|
||||
GameRegistry.registerBlock(golemHead, "Golem Head");
|
||||
GameRegistry.registerBlock(golemHead, "Golem Head");*/
|
||||
|
||||
golemPedestal = new GolemPedestalBlock(PHConstruct.golemPedestal).setUnlocalizedName("golempedestal");
|
||||
/*golemPedestal = new GolemPedestalBlock(PHConstruct.golemPedestal).setUnlocalizedName("golempedestal");
|
||||
GameRegistry.registerBlock(golemPedestal, "Golem Pedestal");
|
||||
GameRegistry.registerTileEntity(GolemPedestalLogic.class, "TConstruct.GolemPedestal");*/
|
||||
}
|
||||
@ -357,7 +304,7 @@ public class TContent implements IFuelHandler
|
||||
strangeFood = new StrangeFood(PHConstruct.slimefood).setUnlocalizedName("tconstruct.strangefood");
|
||||
//lumberHead = new ToolPart(PHConstruct.lumberHead, 0, broadheads).setUnlocalizedName("tconstruct.LumberHead");
|
||||
Item.doorWood.setMaxStackSize(16);
|
||||
Item.doorSteel.setMaxStackSize(16);
|
||||
Item.doorIron.setMaxStackSize(16);
|
||||
Item.snowball.setMaxStackSize(64);
|
||||
Item.boat.setMaxStackSize(16);
|
||||
Item.minecartEmpty.setMaxStackSize(3);
|
||||
@ -547,7 +494,7 @@ public class TContent implements IFuelHandler
|
||||
tb.registerToolMod(new ModBoolean(new ItemStack[] { new ItemStack(materials, 1, 7) }, 6, "Lava", "\u00a74", "Auto-Smelt"));
|
||||
tb.registerToolMod(new ModInteger(new ItemStack[] { new ItemStack(materials, 1, 8) }, 8, "Necrotic", 1, "\u00a78", "Life Steal"));
|
||||
|
||||
ItemStack quartzItem = new ItemStack(Item.field_94583_ca);
|
||||
ItemStack quartzItem = new ItemStack(Item.netherQuartz);
|
||||
ItemStack quartzBlock = new ItemStack(Block.blockNetherQuartz, 1, Short.MAX_VALUE);
|
||||
tb.registerToolMod(new ModAttack("Quartz", new ItemStack[] { quartzItem }, 11, 1));
|
||||
tb.registerToolMod(new ModAttack("Quartz", new ItemStack[] { quartzItem, quartzItem }, 11, 2));
|
||||
@ -620,17 +567,19 @@ public class TContent implements IFuelHandler
|
||||
Smeltery.addMelting(Block.oreGold, 0, 550, new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 2, 1));
|
||||
|
||||
//Items
|
||||
Smeltery.addMelting(new ItemStack(Item.ingotIron, 4), Block.blockSteel.blockID, 0, 500, new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue, 0));
|
||||
Smeltery.addMelting(new ItemStack(Item.ingotIron, 4), Block.blockIron.blockID, 0, 500, new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue, 0));
|
||||
Smeltery.addMelting(new ItemStack(Item.ingotGold, 4), Block.blockGold.blockID, 0, 450, new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue, 1));
|
||||
Smeltery.addMelting(new ItemStack(Item.goldNugget, 4), Block.blockGold.blockID, 0, 150, new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue / 9, 1));
|
||||
|
||||
Smeltery.addMelting(new ItemStack(Item.bucketEmpty), Block.blockSteel.blockID, 0, 600, new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 3, 0));
|
||||
Smeltery.addMelting(new ItemStack(Item.minecartEmpty), Block.blockSteel.blockID, 0, 600, new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 5, 0));
|
||||
Smeltery.addMelting(new ItemStack(Item.bucketEmpty), Block.blockIron.blockID, 0, 600, new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 3, 0));
|
||||
Smeltery.addMelting(new ItemStack(Item.minecartEmpty), Block.blockIron.blockID, 0, 600, new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 5, 0));
|
||||
|
||||
//Blocks
|
||||
Smeltery.addMelting(Block.blockSteel, 0, 600, new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 0));
|
||||
Smeltery.addMelting(Block.blockIron, 0, 600, new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 0));
|
||||
Smeltery.addMelting(Block.blockGold, 0, 550, new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 1));
|
||||
Smeltery.addMelting(Block.obsidian, 0, 800, new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 2, 11));
|
||||
|
||||
Smeltery.addMelting(Block.ice, 0, 75, new LiquidStack(Block.waterStill.blockID, 1000, 0));
|
||||
|
||||
//Alloys
|
||||
Smeltery.addAlloyMixing(new LiquidStack(liquidMetalStill.blockID, 2, 7), new LiquidStack(liquidMetalStill.blockID, 3, 2), new LiquidStack(liquidMetalStill.blockID, 1, 3)); //Bronze
|
||||
@ -716,6 +665,9 @@ public class TContent implements IFuelHandler
|
||||
//TConstruct.
|
||||
TConstructRegistry.toolTab.init(tool);
|
||||
}
|
||||
|
||||
public static LiquidStack[] liquidIcons;
|
||||
public static String[] liquidNames;
|
||||
|
||||
public void oreRegistry ()
|
||||
{
|
||||
@ -748,11 +700,16 @@ public class TContent implements IFuelHandler
|
||||
OreDictionary.registerOre("blockAlumite", new ItemStack(metalBlock, 1, 8));
|
||||
OreDictionary.registerOre("blockSteel", new ItemStack(metalBlock, 1, 9));
|
||||
|
||||
String[] liquidNames = new String[] { "Iron", "Gold", "Copper", "Tin", "Aluminum", "Cobalt", "Ardite", "Bronze", "Brass", "Manyullyn", "Alumite", "Obsidian", "Steel" };
|
||||
for (int iter = 0; iter < liquidNames.length; iter++)
|
||||
String[] names = new String[] { "Iron", "Gold", "Copper", "Tin", "Aluminum", "Cobalt", "Ardite", "Bronze", "Brass", "Manyullyn", "Alumite", "Obsidian", "Steel" };
|
||||
liquidIcons = new LiquidStack[names.length];
|
||||
liquidNames = new String[names.length];
|
||||
for (int iter = 0; iter < names.length; iter++)
|
||||
{
|
||||
LiquidStack liquidstack = new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, iter);
|
||||
LiquidDictionary.getOrCreateLiquid("Molten " + liquidNames[iter], liquidstack);
|
||||
String name = "Molten " + names[iter];
|
||||
liquidIcons[iter] = liquidstack;
|
||||
liquidNames[iter] = name;
|
||||
LiquidDictionary.getOrCreateLiquid(name, liquidstack);
|
||||
LiquidContainerRegistry.registerLiquid(new LiquidContainerData(liquidstack, new ItemStack(buckets, 1, iter), new ItemStack(Item.bucketEmpty)));
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,7 @@ import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EntityDamageSource;
|
||||
import net.minecraft.util.EnumMovingObjectType;
|
||||
import net.minecraftforge.client.event.TextureStitchEvent;
|
||||
import net.minecraftforge.client.event.sound.SoundLoadEvent;
|
||||
import net.minecraftforge.event.Event.Result;
|
||||
import net.minecraftforge.event.ForgeSubscribe;
|
||||
@ -45,6 +46,16 @@ public class TEventHandler
|
||||
}
|
||||
}
|
||||
|
||||
@ForgeSubscribe
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void postStitch(TextureStitchEvent.Post event)
|
||||
{
|
||||
for (int i = 0; i < TContent.liquidIcons.length; i++)
|
||||
{
|
||||
TContent.liquidIcons[i].setRenderingIcon(TContent.liquidMetalStill.getIcon(0, i));
|
||||
}
|
||||
}
|
||||
|
||||
@ForgeSubscribe
|
||||
public void onHurt(LivingHurtEvent event)
|
||||
{
|
||||
|
@ -35,15 +35,15 @@ public class EquipBlock extends InventoryBlock
|
||||
return new String[] { "toolstation_top" };
|
||||
}
|
||||
|
||||
public Icon getBlockTextureFromSideAndMetadata (int side, int meta)
|
||||
public Icon getIcon (int side, int meta)
|
||||
{
|
||||
return Block.blockSteel.getBlockTextureFromSideAndMetadata(side, meta);
|
||||
return Block.blockIron.getIcon(side, meta);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons (IconRegister par1IconRegister)
|
||||
{
|
||||
//this.blockIcon = par1iconRegister.registerIcon(Block.blockSteel.getUnlocalizedName());
|
||||
//this.blockIcon = par1iconRegister.registerIcon(Block.blockIron.getUnlocalizedName());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -78,7 +78,7 @@ public class GolemCoreBlock extends InventoryBlock
|
||||
}
|
||||
|
||||
@Override
|
||||
public Icon getBlockTextureFromSideAndMetadata(int side, int meta)
|
||||
public Icon getIcon(int side, int meta)
|
||||
{
|
||||
return icons[0];
|
||||
}
|
||||
|
@ -47,7 +47,7 @@ public class GolemHeadBlock extends Block
|
||||
}
|
||||
}
|
||||
|
||||
/*public int getBlockTextureFromSideAndMetadata(int i, int j)
|
||||
/*public int getIcon(int i, int j)
|
||||
{
|
||||
if (i == 1)
|
||||
{
|
||||
@ -414,7 +414,7 @@ public class GolemHeadBlock extends Block
|
||||
mod_Golems.trigger("boom");
|
||||
return true;
|
||||
}
|
||||
if (i1 == 3 && !flag1 && ai[1][2] == Block.blockSteel.blockID && ai[1][1] == Block.blockSteel.blockID)
|
||||
if (i1 == 3 && !flag1 && ai[1][2] == Block.blockIron.blockID && ai[1][1] == Block.blockIron.blockID)
|
||||
{
|
||||
List list = world.getEntitiesWithinAABB(EntityLiving.class, AxisAlignedBB.getAABBPool().getAABB(i, j, k, (double) i + 1.0D, (double) j + 1.0D, (double) k + 1.0D).expand(4D, 16D, 4D));
|
||||
Entity entity;
|
||||
|
@ -27,7 +27,7 @@ public class GolemPedestalBlock extends InventoryBlock
|
||||
texBottom = ModLoader.addOverride("/terrain.png", "/GGE/pedestalbottom.png");*/
|
||||
}
|
||||
|
||||
/*public int getBlockTextureFromSideAndMetadata(int i, int j)
|
||||
/*public int getIcon(int i, int j)
|
||||
{
|
||||
if (i == 1)
|
||||
{
|
||||
|
@ -96,7 +96,7 @@ public class LavaTankBlock extends BlockContainer
|
||||
return TankRender.tankModelID;
|
||||
}
|
||||
|
||||
public Icon getBlockTextureFromSideAndMetadata (int side, int meta)
|
||||
public Icon getIcon (int side, int meta)
|
||||
{
|
||||
if (meta == 0)
|
||||
{
|
||||
@ -185,7 +185,7 @@ public class LavaTankBlock extends BlockContainer
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public static ItemStack consumeItem (ItemStack stack)
|
||||
|
@ -31,6 +31,7 @@ public abstract class LiquidMetalBase extends Block
|
||||
setLightValue(0.625F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerIcons (IconRegister iconRegister)
|
||||
{
|
||||
this.stillInoms = new Icon[textureNames.length];
|
||||
@ -56,10 +57,11 @@ public abstract class LiquidMetalBase extends Block
|
||||
}
|
||||
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
return getBlockTextureFromSideAndMetadata(side, meta);
|
||||
return getIcon(side, meta);
|
||||
}
|
||||
|
||||
public Icon getBlockTextureFromSideAndMetadata (int side, int meta)
|
||||
@Override
|
||||
public Icon getIcon (int side, int meta)
|
||||
{
|
||||
if (side == 0 || side == 1)
|
||||
return (stillInoms[meta]);
|
||||
|
@ -256,7 +256,7 @@ public class LiquidMetalFlowing extends LiquidMetalBase
|
||||
private boolean blockBlocksFlow (World world, int x, int y, int z)
|
||||
{
|
||||
int l = world.getBlockId(x, y, z);
|
||||
if (l == Block.doorWood.blockID || l == Block.doorSteel.blockID || l == Block.signPost.blockID || l == Block.ladder.blockID || l == Block.reed.blockID)
|
||||
if (l == Block.doorWood.blockID || l == Block.doorIron.blockID || l == Block.signPost.blockID || l == Block.ladder.blockID || l == Block.reed.blockID)
|
||||
return true;
|
||||
if (l == 0)
|
||||
return false;
|
||||
|
222
mods/tinker/tconstruct/blocks/RedstoneBallRepeater.java
Normal file
222
mods/tinker/tconstruct/blocks/RedstoneBallRepeater.java
Normal file
@ -0,0 +1,222 @@
|
||||
package mods.tinker.tconstruct.blocks;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import mods.tinker.tconstruct.TContent;
|
||||
import mods.tinker.tconstruct.client.blockrender.BallRepeaterRender;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockRedstoneLogic;
|
||||
import net.minecraft.client.renderer.texture.IconRegister;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.Icon;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class RedstoneBallRepeater extends BlockRedstoneLogic
|
||||
{
|
||||
/** The offsets for the two torches in redstone repeater blocks. */
|
||||
public static final double[] repeaterTorchOffset = new double[] { -0.0625D, 0.0625D, 0.1875D, 0.3125D};
|
||||
|
||||
/** The states in which the redstone repeater blocks can be. */
|
||||
public static final int[] repeaterState = new int[] {1, 2, 3, 4};
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public static Icon field_94413_c;
|
||||
@SideOnly(Side.CLIENT)
|
||||
public static Icon field_94410_cO;
|
||||
@SideOnly(Side.CLIENT)
|
||||
public static Icon field_94411_cP;
|
||||
@SideOnly(Side.CLIENT)
|
||||
public static Icon field_94412_cQ;
|
||||
|
||||
public RedstoneBallRepeater(int par1, boolean par2)
|
||||
{
|
||||
super(par1, par2);
|
||||
//this.setCreativeTab(CreativeTabs.tabRedstone);
|
||||
}
|
||||
|
||||
/**
|
||||
* Called upon block activation (right click on the block.)
|
||||
*/
|
||||
public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9)
|
||||
{
|
||||
int i1 = par1World.getBlockMetadata(par2, par3, par4);
|
||||
int j1 = (i1 & 12) >> 2;
|
||||
j1 = j1 + 1 << 2 & 12;
|
||||
par1World.setBlockMetadataWithNotify(par2, par3, par4, j1 | i1 & 3, 3);
|
||||
return true;
|
||||
}
|
||||
|
||||
public int func_94481_j_(int par1)
|
||||
{
|
||||
return repeaterState[(par1 & 12) >> 2] * 2;
|
||||
}
|
||||
|
||||
public BlockRedstoneLogic func_94485_e()
|
||||
{
|
||||
return Block.redstoneRepeaterActive;
|
||||
}
|
||||
|
||||
public BlockRedstoneLogic func_94484_i()
|
||||
{
|
||||
return Block.redstoneRepeaterIdle;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the ID of the items to drop on destruction.
|
||||
*/
|
||||
public int idDropped(int par1, Random par2Random, int par3)
|
||||
{
|
||||
return this.blockID;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
|
||||
/**
|
||||
* only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative)
|
||||
*/
|
||||
/*public int idPicked(World par1World, int par2, int par3, int par4)
|
||||
{
|
||||
return Item.redstoneRepeater.itemID;
|
||||
}*/
|
||||
|
||||
/**
|
||||
* The type of render function that is called for this block
|
||||
*/
|
||||
public int getRenderType()
|
||||
{
|
||||
return BallRepeaterRender.model;
|
||||
}
|
||||
|
||||
public boolean func_94476_e(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
|
||||
{
|
||||
return this.func_94482_f(par1IBlockAccess, par2, par3, par4, par5) > 0;
|
||||
}
|
||||
|
||||
public boolean func_94477_d(int par1)
|
||||
{
|
||||
return isRedstoneRepeaterBlockID(par1);
|
||||
}
|
||||
|
||||
public static boolean isPowerProviderOrWire(IBlockAccess par0IBlockAccess, int par1, int par2, int par3, int par4)
|
||||
{
|
||||
int i1 = par0IBlockAccess.getBlockId(par1, par2, par3);
|
||||
|
||||
if (i1 == Block.redstoneWire.blockID)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (i1 == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if (!Block.redstoneRepeaterIdle.func_94487_f(i1))
|
||||
{
|
||||
return (Block.blocksList[i1] != null && Block.blocksList[i1].canConnectRedstone(par0IBlockAccess, par1, par2, par3, par4));
|
||||
}
|
||||
else
|
||||
{
|
||||
int j1 = par0IBlockAccess.getBlockMetadata(par1, par2, par3);
|
||||
return par4 == (j1 & 3) || par4 == Direction.rotateOpposite[j1 & 3];
|
||||
}
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
|
||||
/**
|
||||
* A randomly called display update to be able to add particles or other items for display
|
||||
*/
|
||||
public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random)
|
||||
{
|
||||
if (this.isRepeaterPowered)
|
||||
{
|
||||
int l = par1World.getBlockMetadata(par2, par3, par4);
|
||||
int i1 = getDirection(l);
|
||||
double d0 = (double)((float)par2 + 0.5F) + (double)(par5Random.nextFloat() - 0.5F) * 0.2D;
|
||||
double d1 = (double)((float)par3 + 0.4F) + (double)(par5Random.nextFloat() - 0.5F) * 0.2D;
|
||||
double d2 = (double)((float)par4 + 0.5F) + (double)(par5Random.nextFloat() - 0.5F) * 0.2D;
|
||||
double d3 = 0.0D;
|
||||
double d4 = 0.0D;
|
||||
|
||||
if (par5Random.nextInt(2) == 0)
|
||||
{
|
||||
switch (i1)
|
||||
{
|
||||
case 0:
|
||||
d4 = -0.3125D;
|
||||
break;
|
||||
case 1:
|
||||
d3 = 0.3125D;
|
||||
break;
|
||||
case 2:
|
||||
d4 = 0.3125D;
|
||||
break;
|
||||
case 3:
|
||||
d3 = -0.3125D;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int j1 = (l & 12) >> 2;
|
||||
|
||||
switch (i1)
|
||||
{
|
||||
case 0:
|
||||
d4 = repeaterTorchOffset[j1];
|
||||
break;
|
||||
case 1:
|
||||
d3 = -repeaterTorchOffset[j1];
|
||||
break;
|
||||
case 2:
|
||||
d4 = -repeaterTorchOffset[j1];
|
||||
break;
|
||||
case 3:
|
||||
d3 = repeaterTorchOffset[j1];
|
||||
}
|
||||
}
|
||||
|
||||
par1World.spawnParticle("reddust", d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4)
|
||||
{
|
||||
return par1World.doesBlockHaveSolidTopSurface(par2, par3 - 1, par4) || par1World.getBlockId(par2, par3 - 1, par4) == Block.glowStone.blockID;
|
||||
}
|
||||
|
||||
/**
|
||||
* ejects contained items into the world, and notifies neighbours of an update, as appropriate
|
||||
*/
|
||||
public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6)
|
||||
{
|
||||
super.breakBlock(par1World, par2, par3, par4, par5, par6);
|
||||
this.func_94483_i_(par1World, par2, par3, par4);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
|
||||
{
|
||||
return 8388608;
|
||||
}
|
||||
|
||||
public void registerIcons(IconRegister par1IconRegister)
|
||||
{
|
||||
this.field_94413_c = par1IconRegister.registerIcon("tinker:repeaterDust_cross");
|
||||
this.field_94410_cO = par1IconRegister.registerIcon("tinker:repeaterDust_line");
|
||||
this.field_94411_cP = par1IconRegister.registerIcon("tinker:repeaterDust_cross_overlay");
|
||||
this.field_94412_cQ = par1IconRegister.registerIcon("tinker:repeaterDust_line_overlay");
|
||||
this.blockIcon = this.field_94413_c;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public static Icon func_94409_b(String par0Str)
|
||||
{
|
||||
return par0Str == "repeaterDust_cross" ? field_94413_c : (par0Str == "repeaterDust_line" ? field_94410_cO : (par0Str == "repeaterDust_cross_overlay" ? field_94411_cP : (par0Str == "repeaterDust_line_overlay" ? field_94412_cQ : null)));
|
||||
}
|
||||
}
|
@ -154,7 +154,7 @@ public class SearedBlock extends InventoryBlock
|
||||
}
|
||||
|
||||
@Override
|
||||
public Icon getBlockTextureFromSideAndMetadata (int side, int meta)
|
||||
public Icon getIcon (int side, int meta)
|
||||
{
|
||||
if (meta == 0)
|
||||
return icons[getTextureIndex(side)];
|
||||
|
@ -62,7 +62,7 @@ public class SmelteryBlock extends InventoryBlock
|
||||
return textureNames;
|
||||
}
|
||||
|
||||
public Icon getBlockTextureFromSideAndMetadata (int side, int meta)
|
||||
public Icon getIcon (int side, int meta)
|
||||
{
|
||||
if (meta < 2)
|
||||
{
|
||||
|
@ -39,7 +39,7 @@ public class TConstructBlock extends Block
|
||||
}
|
||||
|
||||
@Override
|
||||
public Icon getBlockTextureFromSideAndMetadata (int side, int meta)
|
||||
public Icon getIcon (int side, int meta)
|
||||
{
|
||||
return icons[meta];
|
||||
}
|
||||
|
@ -69,7 +69,7 @@ public class ToolStationBlock extends InventoryBlock
|
||||
}
|
||||
|
||||
@Override
|
||||
public Icon getBlockTextureFromSideAndMetadata (int side, int meta)
|
||||
public Icon getIcon (int side, int meta)
|
||||
{
|
||||
if (meta <= 4)
|
||||
{
|
||||
|
@ -12,63 +12,19 @@ import mods.tinker.common.fancyitem.FancyItemRender;
|
||||
import mods.tinker.tconstruct.TConstruct;
|
||||
import mods.tinker.tconstruct.TContent;
|
||||
import mods.tinker.tconstruct.TProxyCommon;
|
||||
import mods.tinker.tconstruct.client.blockrender.CastingTableSpecialRenderer;
|
||||
import mods.tinker.tconstruct.client.blockrender.FluidRender;
|
||||
import mods.tinker.tconstruct.client.blockrender.FrypanRender;
|
||||
import mods.tinker.tconstruct.client.blockrender.GolemCoreRender;
|
||||
import mods.tinker.tconstruct.client.blockrender.GolemCoreSpecialRender;
|
||||
import mods.tinker.tconstruct.client.blockrender.SearedRender;
|
||||
import mods.tinker.tconstruct.client.blockrender.SmallFontRenderer;
|
||||
import mods.tinker.tconstruct.client.blockrender.SmelteryRender;
|
||||
import mods.tinker.tconstruct.client.blockrender.TableRender;
|
||||
import mods.tinker.tconstruct.client.blockrender.TankRender;
|
||||
import mods.tinker.tconstruct.client.entityrender.CartRender;
|
||||
import mods.tinker.tconstruct.client.entityrender.CrystalRender;
|
||||
import mods.tinker.tconstruct.client.entityrender.SkylaRender;
|
||||
import mods.tinker.tconstruct.client.entityrender.SlimeRender;
|
||||
import mods.tinker.tconstruct.client.entityrender.ThrownItemRender;
|
||||
import mods.tinker.tconstruct.crafting.ToolBuilder;
|
||||
import mods.tinker.tconstruct.entity.BlueSlime;
|
||||
import mods.tinker.tconstruct.entity.CartEntity;
|
||||
import mods.tinker.tconstruct.entity.Crystal;
|
||||
import mods.tinker.tconstruct.entity.LaunchedPotion;
|
||||
import mods.tinker.tconstruct.entity.NitroCreeper;
|
||||
import mods.tinker.tconstruct.entity.Skyla;
|
||||
import mods.tinker.tconstruct.library.client.TConstructClientRegistry;
|
||||
import mods.tinker.tconstruct.library.client.ToolGuiElement;
|
||||
import mods.tinker.tconstruct.client.blockrender.*;
|
||||
import mods.tinker.tconstruct.client.entityrender.*;
|
||||
import mods.tinker.tconstruct.crafting.*;
|
||||
import mods.tinker.tconstruct.entity.*;
|
||||
import mods.tinker.tconstruct.library.client.*;
|
||||
import mods.tinker.tconstruct.logic.CastingTableLogic;
|
||||
import mods.tinker.tconstruct.logic.GolemCoreLogic;
|
||||
import mods.tinker.tconstruct.player.TClientTickHandler;
|
||||
import mods.tinker.tconstruct.player.TCommonTickHandler;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.model.ModelSlime;
|
||||
import net.minecraft.client.particle.EntityAuraFX;
|
||||
import net.minecraft.client.particle.EntityBreakingFX;
|
||||
import net.minecraft.client.particle.EntityBubbleFX;
|
||||
import net.minecraft.client.particle.EntityCloudFX;
|
||||
import net.minecraft.client.particle.EntityCritFX;
|
||||
import net.minecraft.client.particle.EntityDiggingFX;
|
||||
import net.minecraft.client.particle.EntityDropParticleFX;
|
||||
import net.minecraft.client.particle.EntityEnchantmentTableParticleFX;
|
||||
import net.minecraft.client.particle.EntityExplodeFX;
|
||||
import net.minecraft.client.particle.EntityFX;
|
||||
import net.minecraft.client.particle.EntityFireworkSparkFX;
|
||||
import net.minecraft.client.particle.EntityFlameFX;
|
||||
import net.minecraft.client.particle.EntityFootStepFX;
|
||||
import net.minecraft.client.particle.EntityHeartFX;
|
||||
import net.minecraft.client.particle.EntityHugeExplodeFX;
|
||||
import net.minecraft.client.particle.EntityLargeExplodeFX;
|
||||
import net.minecraft.client.particle.EntityLavaFX;
|
||||
import net.minecraft.client.particle.EntityNoteFX;
|
||||
import net.minecraft.client.particle.EntityPortalFX;
|
||||
import net.minecraft.client.particle.EntityReddustFX;
|
||||
import net.minecraft.client.particle.EntitySmokeFX;
|
||||
import net.minecraft.client.particle.EntitySnowShovelFX;
|
||||
import net.minecraft.client.particle.EntitySpellParticleFX;
|
||||
import net.minecraft.client.particle.EntitySplashFX;
|
||||
import net.minecraft.client.particle.EntitySuspendFX;
|
||||
import net.minecraft.client.particle.*;
|
||||
import net.minecraft.client.renderer.entity.RenderCreeper;
|
||||
import net.minecraft.client.settings.GameSettings;
|
||||
import net.minecraft.client.settings.KeyBinding;
|
||||
@ -109,6 +65,7 @@ public class TProxyClient extends TProxyCommon
|
||||
RenderingRegistry.registerBlockHandler(new SearedRender());
|
||||
RenderingRegistry.registerBlockHandler(new FluidRender());
|
||||
RenderingRegistry.registerBlockHandler(new GolemCoreRender());
|
||||
//RenderingRegistry.registerBlockHandler(new BallRepeaterRender());
|
||||
|
||||
//Tools
|
||||
/*IItemRenderer render = new SuperCustomToolRenderer();
|
||||
@ -122,12 +79,14 @@ public class TProxyClient extends TProxyCommon
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(GolemCoreLogic.class, new GolemCoreSpecialRender());
|
||||
|
||||
//Entities
|
||||
RenderingRegistry.registerEntityRenderingHandler(CartEntity.class, new CartRender());
|
||||
RenderingRegistry.registerEntityRenderingHandler(Skyla.class, new SkylaRender());
|
||||
RenderingRegistry.registerEntityRenderingHandler(FancyEntityItem.class, new FancyItemRender());
|
||||
RenderingRegistry.registerEntityRenderingHandler(Crystal.class, new CrystalRender());
|
||||
RenderingRegistry.registerEntityRenderingHandler(NitroCreeper.class, new RenderCreeper());
|
||||
RenderingRegistry.registerEntityRenderingHandler(BlueSlime.class, new SlimeRender(new ModelSlime(16), new ModelSlime(0), 0.25F));
|
||||
RenderingRegistry.registerEntityRenderingHandler(GolemBase.class, new GolemRender(0));
|
||||
|
||||
RenderingRegistry.registerEntityRenderingHandler(CartEntity.class, new CartRender());
|
||||
RenderingRegistry.registerEntityRenderingHandler(Skyla.class, new SkylaRender());
|
||||
RenderingRegistry.registerEntityRenderingHandler(Crystal.class, new CrystalRender());
|
||||
RenderingRegistry.registerEntityRenderingHandler(LaunchedPotion.class, new ThrownItemRender(Item.potion, 16384));
|
||||
//RenderingRegistry.registerEntityRenderingHandler(net.minecraft.entity.player.EntityPlayer.class, new PlayerArmorRender()); // <-- Works, woo!
|
||||
|
||||
@ -317,7 +276,7 @@ public class TProxyClient extends TProxyCommon
|
||||
TConstructClientRegistry.registerManualModifier("lavacrystalmod", ironpick.copy(), new ItemStack(TContent.materials, 1, 7));
|
||||
TConstructClientRegistry.registerManualModifier("lapismod", ironpick.copy(), new ItemStack(Item.dyePowder, 1, 4), new ItemStack(Block.blockLapis));
|
||||
TConstructClientRegistry.registerManualModifier("mossmod", ironpick.copy(), new ItemStack(TContent.materials, 1, 6));
|
||||
TConstructClientRegistry.registerManualModifier("quartzmod", ironlongsword.copy(), new ItemStack(Item.field_94583_ca), new ItemStack(Block.blockNetherQuartz));
|
||||
TConstructClientRegistry.registerManualModifier("quartzmod", ironlongsword.copy(), new ItemStack(Item.netherQuartz), new ItemStack(Block.blockNetherQuartz));
|
||||
TConstructClientRegistry.registerManualModifier("blazemod", ironlongsword.copy(), new ItemStack(Item.blazePowder));
|
||||
TConstructClientRegistry.registerManualModifier("necroticmod", ironlongsword.copy(), new ItemStack(TContent.materials, 1, 8));
|
||||
TConstructClientRegistry.registerManualModifier("electricmod", ironpick.copy(), new ItemStack(Block.dirt), new ItemStack(Block.dirt));
|
||||
|
@ -46,27 +46,27 @@ public class AxleRender implements ISimpleBlockRenderingHandler
|
||||
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, -1F, 0.0F);
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(0, meta));
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 1.0F, 0.0F);
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(1, meta));
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, -1F);
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(2, meta));
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, 1.0F);
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(3, meta));
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(-1F, 0.0F, 0.0F);
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(4, meta));
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(1.0F, 0.0F, 0.0F);
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(5, meta));
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
|
||||
tessellator.draw();
|
||||
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
|
||||
}
|
||||
|
@ -0,0 +1,258 @@
|
||||
package mods.tinker.tconstruct.client.blockrender;
|
||||
|
||||
import mods.tinker.tconstruct.blocks.RedstoneBallRepeater;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.util.Icon;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||
|
||||
public class BallRepeaterRender implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public static int model = RenderingRegistry.getNextAvailableRenderId();
|
||||
@Override
|
||||
public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
|
||||
{
|
||||
//Inventory should be an item. This is not here!
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
|
||||
{
|
||||
return renderRedstoneBallRepeater(block, x, y, z, world);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldRender3DInInventory ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderId ()
|
||||
{
|
||||
return model;
|
||||
}
|
||||
|
||||
public boolean renderRedstoneBallRepeater(Block par1Block, int par2, int par3, int par4, IBlockAccess world)
|
||||
{
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
int l = world.getBlockMetadata(par2, par3, par4);
|
||||
Icon icon = RedstoneBallRepeater.func_94409_b("repeaterDust_cross");
|
||||
Icon icon1 = RedstoneBallRepeater.func_94409_b("repeaterDust_line");
|
||||
Icon icon2 = RedstoneBallRepeater.func_94409_b("repeaterDust_cross_overlay");
|
||||
Icon icon3 = RedstoneBallRepeater.func_94409_b("repeaterDust_line_overlay");
|
||||
tessellator.setBrightness(par1Block.getMixedBrightnessForBlock(world, par2, par3, par4));
|
||||
float f = 1.0F;
|
||||
float f1 = (float)l / 15.0F;
|
||||
float f2 = f1 * 0.6F + 0.4F;
|
||||
|
||||
if (l == 0)
|
||||
{
|
||||
f2 = 0.3F;
|
||||
}
|
||||
|
||||
float f3 = f1 * f1 * 0.7F - 0.5F;
|
||||
float f4 = f1 * f1 * 0.6F - 0.7F;
|
||||
|
||||
if (f3 < 0.0F)
|
||||
{
|
||||
f3 = 0.0F;
|
||||
}
|
||||
|
||||
if (f4 < 0.0F)
|
||||
{
|
||||
f4 = 0.0F;
|
||||
}
|
||||
|
||||
tessellator.setColorOpaque_F(f2, f3, f4);
|
||||
boolean flag = RedstoneBallRepeater.isPowerProviderOrWire(world, par2 - 1, par3, par4, 1) || !world.isBlockNormalCube(par2 - 1, par3, par4) && RedstoneBallRepeater.isPowerProviderOrWire(world, par2 - 1, par3 - 1, par4, -1);
|
||||
boolean flag1 = RedstoneBallRepeater.isPowerProviderOrWire(world, par2 + 1, par3, par4, 3) || !world.isBlockNormalCube(par2 + 1, par3, par4) && RedstoneBallRepeater.isPowerProviderOrWire(world, par2 + 1, par3 - 1, par4, -1);
|
||||
boolean flag2 = RedstoneBallRepeater.isPowerProviderOrWire(world, par2, par3, par4 - 1, 2) || !world.isBlockNormalCube(par2, par3, par4 - 1) && RedstoneBallRepeater.isPowerProviderOrWire(world, par2, par3 - 1, par4 - 1, -1);
|
||||
boolean flag3 = RedstoneBallRepeater.isPowerProviderOrWire(world, par2, par3, par4 + 1, 0) || !world.isBlockNormalCube(par2, par3, par4 + 1) && RedstoneBallRepeater.isPowerProviderOrWire(world, par2, par3 - 1, par4 + 1, -1);
|
||||
|
||||
if (!world.isBlockNormalCube(par2, par3 + 1, par4))
|
||||
{
|
||||
if (world.isBlockNormalCube(par2 - 1, par3, par4) && RedstoneBallRepeater.isPowerProviderOrWire(world, par2 - 1, par3 + 1, par4, -1))
|
||||
{
|
||||
flag = true;
|
||||
}
|
||||
|
||||
if (world.isBlockNormalCube(par2 + 1, par3, par4) && RedstoneBallRepeater.isPowerProviderOrWire(world, par2 + 1, par3 + 1, par4, -1))
|
||||
{
|
||||
flag1 = true;
|
||||
}
|
||||
|
||||
if (world.isBlockNormalCube(par2, par3, par4 - 1) && RedstoneBallRepeater.isPowerProviderOrWire(world, par2, par3 + 1, par4 - 1, -1))
|
||||
{
|
||||
flag2 = true;
|
||||
}
|
||||
|
||||
if (world.isBlockNormalCube(par2, par3, par4 + 1) && RedstoneBallRepeater.isPowerProviderOrWire(world, par2, par3 + 1, par4 + 1, -1))
|
||||
{
|
||||
flag3 = true;
|
||||
}
|
||||
}
|
||||
|
||||
float f5 = (float)(par2 + 0);
|
||||
float f6 = (float)(par2 + 1);
|
||||
float f7 = (float)(par4 + 0);
|
||||
float f8 = (float)(par4 + 1);
|
||||
int i1 = 0;
|
||||
|
||||
if ((flag || flag1) && !flag2 && !flag3)
|
||||
{
|
||||
i1 = 1;
|
||||
}
|
||||
|
||||
if ((flag2 || flag3) && !flag1 && !flag)
|
||||
{
|
||||
i1 = 2;
|
||||
}
|
||||
|
||||
if (i1 == 0)
|
||||
{
|
||||
int j1 = 0;
|
||||
int k1 = 0;
|
||||
int l1 = 16;
|
||||
int i2 = 16;
|
||||
|
||||
if (!flag)
|
||||
{
|
||||
f5 += 0.3125F;
|
||||
}
|
||||
|
||||
if (!flag)
|
||||
{
|
||||
j1 += 5;
|
||||
}
|
||||
|
||||
if (!flag1)
|
||||
{
|
||||
f6 -= 0.3125F;
|
||||
}
|
||||
|
||||
if (!flag1)
|
||||
{
|
||||
l1 -= 5;
|
||||
}
|
||||
|
||||
if (!flag2)
|
||||
{
|
||||
f7 += 0.3125F;
|
||||
}
|
||||
|
||||
if (!flag2)
|
||||
{
|
||||
k1 += 5;
|
||||
}
|
||||
|
||||
if (!flag3)
|
||||
{
|
||||
f8 -= 0.3125F;
|
||||
}
|
||||
|
||||
if (!flag3)
|
||||
{
|
||||
i2 -= 5;
|
||||
}
|
||||
|
||||
tessellator.addVertexWithUV((double)f6, (double)par3 + 0.015625D, (double)f8, (double)icon.getInterpolatedU((double)l1), (double)icon.getInterpolatedV((double)i2));
|
||||
tessellator.addVertexWithUV((double)f6, (double)par3 + 0.015625D, (double)f7, (double)icon.getInterpolatedU((double)l1), (double)icon.getInterpolatedV((double)k1));
|
||||
tessellator.addVertexWithUV((double)f5, (double)par3 + 0.015625D, (double)f7, (double)icon.getInterpolatedU((double)j1), (double)icon.getInterpolatedV((double)k1));
|
||||
tessellator.addVertexWithUV((double)f5, (double)par3 + 0.015625D, (double)f8, (double)icon.getInterpolatedU((double)j1), (double)icon.getInterpolatedV((double)i2));
|
||||
tessellator.setColorOpaque_F(f, f, f);
|
||||
tessellator.addVertexWithUV((double)f6, (double)par3 + 0.015625D, (double)f8, (double)icon2.getInterpolatedU((double)l1), (double)icon2.getInterpolatedV((double)i2));
|
||||
tessellator.addVertexWithUV((double)f6, (double)par3 + 0.015625D, (double)f7, (double)icon2.getInterpolatedU((double)l1), (double)icon2.getInterpolatedV((double)k1));
|
||||
tessellator.addVertexWithUV((double)f5, (double)par3 + 0.015625D, (double)f7, (double)icon2.getInterpolatedU((double)j1), (double)icon2.getInterpolatedV((double)k1));
|
||||
tessellator.addVertexWithUV((double)f5, (double)par3 + 0.015625D, (double)f8, (double)icon2.getInterpolatedU((double)j1), (double)icon2.getInterpolatedV((double)i2));
|
||||
}
|
||||
else if (i1 == 1)
|
||||
{
|
||||
tessellator.addVertexWithUV((double)f6, (double)par3 + 0.015625D, (double)f8, (double)icon1.getMaxU(), (double)icon1.getMaxV());
|
||||
tessellator.addVertexWithUV((double)f6, (double)par3 + 0.015625D, (double)f7, (double)icon1.getMaxU(), (double)icon1.getMinV());
|
||||
tessellator.addVertexWithUV((double)f5, (double)par3 + 0.015625D, (double)f7, (double)icon1.getMinU(), (double)icon1.getMinV());
|
||||
tessellator.addVertexWithUV((double)f5, (double)par3 + 0.015625D, (double)f8, (double)icon1.getMinU(), (double)icon1.getMaxV());
|
||||
tessellator.setColorOpaque_F(f, f, f);
|
||||
tessellator.addVertexWithUV((double)f6, (double)par3 + 0.015625D, (double)f8, (double)icon3.getMaxU(), (double)icon3.getMaxV());
|
||||
tessellator.addVertexWithUV((double)f6, (double)par3 + 0.015625D, (double)f7, (double)icon3.getMaxU(), (double)icon3.getMinV());
|
||||
tessellator.addVertexWithUV((double)f5, (double)par3 + 0.015625D, (double)f7, (double)icon3.getMinU(), (double)icon3.getMinV());
|
||||
tessellator.addVertexWithUV((double)f5, (double)par3 + 0.015625D, (double)f8, (double)icon3.getMinU(), (double)icon3.getMaxV());
|
||||
}
|
||||
else
|
||||
{
|
||||
tessellator.addVertexWithUV((double)f6, (double)par3 + 0.015625D, (double)f8, (double)icon1.getMaxU(), (double)icon1.getMaxV());
|
||||
tessellator.addVertexWithUV((double)f6, (double)par3 + 0.015625D, (double)f7, (double)icon1.getMinU(), (double)icon1.getMaxV());
|
||||
tessellator.addVertexWithUV((double)f5, (double)par3 + 0.015625D, (double)f7, (double)icon1.getMinU(), (double)icon1.getMinV());
|
||||
tessellator.addVertexWithUV((double)f5, (double)par3 + 0.015625D, (double)f8, (double)icon1.getMaxU(), (double)icon1.getMinV());
|
||||
tessellator.setColorOpaque_F(f, f, f);
|
||||
tessellator.addVertexWithUV((double)f6, (double)par3 + 0.015625D, (double)f8, (double)icon3.getMaxU(), (double)icon3.getMaxV());
|
||||
tessellator.addVertexWithUV((double)f6, (double)par3 + 0.015625D, (double)f7, (double)icon3.getMinU(), (double)icon3.getMaxV());
|
||||
tessellator.addVertexWithUV((double)f5, (double)par3 + 0.015625D, (double)f7, (double)icon3.getMinU(), (double)icon3.getMinV());
|
||||
tessellator.addVertexWithUV((double)f5, (double)par3 + 0.015625D, (double)f8, (double)icon3.getMaxU(), (double)icon3.getMinV());
|
||||
}
|
||||
|
||||
if (!world.isBlockNormalCube(par2, par3 + 1, par4))
|
||||
{
|
||||
if (world.isBlockNormalCube(par2 - 1, par3, par4) && world.getBlockId(par2 - 1, par3 + 1, par4) == Block.redstoneWire.blockID)
|
||||
{
|
||||
tessellator.setColorOpaque_F(f * f2, f * f3, f * f4);
|
||||
tessellator.addVertexWithUV((double)par2 + 0.015625D, (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 1), (double)icon1.getMaxU(), (double)icon1.getMinV());
|
||||
tessellator.addVertexWithUV((double)par2 + 0.015625D, (double)(par3 + 0), (double)(par4 + 1), (double)icon1.getMinU(), (double)icon1.getMinV());
|
||||
tessellator.addVertexWithUV((double)par2 + 0.015625D, (double)(par3 + 0), (double)(par4 + 0), (double)icon1.getMinU(), (double)icon1.getMaxV());
|
||||
tessellator.addVertexWithUV((double)par2 + 0.015625D, (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 0), (double)icon1.getMaxU(), (double)icon1.getMaxV());
|
||||
tessellator.setColorOpaque_F(f, f, f);
|
||||
tessellator.addVertexWithUV((double)par2 + 0.015625D, (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 1), (double)icon3.getMaxU(), (double)icon3.getMinV());
|
||||
tessellator.addVertexWithUV((double)par2 + 0.015625D, (double)(par3 + 0), (double)(par4 + 1), (double)icon3.getMinU(), (double)icon3.getMinV());
|
||||
tessellator.addVertexWithUV((double)par2 + 0.015625D, (double)(par3 + 0), (double)(par4 + 0), (double)icon3.getMinU(), (double)icon3.getMaxV());
|
||||
tessellator.addVertexWithUV((double)par2 + 0.015625D, (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 0), (double)icon3.getMaxU(), (double)icon3.getMaxV());
|
||||
}
|
||||
|
||||
if (world.isBlockNormalCube(par2 + 1, par3, par4) && world.getBlockId(par2 + 1, par3 + 1, par4) == Block.redstoneWire.blockID)
|
||||
{
|
||||
tessellator.setColorOpaque_F(f * f2, f * f3, f * f4);
|
||||
tessellator.addVertexWithUV((double)(par2 + 1) - 0.015625D, (double)(par3 + 0), (double)(par4 + 1), (double)icon1.getMinU(), (double)icon1.getMaxV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 1) - 0.015625D, (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 1), (double)icon1.getMaxU(), (double)icon1.getMaxV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 1) - 0.015625D, (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 0), (double)icon1.getMaxU(), (double)icon1.getMinV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 1) - 0.015625D, (double)(par3 + 0), (double)(par4 + 0), (double)icon1.getMinU(), (double)icon1.getMinV());
|
||||
tessellator.setColorOpaque_F(f, f, f);
|
||||
tessellator.addVertexWithUV((double)(par2 + 1) - 0.015625D, (double)(par3 + 0), (double)(par4 + 1), (double)icon3.getMinU(), (double)icon3.getMaxV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 1) - 0.015625D, (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 1), (double)icon3.getMaxU(), (double)icon3.getMaxV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 1) - 0.015625D, (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 0), (double)icon3.getMaxU(), (double)icon3.getMinV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 1) - 0.015625D, (double)(par3 + 0), (double)(par4 + 0), (double)icon3.getMinU(), (double)icon3.getMinV());
|
||||
}
|
||||
|
||||
if (world.isBlockNormalCube(par2, par3, par4 - 1) && world.getBlockId(par2, par3 + 1, par4 - 1) == Block.redstoneWire.blockID)
|
||||
{
|
||||
tessellator.setColorOpaque_F(f * f2, f * f3, f * f4);
|
||||
tessellator.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), (double)par4 + 0.015625D, (double)icon1.getMinU(), (double)icon1.getMaxV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 1), (double)((float)(par3 + 1) + 0.021875F), (double)par4 + 0.015625D, (double)icon1.getMaxU(), (double)icon1.getMaxV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 0), (double)((float)(par3 + 1) + 0.021875F), (double)par4 + 0.015625D, (double)icon1.getMaxU(), (double)icon1.getMinV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), (double)par4 + 0.015625D, (double)icon1.getMinU(), (double)icon1.getMinV());
|
||||
tessellator.setColorOpaque_F(f, f, f);
|
||||
tessellator.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), (double)par4 + 0.015625D, (double)icon3.getMinU(), (double)icon3.getMaxV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 1), (double)((float)(par3 + 1) + 0.021875F), (double)par4 + 0.015625D, (double)icon3.getMaxU(), (double)icon3.getMaxV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 0), (double)((float)(par3 + 1) + 0.021875F), (double)par4 + 0.015625D, (double)icon3.getMaxU(), (double)icon3.getMinV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), (double)par4 + 0.015625D, (double)icon3.getMinU(), (double)icon3.getMinV());
|
||||
}
|
||||
|
||||
if (world.isBlockNormalCube(par2, par3, par4 + 1) && world.getBlockId(par2, par3 + 1, par4 + 1) == Block.redstoneWire.blockID)
|
||||
{
|
||||
tessellator.setColorOpaque_F(f * f2, f * f3, f * f4);
|
||||
tessellator.addVertexWithUV((double)(par2 + 1), (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 1) - 0.015625D, (double)icon1.getMaxU(), (double)icon1.getMinV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), (double)(par4 + 1) - 0.015625D, (double)icon1.getMinU(), (double)icon1.getMinV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), (double)(par4 + 1) - 0.015625D, (double)icon1.getMinU(), (double)icon1.getMaxV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 0), (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 1) - 0.015625D, (double)icon1.getMaxU(), (double)icon1.getMaxV());
|
||||
tessellator.setColorOpaque_F(f, f, f);
|
||||
tessellator.addVertexWithUV((double)(par2 + 1), (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 1) - 0.015625D, (double)icon3.getMaxU(), (double)icon3.getMinV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), (double)(par4 + 1) - 0.015625D, (double)icon3.getMinU(), (double)icon3.getMinV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), (double)(par4 + 1) - 0.015625D, (double)icon3.getMinU(), (double)icon3.getMaxV());
|
||||
tessellator.addVertexWithUV((double)(par2 + 0), (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 1) - 0.015625D, (double)icon3.getMaxU(), (double)icon3.getMaxV());
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -16,7 +16,7 @@ public class BreakingFX extends EntityFX
|
||||
public BreakingFX(World par1World, double par2, double par4, double par6, Item par8Item, RenderEngine par9RenderEngine)
|
||||
{
|
||||
super(par1World, par2, par4, par6, 0.0D, 0.0D, 0.0D);
|
||||
this.func_94052_a(par9RenderEngine, par8Item.getIconFromDamage(0));
|
||||
this.setParticleIcon(par9RenderEngine, par8Item.getIconFromDamage(0));
|
||||
this.particleRed = this.particleGreen = this.particleBlue = 1.0F;
|
||||
this.particleGravity = Block.blockSnow.blockParticleGravity;
|
||||
this.particleScale /= 2.0F;
|
||||
|
@ -90,27 +90,27 @@ public class GolemCoreRender implements ISimpleBlockRenderingHandler
|
||||
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, -1F, 0.0F);
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(0, meta));
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 1.0F, 0.0F);
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(1, meta));
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, -1F);
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(2, meta));
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, 1.0F);
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(3, meta));
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(-1F, 0.0F, 0.0F);
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(4, meta));
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(1.0F, 0.0F, 0.0F);
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(5, meta));
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
|
||||
tessellator.draw();
|
||||
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
|
||||
}
|
||||
|
@ -243,27 +243,27 @@ public class SearedRender implements ISimpleBlockRenderingHandler
|
||||
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, -1F, 0.0F);
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(0, meta));
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 1.0F, 0.0F);
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(1, meta));
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, -1F);
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(2, meta));
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, 1.0F);
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(3, meta));
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(-1F, 0.0F, 0.0F);
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(4, meta));
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(1.0F, 0.0F, 0.0F);
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(5, meta));
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
|
||||
tessellator.draw();
|
||||
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
|
||||
}
|
||||
|
@ -60,7 +60,7 @@ public class SmelteryRender implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
ItemStack blockToRender = Smeltery.getRenderIndex(input);
|
||||
float blockHeight = input.stackSize / (float) blockToRender.stackSize;
|
||||
renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 1.0F, MathHelper.clamp_float(blockHeight, 0.01F, 1.0F), 1.0F);
|
||||
renderer.setRenderBounds(-0.001F, 0.0F, -0.001F, 1.001F, MathHelper.clamp_float(blockHeight, 0.01F, 1.0F), 1.001F);
|
||||
|
||||
if (blockToRender.itemID < 4096) //Block
|
||||
{
|
||||
@ -170,27 +170,27 @@ public class SmelteryRender implements ISimpleBlockRenderingHandler
|
||||
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, -1F, 0.0F);
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(0, meta));
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 1.0F, 0.0F);
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(1, meta));
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, -1F);
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(2, meta));
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, 1.0F);
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(3, meta));
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(-1F, 0.0F, 0.0F);
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(4, meta));
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(1.0F, 0.0F, 0.0F);
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(5, meta));
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
|
||||
tessellator.draw();
|
||||
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
|
||||
}
|
||||
|
@ -85,27 +85,27 @@ public class TableRender implements ISimpleBlockRenderingHandler
|
||||
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, -1F, 0.0F);
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(0, meta));
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 1.0F, 0.0F);
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(1, meta));
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, -1F);
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(2, meta));
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, 1.0F);
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(3, meta));
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(-1F, 0.0F, 0.0F);
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(4, meta));
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(1.0F, 0.0F, 0.0F);
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(5, meta));
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
|
||||
tessellator.draw();
|
||||
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
|
||||
}
|
||||
|
@ -85,27 +85,27 @@ public class TankRender implements ISimpleBlockRenderingHandler
|
||||
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, -1F, 0.0F);
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(0, meta));
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 1.0F, 0.0F);
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(1, meta));
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, -1F);
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(2, meta));
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, 1.0F);
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(3, meta));
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(-1F, 0.0F, 0.0F);
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(4, meta));
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(1.0F, 0.0F, 0.0F);
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(5, meta));
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
|
||||
tessellator.draw();
|
||||
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
|
||||
}
|
||||
@ -116,27 +116,27 @@ public class TankRender implements ISimpleBlockRenderingHandler
|
||||
GL11.glTranslatef(-0.5F, 0.5F, -0.5F);
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, -1F, 0.0F);
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(0, meta));
|
||||
renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 1.0F, 0.0F);
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(1, meta));
|
||||
renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, -1F);
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(2, meta));
|
||||
renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(0.0F, 0.0F, 1.0F);
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(3, meta));
|
||||
renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(-1F, 0.0F, 0.0F);
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(4, meta));
|
||||
renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
|
||||
tessellator.draw();
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setNormal(1.0F, 0.0F, 0.0F);
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(5, meta));
|
||||
renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
|
||||
tessellator.draw();
|
||||
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
|
||||
}
|
||||
|
@ -0,0 +1,79 @@
|
||||
package mods.tinker.tconstruct.client.entityrender;
|
||||
|
||||
import net.minecraft.client.model.ModelPig;
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.util.MathHelper;
|
||||
|
||||
public class GolemBaseModel extends ModelPig
|
||||
{
|
||||
ModelRenderer rightArm;
|
||||
ModelRenderer leftArm;
|
||||
|
||||
public GolemBaseModel()
|
||||
{
|
||||
float f = 0.0F;
|
||||
float f1 = 0.0F;
|
||||
head = new ModelRenderer(this, 0, 0);
|
||||
head.addBox(-4F, -8F, -4F, 8, 8, 8, f);
|
||||
head.setRotationPoint(0.0F, 0.0F + f1, 0.0F);
|
||||
head.showModel = false;
|
||||
body = new ModelRenderer(this, 16, 16);
|
||||
body.addBox(-4F, 0.0F, -2F, 8, 12, 4, f);
|
||||
body.setRotationPoint(0.0F, 0.0F + f1, 0.0F);
|
||||
body.showModel = false;
|
||||
rightArm = new ModelRenderer(this, 40, 16);
|
||||
rightArm.addBox(-3F, -2F, -2F, 4, 12, 4, f);
|
||||
rightArm.setRotationPoint(-5F, 2.0F + f1, 0.0F);
|
||||
leftArm = new ModelRenderer(this, 40, 16);
|
||||
leftArm.mirror = true;
|
||||
leftArm.addBox(-1F, -2F, -2F, 4, 12, 4, f);
|
||||
leftArm.setRotationPoint(5F, 2.0F + f1, 0.0F);
|
||||
leg3 = new ModelRenderer(this, 0, 16);
|
||||
leg3.addBox(-2F, 0.0F, -2F, 4, 12, 4, f);
|
||||
leg3.setRotationPoint(-2F, 12F + f1, 0.0F);
|
||||
leg4 = new ModelRenderer(this, 0, 16);
|
||||
leg4.mirror = true;
|
||||
leg4.addBox(-2F, 0.0F, -2F, 4, 12, 4, f);
|
||||
leg4.setRotationPoint(2.0F, 12F + f1, 0.0F);
|
||||
rightArm = new ModelRenderer(this, 40, 16);
|
||||
rightArm.addBox(-1F, -2F, -1F, 2, 12, 2, f);
|
||||
rightArm.setRotationPoint(-5F, 2.0F, 0.0F);
|
||||
rightArm.showModel = false;
|
||||
leftArm = new ModelRenderer(this, 40, 16);
|
||||
leftArm.mirror = true;
|
||||
leftArm.addBox(-1F, -2F, -1F, 2, 12, 2, f);
|
||||
leftArm.setRotationPoint(5F, 2.0F, 0.0F);
|
||||
leftArm.showModel = false;
|
||||
leg3 = new ModelRenderer(this, 0, 16);
|
||||
leg3.addBox(-1F, 0.0F, -1F, 2, 12, 2, f);
|
||||
leg3.setRotationPoint(-2F, 12F, 0.0F);
|
||||
leg3.showModel = false;
|
||||
leg4 = new ModelRenderer(this, 0, 16);
|
||||
leg4.mirror = true;
|
||||
leg4.addBox(-1F, 0.0F, -1F, 2, 12, 2, f);
|
||||
leg4.setRotationPoint(2.0F, 12F, 0.0F);
|
||||
leg4.showModel = false;
|
||||
leg1.showModel = leg2.showModel = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
|
||||
{
|
||||
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
|
||||
float f6 = 0.0F;
|
||||
float f7 = 0.0F;
|
||||
rightArm.rotateAngleZ = 0.0F;
|
||||
leftArm.rotateAngleZ = 0.0F;
|
||||
rightArm.rotateAngleY = -(0.1F - f6 * 0.6F) + head.rotateAngleY;
|
||||
leftArm.rotateAngleY = (0.1F - f6 * 0.6F) + head.rotateAngleY + 0.4F;
|
||||
rightArm.rotateAngleX = -1.570796F + head.rotateAngleX;
|
||||
leftArm.rotateAngleX = -1.570796F + head.rotateAngleX;
|
||||
rightArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F;
|
||||
leftArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F;
|
||||
rightArm.rotateAngleZ += MathHelper.cos(f2 * 0.09F) * 0.05F + 0.05F;
|
||||
leftArm.rotateAngleZ -= MathHelper.cos(f2 * 0.09F) * 0.05F + 0.05F;
|
||||
rightArm.rotateAngleX += MathHelper.sin(f2 * 0.067F) * 0.05F;
|
||||
leftArm.rotateAngleX -= MathHelper.sin(f2 * 0.067F) * 0.05F;
|
||||
}
|
||||
}
|
419
mods/tinker/tconstruct/client/entityrender/GolemRender.java
Normal file
419
mods/tinker/tconstruct/client/entityrender/GolemRender.java
Normal file
@ -0,0 +1,419 @@
|
||||
package mods.tinker.tconstruct.client.entityrender;
|
||||
|
||||
import static net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED;
|
||||
import static net.minecraftforge.client.IItemRenderer.ItemRendererHelper.BLOCK_3D;
|
||||
import mods.tinker.tconstruct.entity.GolemBase;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.model.ModelSnowMan;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.RenderHelper;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.entity.RenderLiving;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.monster.EntityMob;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
import net.minecraftforge.client.MinecraftForgeClient;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public class GolemRender extends RenderLiving
|
||||
{
|
||||
public static final float kon = -57.29578F;
|
||||
public static final float scale = 0.7F;
|
||||
|
||||
public GolemRender(float f)
|
||||
{
|
||||
super(new ModelSnowMan(), f);
|
||||
}
|
||||
|
||||
protected void preRenderScale (EntityLiving entityliving, float f)
|
||||
{
|
||||
GL11.glScalef(1.0F, 1.0F, 1.0F);
|
||||
GolemBase entitygenericgolem = (GolemBase) entityliving;
|
||||
/*if (entitygenericgolem.isSlime())
|
||||
{
|
||||
int i = 1;
|
||||
float f1 = (entitygenericgolem.slimeB + (entitygenericgolem.slimeC - entitygenericgolem.slimeB) * f) / 1.5F;
|
||||
float f2 = 0.8F / (f1 + 1.0F);
|
||||
float f3 = i;
|
||||
GL11.glScalef(f2 * f3, (1.0F / f2) * f3, f2 * f3);
|
||||
}*/
|
||||
}
|
||||
|
||||
public void renderBeam (Entity entity, double d, double d1, double d2, double d3, double d4, double d5)
|
||||
{
|
||||
float f = (float) (d3 - d);
|
||||
float f1 = (float) (d4 - 1.0D - d1);
|
||||
float f2 = (float) (d5 - d2);
|
||||
float f3 = MathHelper.sqrt_float(f * f + f2 * f2);
|
||||
float f4 = MathHelper.sqrt_float(f * f + f1 * f1 + f2 * f2);
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float) d, (float) d1 + 2.0F, (float) d2);
|
||||
GL11.glRotatef(((float) (-Math.atan2(f2, f)) * 180F) / 3.141593F - 90F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glRotatef(((float) (-Math.atan2(f3, f1)) * 180F) / 3.141593F - 90F, 1.0F, 0.0F, 0.0F);
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
RenderHelper.disableStandardItemLighting();
|
||||
GL11.glDisable(2884 /*GL_CULL_FACE*/);
|
||||
loadTexture("/mob/enderdragon/beam.png");
|
||||
GL11.glShadeModel(7425 /*GL_SMOOTH*/);
|
||||
float f5 = 0.0F - (float) entity.ticksExisted * 0.01F;
|
||||
float f6 = MathHelper.sqrt_float(f * f + f1 * f1 + f2 * f2) / 32F - (float) entity.ticksExisted * 0.01F;
|
||||
tessellator.startDrawing(5);
|
||||
int i = 8;
|
||||
for (int j = 0; j <= i; j++)
|
||||
{
|
||||
float f7 = MathHelper.sin(((float) (j % i) * 3.141593F * 2.0F) / (float) i) * 0.75F;
|
||||
float f8 = MathHelper.cos(((float) (j % i) * 3.141593F * 2.0F) / (float) i) * 0.75F;
|
||||
float f9 = ((float) (j % i) * 1.0F) / (float) i;
|
||||
tessellator.setColorOpaque_I(0);
|
||||
tessellator.addVertexWithUV(f7 * 0.2F, f8 * 0.2F, 0.0D, f9, f6);
|
||||
tessellator.setColorOpaque_I(0xffffff);
|
||||
tessellator.addVertexWithUV(f7, f8, f4, f9, f5);
|
||||
}
|
||||
|
||||
tessellator.draw();
|
||||
GL11.glEnable(2884 /*GL_CULL_FACE*/);
|
||||
GL11.glShadeModel(7424 /*GL_FLAT*/);
|
||||
RenderHelper.enableStandardItemLighting();
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public void renderGolem (EntityLiving entityliving, double d, double d1, double d2, float f, float f1)
|
||||
{
|
||||
super.doRenderLiving(entityliving, d, d1, d2, f, f1);
|
||||
}
|
||||
|
||||
public void renderCow (EntityMob entitymob, double d, double d1, double d2, float f, float f1)
|
||||
{
|
||||
super.doRenderLiving(entitymob, d, d1, d2, f, f1);
|
||||
}
|
||||
|
||||
public void doRenderLiving (EntityLiving entityliving, double d, double d1, double d2, float f, float f1)
|
||||
{
|
||||
/*loadTexture("/terrain.png");
|
||||
renderBlocks.renderNorthFace(Block.brick, d, d1 + 5D, d2, 1);
|
||||
renderBlocks.renderSouthFace(Block.brick, d, d1 + 5D, d2, 1);
|
||||
renderBlocks.renderEastFace(Block.brick, d, d1 + 5D, d2, 1);
|
||||
renderBlocks.renderWestFace(Block.brick, d, d1 + 5D, d2, 1);*/
|
||||
}
|
||||
|
||||
protected void renderSnowmanPumpkin(GolemBase par1EntitySnowman, float par2)
|
||||
{
|
||||
super.renderEquippedItems(par1EntitySnowman, par2);
|
||||
ItemStack itemstack = new ItemStack(Block.pumpkin, 1);
|
||||
|
||||
if (itemstack != null && itemstack.getItem() instanceof ItemBlock)
|
||||
{
|
||||
GL11.glPushMatrix();
|
||||
//this.snowmanModel.head.postRender(0.0625F);
|
||||
|
||||
IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack, EQUIPPED);
|
||||
boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack, BLOCK_3D));
|
||||
|
||||
if (is3D || RenderBlocks.renderItemIn3d(Block.blocksList[itemstack.itemID].getRenderType()))
|
||||
{
|
||||
float f1 = 0.625F;
|
||||
GL11.glTranslatef(0.0F, -0.34375F, 0.0F);
|
||||
GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glScalef(f1, -f1, f1);
|
||||
}
|
||||
|
||||
this.renderManager.itemRenderer.renderItem(par1EntitySnowman, itemstack, 0);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
protected void renderEquippedItems(EntityLiving par1EntityLiving, float par2)
|
||||
{
|
||||
this.renderSnowmanPumpkin((GolemBase)par1EntityLiving, par2);
|
||||
}
|
||||
|
||||
public void doRender (Entity entity, double d, double d1, double d2, float f, float f1)
|
||||
{
|
||||
ItemStack itemstack = new ItemStack(Block.pumpkin, 1);
|
||||
|
||||
if (itemstack != null && itemstack.getItem() instanceof ItemBlock)
|
||||
{
|
||||
GL11.glPushMatrix();
|
||||
//this.snowmanModel.head.postRender(0.0625F);
|
||||
|
||||
IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack, EQUIPPED);
|
||||
boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack, BLOCK_3D));
|
||||
|
||||
if (is3D || RenderBlocks.renderItemIn3d(Block.blocksList[itemstack.itemID].getRenderType()))
|
||||
{
|
||||
float swipe = 0.625F;
|
||||
GL11.glTranslatef(0.0F, -0.34375F, 0.0F);
|
||||
GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glScalef(swipe, -swipe, swipe);
|
||||
}
|
||||
|
||||
//this.renderManager.itemRenderer.renderItem((EntityLiving) entity, itemstack, 0);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
boolean flag = false;
|
||||
float f2 = 1.0F;
|
||||
float f3 = 0.0F;
|
||||
float f4 = 0.0F;
|
||||
GolemBase golembase = (GolemBase) entity;
|
||||
ModelSnowMan modelgenericgolem = (ModelSnowMan) mainModel;
|
||||
/*if (golembase == null || golembase.body == null)
|
||||
{
|
||||
return;
|
||||
}*/
|
||||
int i = -1;
|
||||
int j = 0;
|
||||
/*do
|
||||
{
|
||||
if (j >= 3)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (golembase.body[1][j] == mod_Golems.golemHead.blockID)
|
||||
{
|
||||
i = j;
|
||||
break;
|
||||
}
|
||||
j++;
|
||||
} while (true);*/
|
||||
i = 0;
|
||||
super.doRenderLiving((EntityLiving) entity, d, d1, d2, f, f1);
|
||||
loadTexture("/terrain.png");
|
||||
GL11.glDisable(2896 /*GL_LIGHTING*/);
|
||||
j = 3;
|
||||
World world = entity.worldObj;
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float) d, (float) d1, (float) d2);
|
||||
/*if (entitygenericgolem.lifespan <= 0L)
|
||||
{
|
||||
entitygenericgolem.rotationYaw = entitygenericgolem.yawFreeze;
|
||||
}*/
|
||||
GL11.glRotatef(entity.rotationYaw, 0.0F, -1F, 0.0F);
|
||||
GL11.glScalef(0.7F, 0.7F, 0.7F);
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef(0.0F, 0.5F, 0.0F);
|
||||
GL11.glRotatef(i == 2 ? modelgenericgolem.head.rotateAngleY * -57.29578F : 0.0F, 0.0F, 1.0F, 0.0F);
|
||||
Block block = Block.brick;
|
||||
/*if (golembase.isSlime())
|
||||
{
|
||||
preRenderScale(golembase, f);
|
||||
}*/
|
||||
if (block != null)
|
||||
{
|
||||
/*if (block.blockID == mod_Golems.Golem_Head_ID)
|
||||
{
|
||||
renderFace(golembase, block, world, MathHelper.floor_double(entity.posX), MathHelper.floor_double(entity.posY), MathHelper.floor_double(entity.posZ),
|
||||
golembase.meta[1][j - 1]);
|
||||
}*/
|
||||
renderBlock(block, world, MathHelper.floor_double(entity.posX), MathHelper.floor_double(entity.posY), MathHelper.floor_double(entity.posZ), 0);
|
||||
}
|
||||
/*else if (block == mod_Golems.golemCore)
|
||||
{
|
||||
renderCore(golembase, block, world, MathHelper.floor_double(entity.posX), MathHelper.floor_double(entity.posY), MathHelper.floor_double(entity.posZ), 0.5F, 0.5F, 0.5F, 0.0D);
|
||||
}*/
|
||||
GL11.glPopMatrix();
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef(0.0F, 1.5625F, 0.0F);
|
||||
GL11.glRotatef(i == 1 ? modelgenericgolem.head.rotateAngleY * -57.29578F : 0.0F, 0.0F, 1.0F, 0.0F);
|
||||
block = Block.cobblestone;
|
||||
if (block != null)// && block != mod_Golems.golemCore)
|
||||
{
|
||||
/*if (block.blockID == mod_Golems.Golem_Head_ID)
|
||||
{
|
||||
renderFace(golembase, block, world, MathHelper.floor_double(entity.posX), MathHelper.floor_double(entity.posY), MathHelper.floor_double(entity.posZ),
|
||||
golembase.meta[1][j - 2]);
|
||||
}*/
|
||||
renderBlock(block, world, MathHelper.floor_double(entity.posX), MathHelper.floor_double(entity.posY), MathHelper.floor_double(entity.posZ), 0);
|
||||
}
|
||||
/*else if (block == mod_Golems.golemCore)
|
||||
{
|
||||
renderCore(golembase, block, world, MathHelper.floor_double(entity.posX), MathHelper.floor_double(entity.posY), MathHelper.floor_double(entity.posZ), 0.5F, 0.5F, 0.5F, 1.0D);
|
||||
}*/
|
||||
GL11.glPopMatrix();
|
||||
/*GL11.glPushMatrix();
|
||||
GL11.glTranslatef(0.0F, 2.625F, 0.0F);
|
||||
GL11.glRotatef(i == 0 ? modelgenericgolem.head.rotateAngleY * -57.29578F : 0.0F, 0.0F, 1.0F, 0.0F);
|
||||
block = Block.blocksList[golembase.body[1][j - 3]];
|
||||
if (block != null && block != mod_Golems.golemCore)
|
||||
{
|
||||
if (block.blockID == mod_Golems.Golem_Head_ID)
|
||||
{
|
||||
renderFace(golembase, block, world, MathHelper.floor_double(entity.posX), MathHelper.floor_double(entity.posY), MathHelper.floor_double(entity.posZ),
|
||||
golembase.meta[1][j - 3]);
|
||||
}
|
||||
renderBlock(block, world, MathHelper.floor_double(entity.posX), MathHelper.floor_double(entity.posY), MathHelper.floor_double(entity.posZ), golembase.meta[1][j - 3]);
|
||||
}
|
||||
else if (block == mod_Golems.golemCore)
|
||||
{
|
||||
renderCore(golembase, block, world, MathHelper.floor_double(entity.posX), MathHelper.floor_double(entity.posY), MathHelper.floor_double(entity.posZ), 0.5F, 0.5F, 0.5F, 2D);
|
||||
}
|
||||
GL11.glPopMatrix();
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef(0.0F, 0.5F, 0.0F);
|
||||
GL11.glTranslatef(0.7F, 0.9F, 0.0F);
|
||||
if (golembase.isSwinging && golembase.arms[0])
|
||||
{
|
||||
GL11.glTranslatef(0.0F, 0.5F, 0.0F);
|
||||
golembase.swingAge -= golembase.dt;
|
||||
GL11.glRotatef(-((float) golembase.swingAge / (float) golembase.swingMax) * 70F, 1.0F, 0.0F, 0.0F);
|
||||
if (golembase.swingAge <= 0)
|
||||
{
|
||||
golembase.isSwinging = false;
|
||||
}
|
||||
GL11.glTranslatef(0.0F, -0.5F, 0.0F);
|
||||
}
|
||||
GL11.glScalef(0.4F, 1.3F, 0.4F);
|
||||
block = Block.blocksList[golembase.body[0][j - 2]];
|
||||
if (block != null)
|
||||
{
|
||||
renderBlock(block, world, MathHelper.floor_double(entity.posX), MathHelper.floor_double(entity.posY), MathHelper.floor_double(entity.posZ), golembase.meta[0][j - 2]);
|
||||
}
|
||||
GL11.glPopMatrix();
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef(0.0F, 0.5F, 0.0F);
|
||||
GL11.glTranslatef(-0.7F, 0.9F, 0.0F);
|
||||
if (golembase.isSwinging && golembase.arms[1] && !golembase.arms[0])
|
||||
{
|
||||
GL11.glTranslatef(0.0F, 0.5F, 0.0F);
|
||||
golembase.swingAge -= golembase.dt;
|
||||
GL11.glRotatef(-((float) golembase.swingAge / (float) golembase.swingMax) * 70F, 1.0F, 0.0F, 0.0F);
|
||||
if (golembase.swingAge <= 0)
|
||||
{
|
||||
golembase.isSwinging = false;
|
||||
}
|
||||
GL11.glTranslatef(0.0F, -0.5F, 0.0F);
|
||||
}
|
||||
GL11.glScalef(0.4F, 1.3F, 0.4F);
|
||||
block = Block.blocksList[golembase.body[2][j - 2]];
|
||||
if (block != null)
|
||||
{
|
||||
renderBlock(block, world, MathHelper.floor_double(entity.posX), MathHelper.floor_double(entity.posY), MathHelper.floor_double(entity.posZ), golembase.meta[2][j - 2]);
|
||||
}
|
||||
GL11.glPopMatrix();*/
|
||||
GL11.glPopMatrix();
|
||||
GL11.glEnable(2896 /*GL_LIGHTING*/);
|
||||
}
|
||||
|
||||
protected void preRenderCallback (EntityLiving entityliving, float f)
|
||||
{
|
||||
preRenderScale(entityliving, f);
|
||||
}
|
||||
|
||||
public void renderBlock (Block block, World world, int x, int y, int z, int side)
|
||||
{
|
||||
float f = 0.5F;
|
||||
float f1 = 1.0F;
|
||||
float f2 = 0.8F;
|
||||
float f3 = 0.6F;
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z));
|
||||
float f4 = 1.0F;
|
||||
float f5 = 1.0F;
|
||||
if (f5 < f4)
|
||||
{
|
||||
f5 = f4;
|
||||
}
|
||||
tessellator.setColorOpaque_F(f * f5, f * f5, f * f5);
|
||||
renderBlocks.renderBottomFace(block, -0.5D, -0.5D, -0.5D, block.getIcon(0, side));
|
||||
f5 = 1.0F;
|
||||
if (f5 < f4)
|
||||
{
|
||||
f5 = f4;
|
||||
}
|
||||
tessellator.setColorOpaque_F(f1 * f5, f1 * f5, f1 * f5);
|
||||
renderBlocks.renderTopFace(block, -0.5D, -0.5D, -0.5D, block.getIcon(1, side));
|
||||
f5 = 1.0F;
|
||||
if (f5 < f4)
|
||||
{
|
||||
f5 = f4;
|
||||
}
|
||||
tessellator.setColorOpaque_F(f2 * f5, f2 * f5, f2 * f5);
|
||||
renderBlocks.renderEastFace(block, -0.5D, -0.5D, -0.5D, block.getIcon(2, side));
|
||||
f5 = 1.0F;
|
||||
if (f5 < f4)
|
||||
{
|
||||
f5 = f4;
|
||||
}
|
||||
tessellator.setColorOpaque_F(f2 * f5, f2 * f5, f2 * f5);
|
||||
renderBlocks.renderWestFace(block, -0.5D, -0.5D, -0.5D, block.getIcon(3, side));
|
||||
f5 = 1.0F;
|
||||
if (f5 < f4)
|
||||
{
|
||||
f5 = f4;
|
||||
}
|
||||
tessellator.setColorOpaque_F(f3 * f5, f3 * f5, f3 * f5);
|
||||
renderBlocks.renderNorthFace(block, -0.5D, -0.5D, -0.5D, block.getIcon(4, side));
|
||||
f5 = 1.0F;
|
||||
if (f5 < f4)
|
||||
{
|
||||
f5 = f4;
|
||||
}
|
||||
tessellator.setColorOpaque_F(f3 * f5, f3 * f5, f3 * f5);
|
||||
renderBlocks.renderSouthFace(block, -0.5D, -0.5D, -0.5D, block.getIcon(5, side));
|
||||
tessellator.draw();
|
||||
}
|
||||
|
||||
/*public void renderFace (GolemBase entitygenericgolem, Block block, World world, int i, int j, int k, int l)
|
||||
{
|
||||
float f = 0.5F;
|
||||
float f1 = 1.0F;
|
||||
float f2 = 0.8F;
|
||||
float f3 = 0.6F;
|
||||
float f4 = entitygenericgolem.getFaceR();
|
||||
float f5 = entitygenericgolem.getFaceG();
|
||||
float f6 = entitygenericgolem.getFaceB();
|
||||
double d = 0.001D;
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setBrightness(block.getMixedBrightnessForBlock(world, i, j, k));
|
||||
float f7 = 1.0F;
|
||||
float f8 = 1.0F;
|
||||
if (f8 < f7)
|
||||
{
|
||||
f8 = f7;
|
||||
}
|
||||
tessellator.setColorOpaque_F(f4, f5, f6);
|
||||
if (block.getIcon(2, l) == BlockGolemHead.face)
|
||||
{
|
||||
renderBlocks.renderEastFace(block, -0.5D, -0.5D, -0.5D - d, mod_Golems.faceTex);
|
||||
}
|
||||
f8 = 1.0F;
|
||||
if (f8 < f7)
|
||||
{
|
||||
f8 = f7;
|
||||
}
|
||||
tessellator.setColorOpaque_F(f4, f5, f6);
|
||||
if (block.getIcon(3, l) == BlockGolemHead.face)
|
||||
{
|
||||
renderBlocks.renderWestFace(block, -0.5D, -0.5D, -0.5D + d, mod_Golems.faceTex);
|
||||
}
|
||||
f8 = 1.0F;
|
||||
if (f8 < f7)
|
||||
{
|
||||
f8 = f7;
|
||||
}
|
||||
tessellator.setColorOpaque_F(f4, f5, f6);
|
||||
if (block.getIcon(4, l) == BlockGolemHead.face)
|
||||
{
|
||||
renderBlocks.renderNorthFace(block, -0.5D - d, -0.5D, -0.5D, mod_Golems.faceTex);
|
||||
}
|
||||
f8 = 1.0F;
|
||||
if (f8 < f7)
|
||||
{
|
||||
f8 = f7;
|
||||
}
|
||||
tessellator.setColorOpaque_F(f4, f5, f6);
|
||||
if (block.getIcon(5, l) == BlockGolemHead.face)
|
||||
{
|
||||
renderBlocks.renderSouthFace(block, -0.5D + d, -0.5D, -0.5D, mod_Golems.faceTex);
|
||||
}
|
||||
tessellator.draw();
|
||||
}*/
|
||||
}
|
@ -703,7 +703,7 @@ public class GuiManual extends GuiScreen
|
||||
{
|
||||
renderitem.renderItemAndEffectIntoGUI(fontRenderer, mc.renderEngine, icons[0], (localWidth + 126) / 2, (localHeight + 68) / 2);
|
||||
if (icons[0].stackSize > 1)
|
||||
renderitem.renderItemStack(fontRenderer, mc.renderEngine, icons[0], (localWidth + 126) / 2, (localHeight + 68) / 2, String.valueOf(icons[0].stackSize));
|
||||
renderitem.renderItemOverlayIntoGUI(fontRenderer, mc.renderEngine, icons[0], (localWidth + 126) / 2, (localHeight + 68) / 2, String.valueOf(icons[0].stackSize));
|
||||
for (int i = 0; i < icons.length - 1; i++)
|
||||
{
|
||||
if (icons[i + 1] != null)
|
||||
@ -715,7 +715,7 @@ public class GuiManual extends GuiScreen
|
||||
{
|
||||
renderitem.renderItemAndEffectIntoGUI(fontRenderer, mc.renderEngine, icons[0], (localWidth + 138) / 2, (localHeight + 70) / 2);
|
||||
if (icons[0].stackSize > 1)
|
||||
renderitem.renderItemStack(fontRenderer, mc.renderEngine, icons[0], (localWidth + 126) / 2, (localHeight + 68) / 2, String.valueOf(icons[0].stackSize));
|
||||
renderitem.renderItemOverlayIntoGUI(fontRenderer, mc.renderEngine, icons[0], (localWidth + 126) / 2, (localHeight + 68) / 2, String.valueOf(icons[0].stackSize));
|
||||
for (int i = 0; i < icons.length - 1; i++)
|
||||
{
|
||||
if (icons[i + 1] != null)
|
||||
@ -750,7 +750,7 @@ public class GuiManual extends GuiScreen
|
||||
renderitem.renderItemAndEffectIntoGUI(fontRenderer, mc.renderEngine, icons[1], (localWidth + 38) / 2, (localHeight + 38) / 2);
|
||||
|
||||
if (icons[0].stackSize > 1)
|
||||
renderitem.renderItemStack(fontRenderer, mc.renderEngine, icons[0], (localWidth + 106) / 2, (localHeight + 74) / 2, String.valueOf(icons[0].stackSize));
|
||||
renderitem.renderItemOverlayIntoGUI(fontRenderer, mc.renderEngine, icons[0], (localWidth + 106) / 2, (localHeight + 74) / 2, String.valueOf(icons[0].stackSize));
|
||||
|
||||
renderitem.zLevel = 0;
|
||||
GL11.glScalef(0.5F, 0.5F, 0.5F);
|
||||
|
@ -230,7 +230,7 @@ public abstract class NewContainerGui extends GuiScreen
|
||||
this.zLevel = 200.0F;
|
||||
itemRenderer.zLevel = 200.0F;
|
||||
itemRenderer.renderItemAndEffectIntoGUI(this.fontRenderer, this.mc.renderEngine, par1ItemStack, par2, par3);
|
||||
itemRenderer.renderItemStack(this.fontRenderer, this.mc.renderEngine, par1ItemStack, par2, par3 - (this.draggedStack == null ? 0 : 8), par4Str);
|
||||
itemRenderer.renderItemOverlayIntoGUI(this.fontRenderer, this.mc.renderEngine, par1ItemStack, par2, par3 - (this.draggedStack == null ? 0 : 8), par4Str);
|
||||
this.zLevel = 0.0F;
|
||||
itemRenderer.zLevel = 0.0F;
|
||||
}
|
||||
@ -429,7 +429,7 @@ public abstract class NewContainerGui extends GuiScreen
|
||||
|
||||
GL11.glEnable(GL11.GL_DEPTH_TEST);
|
||||
itemRenderer.renderItemAndEffectIntoGUI(this.fontRenderer, this.mc.renderEngine, itemstack, i, j);
|
||||
itemRenderer.renderItemStack(this.fontRenderer, this.mc.renderEngine, itemstack, i, j, s);
|
||||
itemRenderer.renderItemOverlayIntoGUI(this.fontRenderer, this.mc.renderEngine, itemstack, i, j, s);
|
||||
}
|
||||
|
||||
itemRenderer.zLevel = 0.0F;
|
||||
@ -795,7 +795,7 @@ public abstract class NewContainerGui extends GuiScreen
|
||||
{
|
||||
if (!(slot instanceof ActiveSlot) || ((ActiveSlot) slot).getActive())
|
||||
{
|
||||
return this.isPointInRegion(slot.xDisplayPosition, slot.yDisplayPosition, 16, 16, mouseX, mouseY);
|
||||
return this.isPointInRegion(slot.xDisplayPosition, slot.yDisplayPosition, 16, 16, mouseX, mouseY);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -122,7 +122,7 @@ public class SmelteryGui extends NewContainerGui
|
||||
if (logic.fuelGague > 0)
|
||||
{
|
||||
this.mc.renderEngine.bindTexture("/terrain.png");
|
||||
Icon lavaIcon = Block.lavaStill.getBlockTextureFromSideAndMetadata(0, 0);
|
||||
Icon lavaIcon = Block.lavaStill.getIcon(0, 0);
|
||||
int fuel = logic.getScaledFuelGague(52);
|
||||
int count = 0;
|
||||
while (fuel > 0)
|
||||
@ -143,7 +143,7 @@ public class SmelteryGui extends NewContainerGui
|
||||
{
|
||||
Block liquidBlock = Block.blocksList[liquid.itemID];
|
||||
this.mc.renderEngine.bindTexture("/terrain.png");
|
||||
renderIndex = liquidBlock.getBlockTextureFromSideAndMetadata(0, liquid.itemMeta);
|
||||
renderIndex = liquidBlock.getIcon(0, liquid.itemMeta);
|
||||
}
|
||||
else
|
||||
//Item
|
||||
|
@ -3,15 +3,15 @@ package mods.tinker.tconstruct.client.gui;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
|
||||
import mods.tinker.tconstruct.library.client.ToolGuiElement;
|
||||
import mods.tinker.tconstruct.container.ActiveContainer;
|
||||
import mods.tinker.tconstruct.container.ToolStationContainer;
|
||||
import mods.tinker.tconstruct.library.ToolCore;
|
||||
import mods.tinker.tconstruct.library.Weapon;
|
||||
import mods.tinker.tconstruct.library.client.TConstructClientRegistry;
|
||||
import mods.tinker.tconstruct.library.client.ToolGuiElement;
|
||||
import mods.tinker.tconstruct.logic.ToolStationLogic;
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.client.gui.GuiTextField;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
@ -27,7 +27,7 @@ import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class ToolStationGui extends GuiContainer
|
||||
public class ToolStationGui extends NewContainerGui
|
||||
{
|
||||
ToolStationLogic logic;
|
||||
ToolStationContainer toolSlots;
|
||||
@ -39,9 +39,9 @@ public class ToolStationGui extends GuiContainer
|
||||
|
||||
public ToolStationGui(InventoryPlayer inventoryplayer, ToolStationLogic stationlogic, World world, int x, int y, int z)
|
||||
{
|
||||
super(stationlogic.getGuiContainer(inventoryplayer, world, x, y, z));
|
||||
super((ActiveContainer) stationlogic.getGuiContainer(inventoryplayer, world, x, y, z));
|
||||
this.logic = stationlogic;
|
||||
toolSlots = (ToolStationContainer) inventorySlots;
|
||||
toolSlots = (ToolStationContainer) container;
|
||||
text = new GuiTextField(this.fontRenderer, this.xSize / 2 - 5, 8, 30, 12);
|
||||
this.text.setMaxStringLength(40);
|
||||
this.text.setEnableBackgroundDrawing(false);
|
||||
|
@ -8,7 +8,7 @@ import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
public class ToolStationContainer extends Container
|
||||
public class ToolStationContainer extends ActiveContainer
|
||||
{
|
||||
InventoryPlayer invPlayer;
|
||||
ToolStationLogic logic;
|
||||
|
@ -118,7 +118,7 @@ public class BlueSlime extends EntityLiving implements IMob
|
||||
@Override
|
||||
public boolean getCanSpawnHere ()
|
||||
{
|
||||
return isValidLightLevel() && this.worldObj.checkIfAABBIsClear(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty()
|
||||
return isValidLightLevel() && this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty()
|
||||
&& !this.worldObj.isAnyLiquid(this.boundingBox);
|
||||
}
|
||||
|
||||
|
@ -13,200 +13,210 @@ import net.minecraft.world.World;
|
||||
|
||||
public class GolemBase extends EntityCreature
|
||||
{
|
||||
public String creator;
|
||||
public int maxHealth;
|
||||
public int baseAttack;
|
||||
public boolean paused;
|
||||
float bodyHeight;
|
||||
float bodyWidth;
|
||||
int movementType;
|
||||
|
||||
protected ItemStack[] inventory;
|
||||
protected FancyEntityItem coreItem;
|
||||
public ArrayList<CoreAI> aiList = new ArrayList<CoreAI>();
|
||||
|
||||
public GolemBase(World world)
|
||||
{
|
||||
super(world);
|
||||
setInitialStats();
|
||||
}
|
||||
public String creator;
|
||||
public int maxHealth = 20;
|
||||
public int baseAttack;
|
||||
public boolean paused;
|
||||
float bodyHeight;
|
||||
float bodyWidth;
|
||||
int movementType;
|
||||
|
||||
@Override
|
||||
public int getMaxHealth ()
|
||||
{
|
||||
return maxHealth;
|
||||
}
|
||||
|
||||
protected void setInitialStats()
|
||||
{
|
||||
maxHealth = 20;
|
||||
baseAttack = 3;
|
||||
paused = false;
|
||||
inventory = new ItemStack[0];
|
||||
}
|
||||
|
||||
/* AI */
|
||||
public void addCoreAI(CoreAI ai, boolean flag)
|
||||
{
|
||||
aiList.add(ai);
|
||||
//tier2key.onInit(this, flag);
|
||||
}
|
||||
|
||||
protected void updateWanderPath ()
|
||||
{
|
||||
if (!paused)
|
||||
super.updateWanderPath();
|
||||
}
|
||||
|
||||
protected void coreRoutine()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void guardRoutine()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void followRoutine()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void protectRoutine()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/* Types */
|
||||
public void setTraits()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/* Other */
|
||||
protected boolean canDespawn ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Effects */
|
||||
public void sparkle ()
|
||||
{
|
||||
Random random = worldObj.rand;
|
||||
double d = (double) ((float) posX + random.nextFloat() * 2.0F) - 1.0D;
|
||||
double d1 = (float) posY + random.nextFloat() * (float) bodyHeight;
|
||||
double d2 = (double) ((float) posZ + random.nextFloat() * 2.0F) - 1.0D;
|
||||
double d3 = (double) ((float) posX + random.nextFloat() * 2.0F) - 1.0D;
|
||||
double d4 = (float) posY + random.nextFloat() * (float) bodyHeight;
|
||||
double d5 = (double) ((float) posZ + random.nextFloat() * 2.0F) - 1.0D;
|
||||
switch (0)//(state)
|
||||
{
|
||||
case 0:
|
||||
worldObj.spawnParticle("reddust", d, d1, d2, 0.0D, 1.0D, 0.0D);
|
||||
worldObj.spawnParticle("reddust", d3, d4, d5, 0.0D, 1.0D, 0.0D);
|
||||
break;
|
||||
protected ItemStack[] inventory;
|
||||
protected FancyEntityItem coreItem;
|
||||
public ArrayList<CoreAI> aiList = new ArrayList<CoreAI>();
|
||||
|
||||
case 1:
|
||||
worldObj.spawnParticle("reddust", d, d1, d2, -1D, 0.0D, 1.0D);
|
||||
worldObj.spawnParticle("reddust", d3, d4, d5, -1D, 0.0D, 1.0D);
|
||||
break;
|
||||
public GolemBase(World world)
|
||||
{
|
||||
super(world);
|
||||
this.texture = "/terrain.png";
|
||||
//setInitialStats();
|
||||
}
|
||||
|
||||
case 2:
|
||||
worldObj.spawnParticle("reddust", d, d1, d2, 1.0D, 0.0D, 0.0D);
|
||||
worldObj.spawnParticle("reddust", d3, d4, d5, 1.0D, 0.0D, 0.0D);
|
||||
break;
|
||||
@Override
|
||||
public int getMaxHealth ()
|
||||
{
|
||||
//Workaround for dying on spawn
|
||||
if (maxHealth == 0)
|
||||
return 20;
|
||||
|
||||
return maxHealth;
|
||||
}
|
||||
|
||||
case 3:
|
||||
worldObj.spawnParticle("reddust", d, d1, d2, 1.0D, 1.0D, 1.0D);
|
||||
worldObj.spawnParticle("reddust", d3, d4, d5, 1.0D, 1.0D, 1.0D);
|
||||
break;
|
||||
@Override
|
||||
public void initCreature ()
|
||||
{
|
||||
//maxHealth = 20;
|
||||
baseAttack = 3;
|
||||
paused = false;
|
||||
inventory = new ItemStack[0];
|
||||
}
|
||||
|
||||
case 4:
|
||||
worldObj.spawnParticle("reddust", d, d1, d2, 0.46000000000000002D, 0.28999999999999998D, 0.19D);
|
||||
worldObj.spawnParticle("reddust", d3, d4, d5, 0.46000000000000002D, 0.28999999999999998D, 0.19D);
|
||||
break;
|
||||
}
|
||||
}
|
||||
/* AI */
|
||||
public void addCoreAI (CoreAI ai, boolean flag)
|
||||
{
|
||||
aiList.add(ai);
|
||||
}
|
||||
|
||||
public void sparkle (double d, double d1, double d2)
|
||||
{
|
||||
Random random = worldObj.rand;
|
||||
double d3 = (double) ((float) posX + random.nextFloat() * 2.0F) - 1.0D;
|
||||
double d4 = (float) posY + random.nextFloat() * (float) bodyHeight;
|
||||
double d5 = (double) ((float) posZ + random.nextFloat() * 2.0F) - 1.0D;
|
||||
double d6 = (double) ((float) posX + random.nextFloat() * 2.0F) - 1.0D;
|
||||
double d7 = (float) posY + random.nextFloat() * (float) bodyHeight;
|
||||
double d8 = (double) ((float) posZ + random.nextFloat() * 2.0F) - 1.0D;
|
||||
worldObj.spawnParticle("reddust", d3, d4, d5, d, d1, d2);
|
||||
worldObj.spawnParticle("reddust", d6, d7, d8, d, d1, d2);
|
||||
}
|
||||
protected void updateWanderPath ()
|
||||
{
|
||||
if (!paused)
|
||||
super.updateWanderPath();
|
||||
}
|
||||
|
||||
public void shineRadius (float f, double d, double d1, double d2)
|
||||
{
|
||||
shineRadius(f, d, d1, d2, 2, "reddust");
|
||||
}
|
||||
protected void coreRoutine ()
|
||||
{
|
||||
|
||||
public void shineRadius (float f, double d, double d1, double d2, int i, String s)
|
||||
{
|
||||
d++;
|
||||
Random random = new Random();
|
||||
float f1 = 0.7F;
|
||||
float f2 = bodyHeight / 5;
|
||||
for (int j = 1; j <= 2; j++)
|
||||
{
|
||||
float f3 = f / (float) j;
|
||||
for (double d3 = 0.0D; d3 < 1.5707963D; d3 += 0.10000000000000001D)
|
||||
{
|
||||
float f4 = (float) ((double) f3 * Math.cos(d3));
|
||||
float f5 = (float) ((double) f3 * Math.sin(d3));
|
||||
for (int k = 0; k < i; k++)
|
||||
{
|
||||
worldObj.spawnParticle(s, ((float) posX + f4 + random.nextFloat() * f1) - 0.5F, (float) posY + f2, ((float) posZ + f5 + random.nextFloat() * f1) - 0.5F, d, d1, d2);
|
||||
}
|
||||
}
|
||||
|
||||
for (int l = 0; l < i; l++)
|
||||
{
|
||||
worldObj.spawnParticle(s, (((float) posX - f4) + random.nextFloat() * f1) - 0.5F, (float) posY + f2, ((float) posZ + f5 + random.nextFloat() * f1) - 0.5F, d, d1, d2);
|
||||
}
|
||||
protected void guardRoutine ()
|
||||
{
|
||||
|
||||
for (int i1 = 0; i1 < i; i1++)
|
||||
{
|
||||
worldObj.spawnParticle(s, ((float) posX + f4 + random.nextFloat() * f1) - 0.5F, (float) posY + f2, (((float) posZ - f5) + random.nextFloat() * f1) - 0.5F, d, d1, d2);
|
||||
}
|
||||
}
|
||||
|
||||
for (int j1 = 0; j1 < i; j1++)
|
||||
{
|
||||
worldObj.spawnParticle(s, (((float) posX - f4) + random.nextFloat() * f1) - 0.5F, (float) posY + f2, (((float) posZ - f5) + random.nextFloat() * f1) - 0.5F, d, d1, d2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
protected void followRoutine ()
|
||||
{
|
||||
|
||||
public void shineRadius (float f, double d, double d1, double d2, boolean flag)
|
||||
{
|
||||
d--;
|
||||
Random random = new Random();
|
||||
float f1 = 0.7F;
|
||||
float f2 = f;
|
||||
String s = "reddust";
|
||||
float f3 = (float) bodyHeight / 5F;
|
||||
for (double d3 = 0.0D; d3 < 1.5707963D; d3 += 0.20000000000000001D)
|
||||
{
|
||||
float f4 = (float) Math.sin(d3);
|
||||
float f5 = (float) Math.cos(d3);
|
||||
float f6 = f2 * f4;
|
||||
for (double d4 = 0.0D; d4 < 1.5707963D; d4 += 0.20000000000000001D)
|
||||
{
|
||||
float f7 = (float) Math.sin(d4);
|
||||
float f8 = (float) Math.cos(d4);
|
||||
float f9 = f2 * f8 * f5;
|
||||
float f10 = f2 * f7 * f5;
|
||||
worldObj.spawnParticle(s, ((float) posX + f9 + random.nextFloat() * f1) - 0.5F, (float) posY + f3 + f6 + random.nextFloat() * f1, ((float) posZ + f10 + random.nextFloat() * f1) - 0.5F, d, d1, d2);
|
||||
worldObj.spawnParticle(s, (((float) posX - f9) + random.nextFloat() * f1) - 0.5F, (float) posY + f3 + f6 + random.nextFloat() * f1, ((float) posZ + f10 + random.nextFloat() * f1) - 0.5F, d, d1, d2);
|
||||
worldObj.spawnParticle(s, ((float) posX + f9 + random.nextFloat() * f1) - 0.5F, (float) posY + f3 + f6 + random.nextFloat() * f1, (((float) posZ - f10) + random.nextFloat() * f1) - 0.5F, d, d1, d2);
|
||||
worldObj.spawnParticle(s, (((float) posX - f9) + random.nextFloat() * f1) - 0.5F, (float) posY + f3 + f6 + random.nextFloat() * f1, (((float) posZ - f10) + random.nextFloat() * f1) - 0.5F, d, d1, d2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void protectRoutine ()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/* Types */
|
||||
public void setTraits ()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/* Other */
|
||||
protected boolean canDespawn ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Effects */
|
||||
public void sparkle ()
|
||||
{
|
||||
Random random = worldObj.rand;
|
||||
double d = (double) ((float) posX + random.nextFloat() * 2.0F) - 1.0D;
|
||||
double d1 = (float) posY + random.nextFloat() * (float) bodyHeight;
|
||||
double d2 = (double) ((float) posZ + random.nextFloat() * 2.0F) - 1.0D;
|
||||
double d3 = (double) ((float) posX + random.nextFloat() * 2.0F) - 1.0D;
|
||||
double d4 = (float) posY + random.nextFloat() * (float) bodyHeight;
|
||||
double d5 = (double) ((float) posZ + random.nextFloat() * 2.0F) - 1.0D;
|
||||
switch (0)
|
||||
//(state)
|
||||
{
|
||||
case 0:
|
||||
worldObj.spawnParticle("reddust", d, d1, d2, 0.0D, 1.0D, 0.0D);
|
||||
worldObj.spawnParticle("reddust", d3, d4, d5, 0.0D, 1.0D, 0.0D);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
worldObj.spawnParticle("reddust", d, d1, d2, -1D, 0.0D, 1.0D);
|
||||
worldObj.spawnParticle("reddust", d3, d4, d5, -1D, 0.0D, 1.0D);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
worldObj.spawnParticle("reddust", d, d1, d2, 1.0D, 0.0D, 0.0D);
|
||||
worldObj.spawnParticle("reddust", d3, d4, d5, 1.0D, 0.0D, 0.0D);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
worldObj.spawnParticle("reddust", d, d1, d2, 1.0D, 1.0D, 1.0D);
|
||||
worldObj.spawnParticle("reddust", d3, d4, d5, 1.0D, 1.0D, 1.0D);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
worldObj.spawnParticle("reddust", d, d1, d2, 0.46000000000000002D, 0.28999999999999998D, 0.19D);
|
||||
worldObj.spawnParticle("reddust", d3, d4, d5, 0.46000000000000002D, 0.28999999999999998D, 0.19D);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void sparkle (double d, double d1, double d2)
|
||||
{
|
||||
Random random = worldObj.rand;
|
||||
double d3 = (double) ((float) posX + random.nextFloat() * 2.0F) - 1.0D;
|
||||
double d4 = (float) posY + random.nextFloat() * (float) bodyHeight;
|
||||
double d5 = (double) ((float) posZ + random.nextFloat() * 2.0F) - 1.0D;
|
||||
double d6 = (double) ((float) posX + random.nextFloat() * 2.0F) - 1.0D;
|
||||
double d7 = (float) posY + random.nextFloat() * (float) bodyHeight;
|
||||
double d8 = (double) ((float) posZ + random.nextFloat() * 2.0F) - 1.0D;
|
||||
worldObj.spawnParticle("reddust", d3, d4, d5, d, d1, d2);
|
||||
worldObj.spawnParticle("reddust", d6, d7, d8, d, d1, d2);
|
||||
}
|
||||
|
||||
public void shineRadius (float f, double d, double d1, double d2)
|
||||
{
|
||||
shineRadius(f, d, d1, d2, 2, "reddust");
|
||||
}
|
||||
|
||||
public void shineRadius (float f, double d, double d1, double d2, int i, String s)
|
||||
{
|
||||
d++;
|
||||
Random random = new Random();
|
||||
float f1 = 0.7F;
|
||||
float f2 = bodyHeight / 5;
|
||||
for (int j = 1; j <= 2; j++)
|
||||
{
|
||||
float f3 = f / (float) j;
|
||||
for (double d3 = 0.0D; d3 < 1.5707963D; d3 += 0.10000000000000001D)
|
||||
{
|
||||
float f4 = (float) ((double) f3 * Math.cos(d3));
|
||||
float f5 = (float) ((double) f3 * Math.sin(d3));
|
||||
for (int k = 0; k < i; k++)
|
||||
{
|
||||
worldObj.spawnParticle(s, ((float) posX + f4 + random.nextFloat() * f1) - 0.5F, (float) posY + f2, ((float) posZ + f5 + random.nextFloat() * f1) - 0.5F, d, d1, d2);
|
||||
}
|
||||
|
||||
for (int l = 0; l < i; l++)
|
||||
{
|
||||
worldObj.spawnParticle(s, (((float) posX - f4) + random.nextFloat() * f1) - 0.5F, (float) posY + f2, ((float) posZ + f5 + random.nextFloat() * f1) - 0.5F, d, d1, d2);
|
||||
}
|
||||
|
||||
for (int i1 = 0; i1 < i; i1++)
|
||||
{
|
||||
worldObj.spawnParticle(s, ((float) posX + f4 + random.nextFloat() * f1) - 0.5F, (float) posY + f2, (((float) posZ - f5) + random.nextFloat() * f1) - 0.5F, d, d1, d2);
|
||||
}
|
||||
|
||||
for (int j1 = 0; j1 < i; j1++)
|
||||
{
|
||||
worldObj.spawnParticle(s, (((float) posX - f4) + random.nextFloat() * f1) - 0.5F, (float) posY + f2, (((float) posZ - f5) + random.nextFloat() * f1) - 0.5F, d, d1, d2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void shineRadius (float f, double d, double d1, double d2, boolean flag)
|
||||
{
|
||||
d--;
|
||||
Random random = new Random();
|
||||
float f1 = 0.7F;
|
||||
float f2 = f;
|
||||
String s = "reddust";
|
||||
float f3 = (float) bodyHeight / 5F;
|
||||
for (double d3 = 0.0D; d3 < 1.5707963D; d3 += 0.20000000000000001D)
|
||||
{
|
||||
float f4 = (float) Math.sin(d3);
|
||||
float f5 = (float) Math.cos(d3);
|
||||
float f6 = f2 * f4;
|
||||
for (double d4 = 0.0D; d4 < 1.5707963D; d4 += 0.20000000000000001D)
|
||||
{
|
||||
float f7 = (float) Math.sin(d4);
|
||||
float f8 = (float) Math.cos(d4);
|
||||
float f9 = f2 * f8 * f5;
|
||||
float f10 = f2 * f7 * f5;
|
||||
worldObj.spawnParticle(s, ((float) posX + f9 + random.nextFloat() * f1) - 0.5F, (float) posY + f3 + f6 + random.nextFloat() * f1,
|
||||
((float) posZ + f10 + random.nextFloat() * f1) - 0.5F, d, d1, d2);
|
||||
worldObj.spawnParticle(s, (((float) posX - f9) + random.nextFloat() * f1) - 0.5F, (float) posY + f3 + f6 + random.nextFloat() * f1,
|
||||
((float) posZ + f10 + random.nextFloat() * f1) - 0.5F, d, d1, d2);
|
||||
worldObj.spawnParticle(s, ((float) posX + f9 + random.nextFloat() * f1) - 0.5F, (float) posY + f3 + f6 + random.nextFloat() * f1,
|
||||
(((float) posZ - f10) + random.nextFloat() * f1) - 0.5F, d, d1, d2);
|
||||
worldObj.spawnParticle(s, (((float) posX - f9) + random.nextFloat() * f1) - 0.5F, (float) posY + f3 + f6 + random.nextFloat() * f1,
|
||||
(((float) posZ - f10) + random.nextFloat() * f1) - 0.5F, d, d1, d2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -36,7 +36,8 @@ public class CraftingItem extends Item
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void updateIcons(IconRegister iconRegister)
|
||||
@Override
|
||||
public void registerIcons(IconRegister iconRegister)
|
||||
{
|
||||
this.icons = new Icon[textureNames.length];
|
||||
|
||||
|
@ -159,7 +159,7 @@ public class FilledBucket extends ItemBucket
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void updateIcons(IconRegister iconRegister)
|
||||
public void registerIcons(IconRegister iconRegister)
|
||||
{
|
||||
this.icons = new Icon[textureNames.length];
|
||||
|
||||
|
88
mods/tinker/tconstruct/items/RedstoneBallRepeaterItem.java
Normal file
88
mods/tinker/tconstruct/items/RedstoneBallRepeaterItem.java
Normal file
@ -0,0 +1,88 @@
|
||||
package mods.tinker.tconstruct.items;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import mods.tinker.tconstruct.TContent;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.texture.IconRegister;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.Icon;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class RedstoneBallRepeaterItem extends Item
|
||||
{
|
||||
public RedstoneBallRepeaterItem(int par1)
|
||||
{
|
||||
super(par1);
|
||||
this.setCreativeTab(CreativeTabs.tabRedstone);
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback for item usage. If the item does something special on right clicking, he will have one of those. Return
|
||||
* True if something happen and false if it don't. This is for ITEMS, not BLOCKS
|
||||
*/
|
||||
public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)
|
||||
{
|
||||
if (par3World.getBlockId(par4, par5, par6) != Block.snow.blockID)
|
||||
{
|
||||
if (par7 == 0)
|
||||
{
|
||||
--par5;
|
||||
}
|
||||
|
||||
if (par7 == 1)
|
||||
{
|
||||
++par5;
|
||||
}
|
||||
|
||||
if (par7 == 2)
|
||||
{
|
||||
--par6;
|
||||
}
|
||||
|
||||
if (par7 == 3)
|
||||
{
|
||||
++par6;
|
||||
}
|
||||
|
||||
if (par7 == 4)
|
||||
{
|
||||
--par4;
|
||||
}
|
||||
|
||||
if (par7 == 5)
|
||||
{
|
||||
++par4;
|
||||
}
|
||||
|
||||
if (!par3World.isAirBlock(par4, par5, par6))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Block.redstoneWire.canPlaceBlockAt(par3World, par4, par5, par6))
|
||||
{
|
||||
--par1ItemStack.stackSize;
|
||||
par3World.setBlock(par4, par5, par6, TContent.redstoneBallRepeater.blockID);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void updateIcons(IconRegister iconRegister)
|
||||
{
|
||||
this.itemIcon = iconRegister.registerIcon("tinker:redstoneball");
|
||||
}
|
||||
}
|
@ -48,7 +48,8 @@ public class SpecialFood extends ItemFood
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void updateIcons(IconRegister iconRegister)
|
||||
@Override
|
||||
public void registerIcons(IconRegister iconRegister)
|
||||
{
|
||||
this.icons = new Icon[iconNames.length];
|
||||
|
||||
|
@ -13,10 +13,10 @@ public class TitleIcon extends Item
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateIcons (IconRegister iconRegister)
|
||||
public void registerIcons (IconRegister iconRegister)
|
||||
{
|
||||
ToolCore.blankSprite = iconRegister.registerIcon("tinker:blanksprite");
|
||||
TProxyClient.metalBall = iconRegister.registerIcon("tinker:metalball");
|
||||
iconIndex = iconRegister.registerIcon("tinker:tparts");
|
||||
itemIcon = iconRegister.registerIcon("tinker:tparts");
|
||||
}
|
||||
}
|
||||
|
@ -255,12 +255,14 @@ public class AbilityHelper
|
||||
int damage = tags.getCompoundTag("InfiTool").getInteger("Damage");
|
||||
int damageTrue = damage + dam;
|
||||
int maxDamage = tags.getCompoundTag("InfiTool").getInteger("TotalDurability");
|
||||
if (damage + dam <= 0)
|
||||
//System.out.println("True damage: "+damageTrue);
|
||||
if (damageTrue <= 0)
|
||||
{
|
||||
return;
|
||||
tags.getCompoundTag("InfiTool").setInteger("Damage", 0);
|
||||
stack.setItemDamage(0);
|
||||
}
|
||||
|
||||
else if ((damage + dam) > maxDamage)
|
||||
else if (damageTrue > maxDamage)
|
||||
{
|
||||
breakTool(stack, tags, entity);
|
||||
stack.setItemDamage(0);
|
||||
@ -269,14 +271,15 @@ public class AbilityHelper
|
||||
else
|
||||
{
|
||||
tags.getCompoundTag("InfiTool").setInteger("Damage", damage + dam);
|
||||
int toolDamage = damage * 100 / maxDamage;
|
||||
int toolDamage = (damage * 100 / maxDamage) + 1;
|
||||
int stackDamage = stack.getItemDamage();
|
||||
if (toolDamage != stackDamage)
|
||||
{
|
||||
if (damage + dam <= 0)
|
||||
/*if (damage + dam <= 0)
|
||||
stack.setItemDamage(0);
|
||||
else
|
||||
else*/
|
||||
stack.setItemDamage((damage * 100 / maxDamage) + 1);
|
||||
//stack.setItemDamage(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -140,7 +140,7 @@ public abstract class ToolCore extends Item implements ICustomElectricItem, IBox
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateIcons (IconRegister iconRegister)
|
||||
public void registerIcons (IconRegister iconRegister)
|
||||
{
|
||||
headIcons.clear();
|
||||
brokenHeadIcons.clear();
|
||||
|
@ -25,6 +25,8 @@ public class CastingTableLogic extends InventoryLogic
|
||||
public LiquidStack liquid;
|
||||
int castingDelay = 0;
|
||||
int renderOffset = 0;
|
||||
boolean needsUpdate;
|
||||
int tick;
|
||||
|
||||
public CastingTableLogic()
|
||||
{
|
||||
@ -75,6 +77,9 @@ public class CastingTableLogic extends InventoryLogic
|
||||
@Override
|
||||
public int fill (LiquidStack resource, boolean doFill)
|
||||
{
|
||||
if (doFill)
|
||||
needsUpdate = true;
|
||||
|
||||
if (resource == null)
|
||||
return 0;
|
||||
|
||||
@ -136,6 +141,7 @@ public class CastingTableLogic extends InventoryLogic
|
||||
{
|
||||
super.onInventoryChanged();
|
||||
worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
|
||||
needsUpdate = true;
|
||||
}
|
||||
|
||||
public ItemStack decrStackSize(int slot, int quantity)
|
||||
@ -217,6 +223,14 @@ public class CastingTableLogic extends InventoryLogic
|
||||
renderOffset -= 6;
|
||||
worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
|
||||
}
|
||||
|
||||
tick++;
|
||||
if (tick % 20 == 0)
|
||||
{
|
||||
tick = 0;
|
||||
if (needsUpdate)
|
||||
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
|
||||
}
|
||||
}
|
||||
|
||||
public void castLiquid ()
|
||||
|
@ -36,7 +36,7 @@ public class GolemPedestalLogic extends TileEntity
|
||||
cost[Block.pumpkinLantern.blockID] = 8;
|
||||
cost[Block.blockDiamond.blockID] = 1;
|
||||
cost[Block.blockGold.blockID] = 1;
|
||||
cost[Block.blockSteel.blockID] = 1;
|
||||
cost[Block.blockIron.blockID] = 1;
|
||||
cost[Block.blockLapis.blockID] = 1;
|
||||
cost[Block.jukebox.blockID] = 1;
|
||||
cost[Block.music.blockID] = 1;
|
||||
@ -110,7 +110,7 @@ public class GolemPedestalLogic extends TileEntity
|
||||
souls[Block.pumpkinLantern.blockID] = 1;
|
||||
souls[Block.blockDiamond.blockID] = 27;
|
||||
souls[Block.blockGold.blockID] = 2;
|
||||
souls[Block.blockSteel.blockID] = 2;
|
||||
souls[Block.blockIron.blockID] = 2;
|
||||
souls[Block.blockLapis.blockID] = 3;
|
||||
souls[Block.jukebox.blockID] = 3;
|
||||
souls[Block.music.blockID] = 1;
|
||||
|
@ -61,6 +61,7 @@ public class SmelteryLogic extends InventoryLogic implements IActiveLogic, IFaci
|
||||
int numBricks;
|
||||
|
||||
Random rand = new Random();
|
||||
boolean needsUpdate;
|
||||
|
||||
public SmelteryLogic()
|
||||
{
|
||||
@ -74,6 +75,7 @@ public class SmelteryLogic extends InventoryLogic implements IActiveLogic, IFaci
|
||||
{
|
||||
if (lay != layers || forceAdjust)
|
||||
{
|
||||
needsUpdate = true;
|
||||
layers = lay;
|
||||
maxLiquid = 20000 * lay;
|
||||
int[] tempActive = activeTemps;
|
||||
@ -217,7 +219,8 @@ public class SmelteryLogic extends InventoryLogic implements IActiveLogic, IFaci
|
||||
@Override
|
||||
public void setActive (boolean flag)
|
||||
{
|
||||
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
|
||||
needsUpdate = true;
|
||||
//worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
|
||||
}
|
||||
|
||||
public int getScaledFuelGague (int scale)
|
||||
@ -263,6 +266,12 @@ public class SmelteryLogic extends InventoryLogic implements IActiveLogic, IFaci
|
||||
{
|
||||
updateFuelGague();
|
||||
}
|
||||
|
||||
if (needsUpdate)
|
||||
{
|
||||
needsUpdate = false;
|
||||
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -313,6 +322,7 @@ public class SmelteryLogic extends InventoryLogic implements IActiveLogic, IFaci
|
||||
|
||||
boolean addMoltenMetal (LiquidStack liquid, boolean first)
|
||||
{
|
||||
needsUpdate = true;
|
||||
if (moltenMetal.size() == 0)
|
||||
{
|
||||
moltenMetal.add(liquid);
|
||||
@ -372,6 +382,7 @@ public class SmelteryLogic extends InventoryLogic implements IActiveLogic, IFaci
|
||||
}
|
||||
if (tankContainer instanceof ITankContainer && inUse)
|
||||
{
|
||||
needsUpdate = true;
|
||||
LiquidStack liquid = ((ITankContainer) tankContainer).drain(ForgeDirection.DOWN, 150, false);
|
||||
if (liquid != null && liquid.itemID == Block.lavaStill.blockID)
|
||||
{
|
||||
@ -434,8 +445,9 @@ public class SmelteryLogic extends InventoryLogic implements IActiveLogic, IFaci
|
||||
{
|
||||
updateTemperatures();
|
||||
super.onInventoryChanged();
|
||||
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
|
||||
worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
|
||||
needsUpdate = true;
|
||||
//worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
|
||||
//worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
|
||||
}
|
||||
|
||||
/* Multiblock */
|
||||
@ -697,7 +709,9 @@ public class SmelteryLogic extends InventoryLogic implements IActiveLogic, IFaci
|
||||
|
||||
public LiquidStack drain (int maxDrain, boolean doDrain)
|
||||
{
|
||||
//System.out.println("Liquid: "+currentLiquid);
|
||||
if (doDrain)
|
||||
needsUpdate = true;
|
||||
|
||||
if (moltenMetal.size() == 0)
|
||||
return null;
|
||||
|
||||
@ -728,6 +742,9 @@ public class SmelteryLogic extends InventoryLogic implements IActiveLogic, IFaci
|
||||
|
||||
public int fill (LiquidStack resource, boolean doFill)
|
||||
{
|
||||
if (doFill)
|
||||
needsUpdate = true;
|
||||
|
||||
if (resource != null && resource.amount + currentLiquid < maxLiquid)
|
||||
{
|
||||
int amount = resource.amount;
|
||||
|
@ -15,7 +15,7 @@ public class ModRedstone extends ToolMod
|
||||
super(items, effect, "Redstone");
|
||||
tooltipName = "\u00a74Haste";
|
||||
increase = inc;
|
||||
max = 25;
|
||||
max = 50;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -63,14 +63,14 @@ public class TFoodStats extends FoodStats
|
||||
}
|
||||
}
|
||||
|
||||
if (this.foodLevel >= 12 + 2*difficulty && player.getHealth() > 0 && player.getHealth() < TConstruct.playerTracker.getPlayerStats(player.username).health)
|
||||
if (this.foodLevel >= 12 + 2*difficulty && player.shouldHeal())
|
||||
{
|
||||
++this.foodTimer;
|
||||
|
||||
if (this.foodTimer >= 80)
|
||||
{
|
||||
//player.heal(1);
|
||||
player.setEntityHealth(player.getHealth() + 1);
|
||||
player.heal(1);
|
||||
//player.setEntityHealth(player.getHealth() + 1);
|
||||
this.foodTimer = 0;
|
||||
}
|
||||
}
|
||||
|
@ -3,10 +3,10 @@ package mods.tinker.tconstruct.player;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.HashMap;
|
||||
import java.util.Random;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import mods.tinker.tconstruct.PHConstruct;
|
||||
import mods.tinker.tconstruct.TContent;
|
||||
import mods.tinker.tconstruct.client.TProxyClient;
|
||||
import mods.tinker.tconstruct.library.AbilityHelper;
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.enchantment.EnchantmentHelper;
|
||||
@ -29,7 +29,7 @@ public class TPlayerHandler implements IPlayerTracker
|
||||
{
|
||||
/* Player */
|
||||
//public int hunger;
|
||||
public HashMap<String, TPlayerStats> playerStats = new HashMap<String, TPlayerStats>();
|
||||
public ConcurrentHashMap<String, TPlayerStats> playerStats = new ConcurrentHashMap<String, TPlayerStats>();
|
||||
|
||||
@Override
|
||||
public void onPlayerLogin (EntityPlayer entityplayer)
|
||||
@ -46,7 +46,7 @@ public class TPlayerHandler implements IPlayerTracker
|
||||
TPlayerStats stats = new TPlayerStats();
|
||||
stats.player = new WeakReference<EntityPlayer>(entityplayer);
|
||||
stats.level = entityplayer.experienceLevel;
|
||||
stats.health = 20; //More hp in the future
|
||||
stats.health = entityplayer.maxHealth;
|
||||
stats.hunger = entityplayer.getFoodStats().getFoodLevel();
|
||||
stats.beginnerManual = tags.getCompoundTag("TConstruct").getBoolean("beginnerManual");
|
||||
stats.materialManual = tags.getCompoundTag("TConstruct").getBoolean("materialManual");
|
||||
|
@ -124,7 +124,7 @@ public class PotionLauncher extends Item
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void updateIcons (IconRegister par1IconRegister)
|
||||
public void registerIcons (IconRegister par1IconRegister)
|
||||
{
|
||||
this.icons = new Icon[textureNames.length];
|
||||
|
||||
|
BIN
mods/tinker/textures/blocks/repeaterDust_cross.png
Normal file
BIN
mods/tinker/textures/blocks/repeaterDust_cross.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 292 B |
BIN
mods/tinker/textures/blocks/repeaterDust_cross_overlay.png
Normal file
BIN
mods/tinker/textures/blocks/repeaterDust_cross_overlay.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 75 B |
BIN
mods/tinker/textures/blocks/repeaterDust_line.png
Normal file
BIN
mods/tinker/textures/blocks/repeaterDust_line.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 226 B |
BIN
mods/tinker/textures/blocks/repeaterDust_line_overlay.png
Normal file
BIN
mods/tinker/textures/blocks/repeaterDust_line_overlay.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 75 B |
BIN
mods/tinker/textures/items/redstoneball.png
Normal file
BIN
mods/tinker/textures/items/redstoneball.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 291 B |
73
pom.xml
73
pom.xml
@ -1,73 +0,0 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>tinker</groupId>
|
||||
<artifactId>TinkersConstruct</artifactId>
|
||||
<version>1.4.7</version>
|
||||
<name>TinkersConstruct</name>
|
||||
<url>https://github.com/mDiyo/TinkersConstruct</url>
|
||||
|
||||
<parent>
|
||||
<groupId>net.md-5</groupId>
|
||||
<artifactId>ForgeMod</artifactId>
|
||||
<version>1.4.7-6.6.2.534-R2</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<ic2.build>222</ic2.build>
|
||||
<ic2.version>1.115.${ic2.build}-lf</ic2.version>
|
||||
<ic2.mcp.mappings>https://raw.github.com/MinecraftForge/FML/1bd6847bc80f51b06544068011f7df3218f13999/conf/</ic2.mcp.mappings> <!-- 1.4.7 until IC2 updates -->
|
||||
</properties>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<activation>
|
||||
<activeByDefault>true</activeByDefault>
|
||||
</activation>
|
||||
<id>built</id>
|
||||
<dependencies>
|
||||
<!-- after the remapped artifact is built, add it a dependency -->
|
||||
<dependency>
|
||||
<groupId>net.industrial-craft</groupId>
|
||||
<artifactId>ic2</artifactId>
|
||||
<version>${ic2.version}</version>
|
||||
<type>jar</type>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<build>
|
||||
<sourceDirectory>${basedir}/tinker</sourceDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>${basedir}/resources</directory>
|
||||
</resource>
|
||||
</resources>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>net.md-5</groupId>
|
||||
<artifactId>specialsource-maven-plugin</artifactId>
|
||||
<version>1.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>install-remapped-ic2</id>
|
||||
<phase>initialize</phase>
|
||||
<goals>
|
||||
<goal>install-remapped-file</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<groupId>net.industrial-craft</groupId>
|
||||
<artifactId>ic2</artifactId>
|
||||
<version>${ic2.version}</version>
|
||||
<inJars>
|
||||
<param>http://ic2api.player.to:8080/job/IC2_lf/${ic2.build}/artifact/packages/industrialcraft-2_${ic2.version}.jar</param>
|
||||
</inJars>
|
||||
<srgIn>${ic2.mcp.mappings}</srgIn>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
@ -1,6 +1,6 @@
|
||||
package test;
|
||||
|
||||
import mods.tinker.tconstruct.entity.BlueSlime;
|
||||
import mods.tinker.tconstruct.entity.GolemBase;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
@ -32,12 +32,27 @@ public class XinStick extends Item
|
||||
@Override
|
||||
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
|
||||
{
|
||||
//spawnEntity(player.posX, player.posY+1, player.posZ, new BlueSlime(world), world, player);
|
||||
System.out.println("Health! "+player.getHealth());
|
||||
healPlayer(player);
|
||||
spawnEntity(player.posX, player.posY+1, player.posZ, new GolemBase(world), world, player);
|
||||
//System.out.println("Health! "+player.getHealth());
|
||||
//healPlayer(player);
|
||||
return stack;
|
||||
}
|
||||
|
||||
/*public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float clickX, float clickY, float clickZ)
|
||||
{
|
||||
EntityLightningBolt entity = new EntityLightningBolt(world, x, y, z);
|
||||
world.spawnEntityInWorld(entity);
|
||||
entity = new EntityLightningBolt(world, x-3, y+4, z-3);
|
||||
world.spawnEntityInWorld(entity);
|
||||
entity = new EntityLightningBolt(world, x-3, y+4, z+3);
|
||||
world.spawnEntityInWorld(entity);
|
||||
entity = new EntityLightningBolt(world, x+3, y+4, z-3);
|
||||
world.spawnEntityInWorld(entity);
|
||||
entity = new EntityLightningBolt(world, x+3, y+4, z+3);
|
||||
world.spawnEntityInWorld(entity);
|
||||
return false;
|
||||
}*/
|
||||
|
||||
public static void healPlayer(EntityPlayer player)
|
||||
{
|
||||
player.setEntityHealth(50);
|
||||
|
Loading…
x
Reference in New Issue
Block a user