Stability

This commit is contained in:
mDiyo 2013-04-17 22:52:40 -07:00
parent dd7d35021e
commit 9e642bb13b
61 changed files with 1521 additions and 535 deletions

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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());
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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>

View File

@ -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;

View File

@ -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;

View File

@ -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)));
}

View File

@ -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)
{

View File

@ -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

View File

@ -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];
}

View File

@ -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;

View File

@ -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)
{

View File

@ -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)

View File

@ -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]);

View File

@ -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;

View 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)));
}
}

View File

@ -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)];

View File

@ -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)
{

View File

@ -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];
}

View File

@ -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)
{

View File

@ -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));

View File

@ -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);
}

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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;
}
}

View 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();
}*/
}

View File

@ -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);

View File

@ -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;
}

View File

@ -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

View File

@ -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);

View File

@ -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;

View File

@ -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);
}

View File

@ -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);
}
}
}
}

View File

@ -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];

View File

@ -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];

View 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");
}
}

View File

@ -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];

View File

@ -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");
}
}

View File

@ -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);
}
}

View File

@ -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();

View File

@ -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 ()

View File

@ -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;

View File

@ -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;

View File

@ -15,7 +15,7 @@ public class ModRedstone extends ToolMod
super(items, effect, "Redstone");
tooltipName = "\u00a74Haste";
increase = inc;
max = 25;
max = 50;
}
@Override

View File

@ -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;
}
}

View File

@ -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");

View File

@ -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];

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 B

73
pom.xml
View File

@ -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>

View File

@ -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);