Rendu complexe de bloc via TESR
-
Je ne sais pas pourquoi, mais quand je pose le bloc rendu sous techne, il est transparent.
Je vous donne toute mes class pour que vous regardiez ce qui ne va pas:
BlockTutorial:package testmodcode; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class BlockTutorial extends BlockContainer{ public BlockTutorial(int id) { super(id, Material.rock); this.setCreativeTab(CreativeTabs.tabBlock); } @Override public TileEntity createNewTileEntity(World world) { return new TileEntityTutorial(); } @Override public TileEntity createTileEntity(World world, int metadata) { return new TileEntityTutorialTechne(); } public boolean hasTileEntity(int metadata) { return true; } public boolean isOpaqueCube() { return false; } public boolean renderAsNormalBlock() { return false; } public int getRenderType() { return -1; } }
TileEntityTutorialTechneRender:
package testmodcode; import net.minecraft.block.Block; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.entity.Entity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import org.lwjgl.opengl.GL11; public class TileEntityTutorialTechneRender extends TileEntitySpecialRenderer { private final ModelBlockTutorielTechne model; protected static final ResourceLocation texture = new ResourceLocation("rm:blockrender"); public TileEntityTutorialTechneRender() { this.model = new ModelBlockTutorielTechne(); } private void adjustRotatePivotViaMeta(World world, int x, int y, int z) { int meta = world.getBlockMetadata(x, y, z); GL11.glPushMatrix(); GL11.glRotatef(meta * (-90), 0.0F, 0.0F, 1.0F); GL11.glPopMatrix(); } @Override public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float scale) { this.renderTileEntityAtBlockTutorielTechne((TileEntityTutorialTechne)tileentity, x, y, z, scale); } public void renderTileEntityAtBlockTutorielTechne(TileEntityTutorialTechne tileentity, double x, double y, double z, float scale) { GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); this.bindTexture(new ResourceLocation("rm:blockrender")); GL11.glPushMatrix(); GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); GL11.glPopMatrix(); GL11.glPopMatrix(); } private void adjustLightFixture(World world, int i, int j, int k, Block block) { Tessellator tess = Tessellator.instance; float brightness = block.getBlockBrightness(world, i, j, k); int skyLight = world.getLightBrightnessForSkyBlocks(i, j, k, 0); int modulousModifier = skyLight % 65536; int divModifier = skyLight / 65536; tess.setColorOpaque_F(brightness, brightness, brightness); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)modulousModifier, divModifier); } }
TileEntityTutorialTechne:
package testmodcode; import net.minecraft.tileentity.TileEntity; public class TileEntityTutorialTechne extends TileEntity { }
TileEntityTutorial:
package testmodcode; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; public class TileEntityTutorial extends TileEntity { public String visiteur[] = new String[]{"visiteur0", "visiteur1", "visiteur2", "visiteur3", "visiteur4"}; public void readFromNBT(NBTTagCompound nbtTag) { super.readFromNBT(nbtTag); for(int i = 0; i < 5; i++) { visiteur* = nbtTag.getString("visiteur" + i); } } public void writeToNBT(NBTTagCompound nbtTag) { super.writeToNBT(nbtTag); for(int i = 0; i < 5; i++) { nbtTag.setString("visiteur" + i, visiteur*); } visiteur[0] = nbtTag.getString("visiteur" + 1); visiteur[1] = nbtTag.getString("visiteur" + 2); visiteur[2] = nbtTag.getString("visiteur" + 3); visiteur[3] = nbtTag.getString("visiteur" + 4); visiteur[4] = nbtTag.getString("visiteur" + 5); } public String getPlayerList() { return visiteur[0] + ", " + visiteur[1] + ", " + visiteur[2] + ", " + visiteur[3] + ", " + visiteur[4] + ", "; } public void addplayertolist(String playerName) { if(!visiteur[0].equals(playerName)) { for(int i = 3; i >= 0; i–) { visiteur _= visiteur*; } visiteur[0] = playerName; } worldObj.notifyBlockChange(xCoord, yCoord, zCoord, 2); visiteur[4] = visiteur[3]; visiteur[3] = visiteur[2]; visiteur[2] = visiteur[1]; visiteur[1] = visiteur[0]; } }
et juste au cas où, ma classe principale:
package testmodcode; import net.minecraft.block.Block; import net.minecraft.entity.EnumCreatureType; import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemSeedFood; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.stats.Achievement; import net.minecraft.stats.AchievementList; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.EnumHelper; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; @Mod(modid="BG", name="La Bite A Gab", version="V.1.0.0") @NetworkMod(clientSideRequired=true, serverSideRequired=false) // NE PAS MODIFIER CETTE LIGNE public class testmodcodemain { @SidedProxy(clientSide = "testmodcode.ClientProxy", serverSide = "testmodcode.CommonProxy") public static testmodcode.CommonProxy proxy; @Instance("BG") public static testmodcodemain instance; public static Item redstoneWheat; public static Block redstoneWheatBlock; public static Item redstoneWheatSeeds; public static Item breadredstone; public static Block redstoneHayBlock; public static Block rotationblock; public static Block BlockTutorial; @EventHandler public void PreInit(FMLPreInitializationEvent event) { //Configuration //redstoneblock redstoneWheatBlock = new BlockRedstoneWheat(1001).setUnlocalizedName("redstoneWheatBlock"); GameRegistry.registerBlock(redstoneWheatBlock, "redstoneWheatBlock"); LanguageRegistry.addName(redstoneWheatBlock, "Redstone Wheat Block"); //redstonecrops redstoneWheat = new RedstoneWheat(1002).setUnlocalizedName("Redstone Wheat"); GameRegistry.registerItem(redstoneWheat, "redstoneWheat"); LanguageRegistry.addName(redstoneWheat, "Redstone Wheat"); //redstoneseed redstoneWheatSeeds = new ItemredstoneWheatSeeds(1003, redstoneWheatBlock.blockID, Block.tilledField.blockID).setUnlocalizedName("redstone Wheat Seeds"); GameRegistry.registerItem(redstoneWheatSeeds, "redstoneWheatSeeds"); LanguageRegistry.addName(redstoneWheatSeeds, "redstone Wheat Seeds"); //breadredstone breadredstone = new FoodBreadRedstone(1004, 5, 0.6F, false).setPotionEffect(Potion.moveSpeed.id, 60, 8, 1.0F).setUnlocalizedName("Bread Redstone"); GameRegistry.registerItem(breadredstone, "breadredstone"); LanguageRegistry.addName(breadredstone, "Bread Redstone"); //BlockHayWheat redstoneHayBlock = new redstoneHayBlock(1005).setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("BlockTutorial"); GameRegistry.registerBlock(redstoneHayBlock, "redstoneHayBlock"); LanguageRegistry.addName(redstoneHayBlock, "Redstone Hay Block"); //BlockRenduTechne BlockTutorial = new BlockTutorial(1006).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("BlockTutorial"); GameRegistry.registerBlock(BlockTutorial, "BlockTutorial"); LanguageRegistry.addName(BlockTutorial, "BlockTutorial"); //Items //Achievements } @EventHandler public void Init(FMLInitializationEvent event) { //generation addGeneration(); } private void addGeneration() { GameRegistry.registerWorldGenerator(new MyWorldGen()); //Registry GameRegistry.registerTileEntity(TileEntityTutorial.class, "TileEntityTutorial"); //Mobs //Render proxy.registerRenderers(); //NetWork //Recipe GameRegistry.addRecipe(new ItemStack(breadredstone), new Object[]{"XXX", "YYY", "XXX", 'Y', testmodcodemain.redstoneWheat}); GameRegistry.addRecipe(new ItemStack(redstoneHayBlock), new Object[]{"XXX", "XXX", "XXX", 'X', testmodcodemain.redstoneWheat}); GameRegistry.addShapelessRecipe(new ItemStack(redstoneWheat, 9), new Object[]{ new ItemStack(testmodcodemain.redstoneHayBlock)}); GameRegistry.addShapelessRecipe(new ItemStack(Item.wheat, 9), new Object[]{ new ItemStack(Block.hay)}); } @EventHandler public void PostInit(FMLPostInitializationEvent event) { //Integration avec les autres mods } }
Merci encore une fois de m’aider :)_
-
Tu n’as pas de Model ?
-
Dans ton rendu:
protected static final ResourceLocation texture = new ResourceLocation("rm:blockrender");
l’argument de ResourceLocation doit être “modid:chemin” et pour ce qui ne l’on pas remarqué dans la classe principale vous déclarez ceci: modid=“BG”
-
Sa ne marche toujours pas, c’est toujours transparent, et voici ma class du model du bloc:
package testmodcode; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelBlockTutorielTechne extends ModelBase { //fields ModelRenderer Shape1; public ModelBlockTutorielTechne() { textureWidth = 32; textureHeight = 32; Shape1 = new ModelRenderer(this, 0, 0); Shape1.addBox(0F, 0F, 0F, 5, 10, 6); Shape1.setRotationPoint(-3F, 14F, -1F); Shape1.setTextureSize(32, 32); Shape1.mirror = true; setRotation(Shape1, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } 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); } }
je croit vraiment que j’ai rater quelque chose dans une des classes.
-
Sa c’est sur ta raté quelque chose ^_^ . Ayant moi même une erreur, je peut pas trop t’aider. Sa serais bien plus rapide que le rédacteur du tuto nous donne les classes mais bon…
-
Shape1.render(f5);
Dans la classe de ton model, dans la méthode render(…)
-
lol awesome erreur =)___
kevin_68, tu pourrais mettre les classes de ton tuto ( model et texture compris ) plz ?Sa serais vraiment cool, on aurait pas besoin de chercher 3000 heures
Merci
-
Merci kevin, maintenant le bloc apparait, mais il n’a toujours pas de texture :S
class TileEntityTutorialTechneRender:package testmodcode; import net.minecraft.block.Block; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.entity.Entity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import org.lwjgl.opengl.GL11; public class TileEntityTutorialTechneRender extends TileEntitySpecialRenderer { private final ModelBlockTutorielTechne model; protected static final ResourceLocation texture = new ResourceLocation("rm:blockrender"); public TileEntityTutorialTechneRender() { this.model = new ModelBlockTutorielTechne(); } private void adjustRotatePivotViaMeta(World world, int x, int y, int z) { int meta = world.getBlockMetadata(x, y, z); GL11.glPushMatrix(); GL11.glRotatef(meta * (-90), 0.0F, 0.0F, 1.0F); GL11.glPopMatrix(); } @Override public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float scale) { this.renderTileEntityAtBlockTutorielTechne((TileEntityTutorialTechne)tileentity, x, y, z, scale); } public void renderTileEntityAtBlockTutorielTechne(TileEntityTutorialTechne tileentity, double x, double y, double z, float scale) { GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); this.bindTexture(texture); GL11.glPushMatrix(); GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); GL11.glPopMatrix(); GL11.glPopMatrix(); } private void adjustLightFixture(World world, int i, int j, int k, Block block) { Tessellator tess = Tessellator.instance; float brightness = block.getBlockBrightness(world, i, j, k); int skyLight = world.getLightBrightnessForSkyBlocks(i, j, k, 0); int modulousModifier = skyLight % 65536; int divModifier = skyLight / 65536; tess.setColorOpaque_F(brightness, brightness, brightness); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)modulousModifier, divModifier); } }
et cette question n’a pas rapport avec le bloc techne, mais sais tu comment faire un craft smelting avec la Stained (hardened) clay? Parce que je ne la trouve pas dans la class block de minecraft et sa me serai vraiment utile pour mon mod. merci encore :)___
Ouais!!! Sa marche j’ai le model avec la texture et tout et tout merci Kevin Mais si tu peut et veut j’aimerai quand même que tu m’aide pour le smelting de l’hardened clay et j’aimerai aussi savoir comment mettre le bloc techne dans notre main, et pas un gros carré noir et rose. merci encore -
Comment t’as fais pour avoir la texrure ??? Moi j’avais bloqué au mm endroit. Et bravo en tout ça ^^___
Et quel est le chemin de la texture dans le dossier “assets” ? Tu l’as mis dans “blocks” ? Et quel chemin as tu mis sur elipse, parce que je crois que c’est a cet endroit la que j’ai merdé -
Pour la texture :
protected static final ResourceLocation texture = new ResourceLocation("modid", "textures/models/matexture.png");
ou
protected static final ResourceLocation texture = new ResourceLocation("modid:textures/models/matexture.png");
La texture doit être dans :
forge/mcp/src/minecraft/assets/modid/textures/models/matexture.png
C’est un exemple de chemin, vous pouvez mettre autre chose. -
En essayant de faire le changement de la texture, j’ai du faire un mauvais truc du coup, il me marque une errreur transparente :
public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float scale) { this.renderTileEntityAtTileEntityParasol((TileEntityParasol)tileentity,? x, y, z, scale); } public void renderTileEntityAtTileEntityParasol(TileEntityParasol tileentity, double x, double y, double z, float scale) { GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); this.func_110628_a(texture); GL11.glPushMatrix(); GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); GL11.glPopMatrix(); GL11.glPopMatrix(); }
Sur ```
this.renderTileEntityAtTileEntityParasol((TileEntityParasol)tileentity,? x, y, z, scale);Sa fais chier lol J'espère que vous pourriez m'aider pour ce probleme Merci
-
Normalement tu as qqch de souligné cherche et efface le caractère souligné. (regarde bien).
-
Eh bah justement, ya rien de souligné ! Mais c’est bon sa marche ! FOR-MI-DA-BLE ! , j’ai retapé la ligne à la main…
Voila voila, merci pour votre superbe aide !
Bonne nuit / journée
-
Y a t’il moyen d’avoir les sources de façon a avoir un bon exemple ?
-
https://github.com/MCNanotech/nanotech_mod/tree/master/common/fr/mcnanotech/kevin_68/nanotech_mod/city
Il faut juste chercher un peu les classes, il y a tout dedans. -
Merci, car mon bloc reste transparent, alors je vais chercher se qui aurai put causer sa.___
Je suis sincèrement dsl, j’ai essaye de m’en sortit par moi même mais sa ne marche pas.
Mon bloc reste transparent.
Pourriez vous m’aider ?
Nom de mon bloc: BarrelFichier de base:
package landcast.common; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import landcast.proxy.LandcastCommonProxy; import landcast.proxy.LandcastClientProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import java.io.File; import net.minecraft.block.Block; import net.minecraft.block.BlockFence; import net.minecraft.block.BlockStep; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.common.Property; @Mod(modid="landcast", name="Landcast Mod", version="1.5") @NetworkMod(clientSideRequired=true, serverSideRequired=false) public class Base { @Mod.Instance("landcast") public static Base instance; @SidedProxy(clientSide="landcast.proxy.LandcastClientProxy", serverSide="landcast.proxy.LandcastCommonProxy") public static LandcastCommonProxy proxy; public static Block SculptedStone, SculptedStone2, OldMachinery, QuartzBrick, GoldenMachine, RubyOre, SaphyrSetStone1, RubySetStone1; public static Block JadeSetStone1, CitrineSetStone1, StoneLamp, SculptedStone3, SculptedStone4, PinkGlass, BlackGlass; public static Block BlueGlass, BrownGlass, CyanGlass, GrayGlass, GreenGlass, LBlueGlass, LGrayGlass, LimeGlass, MagentaGlass, OrangeGlass; public static Block PurpleGlass, RedGlass, WhiteGlass, YellowGlass, RoofStairs, Roof, RoofFence, SculptedStoneStairs3, SculptedStoneFence3; public static Block FlowerArumrum, FlowerAspidistra, FlowerDipteris, FlowerEdelweiss, FlowerGentiane, FlowerIpomee, FlowerJacinthe; public static Block FlowerMartagon, FlowerMuguet, FlowerPolypodi, FlowerPrimevere, FlowerPtedirium, FlowerRose, FlowerTulipe; public static Block SculptedStone5, SculptedStone6, SculptedStone7, SculptedStone8, SculptedStone9, SculptedStone10, SculptedStone11; public static Block SculptedStone12, SculptedStone13, SculptedStone14, SculptedStone15, SteelBlock, SteelStairs, SteelFence, CopperBlock; public static Block CopperStairs, CopperFence, Case, CrossCase, LineCase, Barrel, ClinchingStone1, ClinchingStone2, ClinchingStone3; public static Block JadeSetStone2, JadeSetStone3, CitrineSetStone2, CitrineSetStone3, RubySetStone2, RubySetStone3, SaphyrSetStone2, SaphyrSetStone3; public static Block PurCitrineBlock, PureRubyBlock, PurJadeBlock, PurSaphyrBlock, CaseLamp, Frame, SteelFrame, FullSteelFrame; public static Item SteelIngot, CopperIngot, Jade, Ruby, Citrine, Saphyr, SteelArch; @Mod.EventHandler public void preInit(FMLPreInitializationEvent event) { proxy.preInitLoading(); } { SteelIngot = new SteelIngot(6000).setUnlocalizedName("SteelIngot").setTextureName("landcast:SteelIngot"); GameRegistry.registerItem(SteelIngot, "SteelIngot", "landcast"); CopperIngot = new CopperIngot(6001).setUnlocalizedName("CopperIngot").setTextureName("landcast:CopperIngot"); GameRegistry.registerItem(CopperIngot, "CopperIngot", "landcast"); Jade = new Jade(6002).setUnlocalizedName("Jade").setTextureName("landcast:Jade"); GameRegistry.registerItem(Jade, "Jade", "landcast"); Ruby = new Ruby(6003).setUnlocalizedName("Ruby").setTextureName("landcast:Ruby"); GameRegistry.registerItem(Ruby, "Ruby", "landcast"); Citrine = new Citrine(6004).setUnlocalizedName("Citrine").setTextureName("landcast:Citrine"); GameRegistry.registerItem(Citrine, "Citrine", "landcast"); Saphyr = new Saphyr(6005).setUnlocalizedName("Saphyr").setTextureName("landcast:Saphyr"); GameRegistry.registerItem(Saphyr, "Saphyr", "landcast"); SteelArch = new SteelArch(6006).setUnlocalizedName("SteelArch").setTextureName("landcast:SteelArch"); GameRegistry.registerItem(SteelArch, "SteelArch", "landcast"); SculptedStone = new BlockSculptedStone(2000).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SculptedStone").setTextureName("landcast:SculptedStone"); GameRegistry.registerBlock(SculptedStone, "BlockSculptedStone"); LanguageRegistry.addName(SculptedStone, "Sculpted Stone"); SculptedStone2 = new BlockSculptedStone2(2001).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SculptedStone2").setTextureName("landcast:SculptedStone2"); GameRegistry.registerBlock(SculptedStone2, "BlockSculptedStone2"); LanguageRegistry.addName(SculptedStone2, "Sculpted Stone"); OldMachinery = new BlockOldMachinery(2002).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("OldMachinery").setTextureName("landcast:OldMachinery"); GameRegistry.registerBlock(OldMachinery, "BlockOldMachinery"); LanguageRegistry.addName(OldMachinery, "Old Machinery"); QuartzBrick = new BlockQuartzBrick(2003).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("QuartzBrick").setTextureName("landcast:QuartzBrick"); GameRegistry.registerBlock(QuartzBrick, "BlockQuartzBrick"); LanguageRegistry.addName(QuartzBrick, "Quartz Brick"); GoldenMachine = new BlockGoldenMachine(2004).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("GoldenMachine").setTextureName("landcast:GoldenMachine"); GameRegistry.registerBlock(GoldenMachine, "BlockGoldenMachine"); LanguageRegistry.addName(GoldenMachine, "Golden Machine"); RubyOre = new BlockRubyOre(2005).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("RubyOre").setTextureName("landcast:RubyOre"); GameRegistry.registerBlock(RubyOre, "BlockRubyOre"); LanguageRegistry.addName(RubyOre, "RubyOre"); SaphyrSetStone1 = new BlockSaphyrSetStone1(2006).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SaphyrSetStone1").setTextureName("landcast:SaphyrSetStone1"); GameRegistry.registerBlock(SaphyrSetStone1, "BlockSaphyrSetStone1"); LanguageRegistry.addName(SaphyrSetStone1, "Saphyr Stone"); RubySetStone1 = new BlockRubySetStone1(2007).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("RubySetStone1").setTextureName("landcast:RubySetStone1"); GameRegistry.registerBlock(RubySetStone1, "BlockRubySetStone1"); LanguageRegistry.addName(RubySetStone1, "Ruby Stone"); JadeSetStone1 = new BlockJadeSetStone1(2008).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("JadeSetStone1").setTextureName("landcast:JadeSetStone1"); GameRegistry.registerBlock(JadeSetStone1, "BlockJadeSetStone1"); LanguageRegistry.addName(JadeSetStone1, "Jade Stone"); CitrineSetStone1 = new BlockCitrineSetStone1(2009).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("CitrineSetStone1").setTextureName("landcast:CitrineSetStone1"); GameRegistry.registerBlock(CitrineSetStone1, "BlockCitrineSetStone1"); LanguageRegistry.addName(CitrineSetStone1, "Citrine Stone"); StoneLamp = new BlockStoneLamp(2010).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("StoneLamp").setTextureName("landcast:StoneLamp").setLightValue(1.0F); GameRegistry.registerBlock(StoneLamp, "BlockStoneLamp"); LanguageRegistry.addName(StoneLamp, "Stone Lamp"); SculptedStone3 = new BlockSculptedStone3(2011).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SculptedStone3").setTextureName("landcast:SculptedStone3"); GameRegistry.registerBlock(SculptedStone3, "BlockSculptedStone3"); LanguageRegistry.addName(SculptedStone3, "Sculpted Stone"); SculptedStone4 = new BlockSculptedStone4(2012).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SculptedStone4").setTextureName("landcast:SculptedStone4"); GameRegistry.registerBlock(SculptedStone4, "BlockSculptedStone4"); LanguageRegistry.addName(SculptedStone4, "Sculpted Stone"); PinkGlass = new BlockPinkGlass(2013).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("PinkGlass").setTextureName("landcast:PinkGlass"); GameRegistry.registerBlock(PinkGlass, "BlockPinkGlass"); LanguageRegistry.addName(PinkGlass, "Pink Glass"); BlackGlass = new BlockBlackGlass(2014).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("BlackGlass").setTextureName("landcast:BlackGlass"); GameRegistry.registerBlock(BlackGlass, "BlockBlackGlass"); LanguageRegistry.addName(BlackGlass, "Black Glass"); BlueGlass = new BlockBlueGlass(2015).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("BlueGlass").setTextureName("landcast:BlueGlass"); GameRegistry.registerBlock(BlueGlass, "BlockBlueGlass"); LanguageRegistry.addName(BlueGlass, "Blue Glass"); BrownGlass = new BlockBrownGlass(2016).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("BrownGlass").setTextureName("landcast:BrownGlass"); GameRegistry.registerBlock(BrownGlass, "BlockBrownGlass"); LanguageRegistry.addName(BrownGlass, "Brown Glass"); CyanGlass = new BlockCyanGlass(2017).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("CyanGlass").setTextureName("landcast:CyanGlass"); GameRegistry.registerBlock(CyanGlass, "BlockCyanGlass"); LanguageRegistry.addName(CyanGlass, "Cyan Glass"); GrayGlass = new BlockGrayGlass(2018).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("GrayGlass").setTextureName("landcast:GrayGlass"); GameRegistry.registerBlock(GrayGlass, "BlockGrayGlass"); LanguageRegistry.addName(GrayGlass, "Gray Glass"); GreenGlass = new BlockGreenGlass(2019).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("GreenGlass").setTextureName("landcast:GreenGlass"); GameRegistry.registerBlock(GreenGlass, "BlockGreenGlass"); LanguageRegistry.addName(GreenGlass, "Green Glass"); LBlueGlass = new BlockLBlueGlass(2020).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("LBlueGlass").setTextureName("landcast:LBlueGlass"); GameRegistry.registerBlock(LBlueGlass, "BlockLBlueGlass"); LanguageRegistry.addName(LBlueGlass, "Light Blue Glass"); LGrayGlass = new BlockLGrayGlass(2021).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("LGrayGlass").setTextureName("landcast:LGrayGlass"); GameRegistry.registerBlock(LGrayGlass, "BlockLGrayGlass"); LanguageRegistry.addName(LGrayGlass, "Light Gray Glass"); LimeGlass = new BlockLimeGlass(2022).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("LimeGlass").setTextureName("landcast:LimeGlass"); GameRegistry.registerBlock(LimeGlass, "BlockLimeGlass"); LanguageRegistry.addName(LimeGlass, "Lime Glass"); MagentaGlass = new BlockMagentaGlass(2023).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("MagentaGlass").setTextureName("landcast:MagentaGlass"); GameRegistry.registerBlock(MagentaGlass, "BlockMagentaGlass"); LanguageRegistry.addName(MagentaGlass, "Magenta Glass"); OrangeGlass = new BlockOrangeGlass(2024).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("OrangeGlass").setTextureName("landcast:OrangeGlass"); GameRegistry.registerBlock(OrangeGlass, "BlockOrangeGlass"); LanguageRegistry.addName(OrangeGlass, "Orange Glass"); PurpleGlass = new BlockPurpleGlass(2025).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("PurpleGlass").setTextureName("landcast:PurpleGlass"); GameRegistry.registerBlock(PurpleGlass, "BlockPurpleGlass"); LanguageRegistry.addName(PurpleGlass, "Purple Glass"); RedGlass = new BlockRedGlass(2026).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("RedGlass").setTextureName("landcast:RedGlass"); GameRegistry.registerBlock(RedGlass, "BlockRedGlass"); LanguageRegistry.addName(RedGlass, "Red Glass"); WhiteGlass = new BlockWhiteGlass(2027).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("WhiteGlass").setTextureName("landcast:WhiteGlass"); GameRegistry.registerBlock(WhiteGlass, "BlockWhiteGlass"); LanguageRegistry.addName(WhiteGlass, "White Glass"); YellowGlass = new BlockYellowGlass(2028).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("YellowGlass").setTextureName("landcast:YellowGlass"); GameRegistry.registerBlock(YellowGlass, "BlockYellowGlass"); LanguageRegistry.addName(YellowGlass, "Yellow Glass"); Roof = new BlockRoof(2029).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Roof").setTextureName("landcast:Roof"); GameRegistry.registerBlock(Roof, "BlockRoof"); LanguageRegistry.addName(Roof, "Roof"); RoofStairs = new BlockRoofStairs(2030, Roof, 0).setHardness(3F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("RoofStairs"); GameRegistry.registerBlock(RoofStairs, "BlockRoofStairs"); LanguageRegistry.addName(RoofStairs, "Roof Stairs"); RoofFence = new BlockFence(2031, "landcast:Roof", Material.rock).setHardness(3F).setUnlocalizedName("RoofFence"); GameRegistry.registerBlock(RoofFence, "BlockRoofFence"); LanguageRegistry.addName(RoofFence, "Roof Fence"); SculptedStoneStairs3 = new BlockSculptedStoneStairs3(2032, SculptedStone3, 0).setHardness(3F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SculptedStoneStairs3"); GameRegistry.registerBlock(SculptedStoneStairs3, "BlockSculptedStoneStairs3"); LanguageRegistry.addName(SculptedStoneStairs3, "Sculpted Stone Stairs"); SculptedStoneFence3 = new BlockFence(2033, "landcast:SculptedStone3", Material.rock).setHardness(3F).setUnlocalizedName("SculptedStoneFence3"); GameRegistry.registerBlock(SculptedStoneFence3, "BlockSculptedStoneFence3"); LanguageRegistry.addName(SculptedStoneFence3, "Sculpted Stone Fence"); FlowerArumrum = new BlockFlowerArumrum(2034).setUnlocalizedName("FlowerArumrum").setTextureName("landcast:FlowerArumrum"); GameRegistry.registerBlock(FlowerArumrum, "BlockFlowerArumrum"); LanguageRegistry.addName(FlowerArumrum, "Arumrum Flower"); FlowerAspidistra = new BlockFlowerAspidistra(2035).setUnlocalizedName("FlowerAspidistra").setTextureName("landcast:FlowerAspidistra"); GameRegistry.registerBlock(FlowerAspidistra, "BlockFlowerAspidistra"); LanguageRegistry.addName(FlowerAspidistra, "Aspidistra Flower"); FlowerDipteris = new BlockFlowerDipteris(2036).setUnlocalizedName("FlowerDipteris").setTextureName("landcast:FlowerDipteris"); GameRegistry.registerBlock(FlowerDipteris, "BlockFlowerDipteris"); LanguageRegistry.addName(FlowerDipteris, "Dipteris Flower"); FlowerEdelweiss = new BlockFlowerEdelweiss(2037).setUnlocalizedName("FlowerEdelweiss").setTextureName("landcast:FlowerEdelweiss"); GameRegistry.registerBlock(FlowerEdelweiss, "BlockFlowerEdelweiss"); LanguageRegistry.addName(FlowerEdelweiss, "Edelweiss Flower"); FlowerGentiane = new BlockFlowerGentiane(2038).setUnlocalizedName("FlowerGentiane").setTextureName("landcast:FlowerGentiane"); GameRegistry.registerBlock(FlowerGentiane, "BlockFlowerGentiane"); LanguageRegistry.addName(FlowerGentiane, "Gentiane Flower"); FlowerIpomee = new BlockFlowerIpomee(2039).setUnlocalizedName("FlowerIpomee").setTextureName("landcast:FlowerIpomee"); GameRegistry.registerBlock(FlowerIpomee, "BlockFlowerIpomee"); LanguageRegistry.addName(FlowerIpomee, "Ipomee Flower"); FlowerJacinthe = new BlockFlowerJacinthe(2040).setUnlocalizedName("FlowerJacinthe").setTextureName("landcast:FlowerJacinthe"); GameRegistry.registerBlock(FlowerJacinthe, "BlockFlowerJacinthe"); LanguageRegistry.addName(FlowerJacinthe, "Jacinthe Flower"); FlowerMartagon = new BlockFlowerMartagon(2041).setUnlocalizedName("FlowerMartagon").setTextureName("landcast:FlowerMartagon"); GameRegistry.registerBlock(FlowerMartagon, "BlockFlowerMartagon"); LanguageRegistry.addName(FlowerMartagon, "Martagon Flower"); FlowerMuguet = new BlockFlowerMuguet(2042).setUnlocalizedName("FlowerMuguet").setTextureName("landcast:FlowerMuguet"); GameRegistry.registerBlock(FlowerMuguet, "BlockFlowerMuguet"); LanguageRegistry.addName(FlowerMuguet, "Muguet Flower"); FlowerPolypodi = new BlockFlowerPolypodi(2043).setUnlocalizedName("FlowerPolypodi").setTextureName("landcast:FlowerPolypodi"); GameRegistry.registerBlock(FlowerPolypodi, "BlockFlowerPolypodi"); LanguageRegistry.addName(FlowerPolypodi, "Polypodi Flower"); FlowerPrimevere = new BlockFlowerPrimevere(2044).setUnlocalizedName("FlowerPrimevere").setTextureName("landcast:FlowerPrimevere"); GameRegistry.registerBlock(FlowerPrimevere, "BlockFlowerPrimevere"); LanguageRegistry.addName(FlowerPrimevere, "Primevere Flower"); FlowerPtedirium = new BlockFlowerPtedirium(2045).setUnlocalizedName("FlowerPtedirium").setTextureName("landcast:FlowerPtedirium"); GameRegistry.registerBlock(FlowerPtedirium, "BlockFlowerPtedirium"); LanguageRegistry.addName(FlowerPtedirium, "Ptedirium Flower"); FlowerRose = new BlockFlowerRose(2046).setUnlocalizedName("FlowerRose").setTextureName("landcast:FlowerRose"); GameRegistry.registerBlock(FlowerRose, "BlockFlowerRose"); LanguageRegistry.addName(FlowerRose, "Rose Flower"); FlowerTulipe = new BlockFlowerTulipe(2047).setUnlocalizedName("FlowerTulipe").setTextureName("landcast:FlowerTulipe"); GameRegistry.registerBlock(FlowerTulipe, "BlockFlowerTulipe"); LanguageRegistry.addName(FlowerTulipe, "Tulipe Flower"); SculptedStone5 = new BlockSculptedStone5(2048).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SculptedStone5").setTextureName("landcast:SculptedStone5"); GameRegistry.registerBlock(SculptedStone5, "BlockSculptedStone5"); LanguageRegistry.addName(SculptedStone5, "Lissed Stone Stone"); SculptedStone6 = new BlockSculptedStone6(2049).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SculptedStone6").setTextureName("landcast:SculptedStone6"); GameRegistry.registerBlock(SculptedStone6, "BlockSculptedStone6"); LanguageRegistry.addName(SculptedStone6, "Sculpted Stone"); SculptedStone7 = new BlockSculptedStone7(2050).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SculptedStone7").setTextureName("landcast:SculptedStone7"); GameRegistry.registerBlock(SculptedStone7, "BlockSculptedStone7"); LanguageRegistry.addName(SculptedStone7, "Sculpted Stone"); SculptedStone8 = new BlockSculptedStone8(2051).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SculptedStone8").setTextureName("landcast:SculptedStone8"); GameRegistry.registerBlock(SculptedStone8, "BlockSculptedStone8"); LanguageRegistry.addName(SculptedStone8, "Sculpted Stone"); SculptedStone9 = new BlockSculptedStone9(2052).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SculptedStone9").setTextureName("landcast:SculptedStone9"); GameRegistry.registerBlock(SculptedStone9, "BlockSculptedStone9"); LanguageRegistry.addName(SculptedStone9, "Sculpted Stone"); SculptedStone10 = new BlockSculptedStone10(2053).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SculptedStone10").setTextureName("landcast:SculptedStone10"); GameRegistry.registerBlock(SculptedStone10, "BlockSculptedStone10"); LanguageRegistry.addName(SculptedStone10, "Sculpted Stone"); SculptedStone11 = new BlockSculptedStone11(2054).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SculptedStone11").setTextureName("landcast:SculptedStone11"); GameRegistry.registerBlock(SculptedStone11, "BlockSculptedStone11"); LanguageRegistry.addName(SculptedStone11, "Sculpted Stone"); SculptedStone12 = new BlockSculptedStone12(2055).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SculptedStone12").setTextureName("landcast:SculptedStone12"); GameRegistry.registerBlock(SculptedStone12, "BlockSculptedStone12"); LanguageRegistry.addName(SculptedStone12, "Sculpted Stone"); SculptedStone13 = new BlockSculptedStone13(2056).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SculptedStone13").setTextureName("landcast:SculptedStone13"); GameRegistry.registerBlock(SculptedStone13, "BlockSculptedStone13"); LanguageRegistry.addName(SculptedStone13, "Sculpted Stone"); SculptedStone14 = new BlockSculptedStone14(2057).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SculptedStone14").setTextureName("landcast:SculptedStone14"); GameRegistry.registerBlock(SculptedStone14, "BlockSculptedStone14"); LanguageRegistry.addName(SculptedStone14, "Sculpted Stone"); SculptedStone15 = new BlockSculptedStone15(2058).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SculptedStone15").setTextureName("landcast:SculptedStone15"); GameRegistry.registerBlock(SculptedStone15, "BlockSculptedStone15"); LanguageRegistry.addName(SculptedStone15, "Sculpted Stone"); SteelBlock = new BlockSteelBlock(2059).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("SteelBlock").setTextureName("landcast:SteelBlock"); GameRegistry.registerBlock(SteelBlock, "BlockSteelBlock"); LanguageRegistry.addName(SteelBlock, "Steel Block"); SteelStairs = new BlockSteelStairs(2060, SteelBlock, 0).setHardness(3F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("SteelStairs"); GameRegistry.registerBlock(SteelStairs, "SteelStairs"); LanguageRegistry.addName(SteelStairs, "Steel Stairs"); SteelFence = new BlockFence(2061, "landcast:SteelBlock", Material.iron).setHardness(3F).setUnlocalizedName("SteelFence"); GameRegistry.registerBlock(SteelFence, "BlockSteelFence"); LanguageRegistry.addName(SteelFence, "Steel Fence"); CopperBlock = new BlockCopperBlock(2062).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("CopperBlock").setTextureName("landcast:CopperBlock"); GameRegistry.registerBlock(CopperBlock, "BlockCopperBlock"); LanguageRegistry.addName(CopperBlock, "Copper Block"); CopperStairs = new BlockCopperStairs(2063, CopperBlock, 0).setHardness(3F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("CopperStairs"); GameRegistry.registerBlock(CopperStairs, "CopperStairs"); LanguageRegistry.addName(CopperStairs, "Copper Stairs"); CopperFence = new BlockFence(2064, "landcast:CopperBlock", Material.iron).setHardness(3F).setUnlocalizedName("CopperFence"); GameRegistry.registerBlock(CopperFence, "BlockCopperFence"); LanguageRegistry.addName(CopperFence, "Copper Fence"); Case = new BlockCase(2065).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("Case").setTextureName("landcast:Case"); GameRegistry.registerBlock(Case, "BlockCase"); LanguageRegistry.addName(Case, "Case"); CrossCase = new BlockCrossCase(2066).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("CrossCase").setTextureName("landcast:CrossCase"); GameRegistry.registerBlock(CrossCase, "BlockCrossCase"); LanguageRegistry.addName(CrossCase, "Cross Case"); LineCase = new BlockLineCase(2067).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("LineCase").setTextureName("landcast:LineCase"); GameRegistry.registerBlock(LineCase, "BlockLineCase"); LanguageRegistry.addName(LineCase, "Line Case"); Barrel = new BlockBarrel(2068).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("Barrel"); GameRegistry.registerBlock(Barrel, "BlockBarrel"); LanguageRegistry.addName(Barrel, "Barrel"); GameRegistry.registerTileEntity(TileEntityBarrel.class, "TileEntityBarrel"); ClinchingStone1 = new BlockClinchingStone1(2069).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("ClinchingStone1").setTextureName("landcast:ClinchingStone1"); GameRegistry.registerBlock(ClinchingStone1, "BlockClinchingStone1"); LanguageRegistry.addName(ClinchingStone1, "Clinching Stone"); ClinchingStone2 = new BlockClinchingStone2(2070).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("ClinchingStone2").setTextureName("landcast:ClinchingStone2"); GameRegistry.registerBlock(ClinchingStone2, "BlockClinchingStone2"); LanguageRegistry.addName(ClinchingStone2, "Clinching Stone"); ClinchingStone3 = new BlockClinchingStone3(2071).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("ClinchingStone3").setTextureName("landcast:ClinchingStone3"); GameRegistry.registerBlock(ClinchingStone3, "BlockClinchingStone3"); LanguageRegistry.addName(ClinchingStone3, "Clinching Stone"); JadeSetStone2 = new BlockJadeSetStone2(2072).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("JadeSetStone2").setTextureName("landcast:JadeSetStone2"); GameRegistry.registerBlock(JadeSetStone2, "BlockJadeSetStone2"); LanguageRegistry.addName(JadeSetStone2, "Jade Stone"); JadeSetStone3 = new BlockJadeSetStone3(2073).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("JadeSetStone3").setTextureName("landcast:JadeSetStone3"); GameRegistry.registerBlock(JadeSetStone3, "BlockJadeSetStone3"); LanguageRegistry.addName(JadeSetStone3, "Jade Stone"); CitrineSetStone2 = new BlockCitrineSetStone2(2074).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("CitrineSetStone2").setTextureName("landcast:CitrineSetStone2"); GameRegistry.registerBlock(CitrineSetStone2, "BlockCitrineSetStone2"); LanguageRegistry.addName(CitrineSetStone2, "Citrine Stone"); CitrineSetStone3 = new BlockCitrineSetStone3(2075).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("CitrineSetStone3").setTextureName("landcast:CitrineSetStone3"); GameRegistry.registerBlock(CitrineSetStone3, "BlockCitrineSetStone3"); LanguageRegistry.addName(CitrineSetStone3, "Citrine Stone"); RubySetStone2 = new BlockRubySetStone2(2076).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("RubySetStone2").setTextureName("landcast:RubySetStone2"); GameRegistry.registerBlock(RubySetStone2, "BlockRubySetStone2"); LanguageRegistry.addName(RubySetStone2, "Ruby Stone"); RubySetStone3 = new BlockRubySetStone3(2077).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("RubySetStone3").setTextureName("landcast:RubySetStone3"); GameRegistry.registerBlock(RubySetStone3, "BlockRubySetStone3"); LanguageRegistry.addName(RubySetStone3, "Ruby Stone"); SaphyrSetStone2 = new BlockSaphyrSetStone2(2078).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SaphyrSetStone2").setTextureName("landcast:SaphyrSetStone2"); GameRegistry.registerBlock(SaphyrSetStone2, "BlockSaphyrSetStone2"); LanguageRegistry.addName(SaphyrSetStone2, "Ruby Stone"); SaphyrSetStone3 = new BlockSaphyrSetStone3(2079).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("SaphyrSetStone3").setTextureName("landcast:SaphyrSetStone3"); GameRegistry.registerBlock(SaphyrSetStone3, "BlockSaphyrSetStone3"); LanguageRegistry.addName(SaphyrSetStone3, "Ruby Stone"); PurCitrineBlock = new BlockPurCitrineBlock(2080).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("PurCitrineBlock").setTextureName("landcast:PurCitrineBlock"); GameRegistry.registerBlock(PurCitrineBlock, "BlockPurCitrineBlock"); LanguageRegistry.addName(PurCitrineBlock, "Pure Citrine Block"); PureRubyBlock = new BlockPureRubyBlock(2081).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("PureRubyBlock").setTextureName("landcast:PureRubyBlock"); GameRegistry.registerBlock(PureRubyBlock, "BlockPureRubyBlock"); LanguageRegistry.addName(PureRubyBlock, "Pure Ruby Block"); PurJadeBlock = new BlockPurJadeBlock(2082).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("PurJadeBlock").setTextureName("landcast:PurJadeBlock"); GameRegistry.registerBlock(PurJadeBlock, "BlockPurJadeBlock"); LanguageRegistry.addName(PurJadeBlock, "Pure Jade Block"); PurSaphyrBlock = new BlockPurSaphyrBlock(2083).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("PurSaphyrBlock").setTextureName("landcast:PurSaphyrBlock"); GameRegistry.registerBlock(PurSaphyrBlock, "BlockPurSaphyrBlock"); LanguageRegistry.addName(PurSaphyrBlock, "Pure Saphyr Block"); CaseLamp = new BlockCaseLamp(2084).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("CaseLamp").setTextureName("landcast:CaseLamp").setLightValue(1.0F); GameRegistry.registerBlock(CaseLamp, "BlockCaseLamp"); LanguageRegistry.addName(CaseLamp, "Case Lamp"); Frame = new BlockFrame(2085).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("Frame").setTextureName("landcast:Frame"); GameRegistry.registerBlock(Frame, "BlockFrame"); LanguageRegistry.addName(Frame, "Wood Frame"); SteelFrame = new BlockSteelFrame(2086).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("SteelFrame").setTextureName("landcast:SteelStructure"); GameRegistry.registerBlock(SteelFrame, "BlockSteelFrame"); LanguageRegistry.addName(SteelFrame, "Steel Frame"); FullSteelFrame = new BlockFullSteelFrame(2087).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("FullSteelFrame").setTextureName("landcast:FullSteelFrame"); GameRegistry.registerBlock(FullSteelFrame, "BlockFullSteelFrame"); LanguageRegistry.addName(FullSteelFrame, "Steel Frame"); GameRegistry.addRecipe(new ItemStack(SculptedStone, 2), new Object[]{" X ", "XYX", " X ", 'X', Block.stoneSingleSlab, 'Y', Block.stone}); GameRegistry.addRecipe(new ItemStack(GoldenMachine), new Object[]{" X ", "XYX", " X ", 'X', Item.ingotGold, 'Y', new ItemStack(Item.dyePowder, 1, 1)}); GameRegistry.addRecipe(new ItemStack(OldMachinery), new Object[]{"XXX", "XYX", "XXX", 'X', new ItemStack(Item.dyePowder, 1, 3), 'Y', Item.ingotIron}); } @Mod.EventHandler public void postInit(FMLPostInitializationEvent event) { } }
Class du bloc:
package landcast.common; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class BlockBarrel extends Block { public BlockBarrel(int id) { super(id, Material.wood); this.setCreativeTab(CreativeTabs.tabBlock); } @Override public TileEntity createTileEntity(World world, int metadata) { return new TileEntityBarrel(); } public boolean hasTileEntity(int metadata) { return true; } public boolean isOpaqueCube() { return false; } public boolean renderAsNormalBlock() { return false; } public int getRenderType() { return -1; } }
TileEntity:
package landcast.common; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class TileEntityBarrel extends TileEntity { }
TileEntityRender:
package landcast.common; import net.minecraft.block.Block; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.entity.Entity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import org.lwjgl.opengl.GL11; public class TileEntityBarrelRender extends TileEntitySpecialRenderer { private final ModelBarrel model; protected static final ResourceLocation texture = new ResourceLocation("landcast", "textures/Blocks/Barrel.png"); public TileEntityBarrelRender() { this.model = new ModelBarrel(); } private void adjustRotatePivotViaMeta(World world, int x, int y, int z) { int meta = world.getBlockMetadata(x, y, z); GL11.glPushMatrix(); GL11.glRotatef(meta * (-90), 0.0F, 0.0F, 1.0F); GL11.glPopMatrix(); } @Override public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float scale) { this.renderTileEntityAtBarrel((TileEntityBarrel)tileentity, x, y, z, scale); } public void renderTileEntityAtBarrel(TileEntityBarrel tileentity, double x, double y, double z, float scale) { GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); this.bindTexture(texture); GL11.glPushMatrix(); GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); GL11.glPopMatrix(); GL11.glPopMatrix(); } private void adjustLightFixture(World world, int i, int j, int k, Block block) { Tessellator tess = Tessellator.instance; float brightness = block.getBlockBrightness(world, i, j, k); int skyLight = world.getLightBrightnessForSkyBlocks(i, j, k, 0); int modulousModifier = skyLight % 65536; int divModifier = skyLight / 65536; tess.setColorOpaque_F(brightness, brightness, brightness); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)modulousModifier, divModifier); } }
ClientProxy:
package landcast.proxy; import landcast.common.TileEntityBarrel; import landcast.common.TileEntityBarrelRender; import cpw.mods.fml.client.registry.ClientRegistry; public class LandcastClientProxy extends LandcastCommonProxy { @Override public void registerTileRenders() { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBarrel.class, new TileEntityBarrelRender()); } }
Model:
// Date: 18/09/2013 19:44:39 // Template version 1.1 // Java generated by Techne // Keep in mind that you still need to fill in some blanks // - ZeuX package landcast.common; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelBarrel extends ModelBase { //fields ModelRenderer Shape1; ModelRenderer Shape2; ModelRenderer Shape3; public ModelBarrel() { textureWidth = 128; textureHeight = 256; Shape1 = new ModelRenderer(this, 65, 0); Shape1.addBox(0F, 0F, 0F, 14, 16, 14); Shape1.setRotationPoint(-7F, 8F, -7F); Shape1.setTextureSize(128, 256); Shape1.mirror = true; setRotation(Shape1, 0F, 0F, 0F); Shape2 = new ModelRenderer(this, 0, 0); Shape2.addBox(0F, 0F, 0F, 16, 2, 16); Shape2.setRotationPoint(-8F, 11F, -8F); Shape2.setTextureSize(128, 256); Shape2.mirror = true; setRotation(Shape2, 0F, 0F, 0F); Shape3 = new ModelRenderer(this, 0, 19); Shape3.addBox(0F, 0F, 0F, 16, 2, 16); Shape3.setRotationPoint(-8F, 19F, -8F); Shape3.setTextureSize(128, 256); Shape3.mirror = true; setRotation(Shape3, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } 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); } }
Merci d’avance
-
Il faut que tu ajoute ```java
proxy.registerTileRenders()dans la partie Init de ta classe principale Et utilise les balises java, merci.
-
@‘kevin_68’:
Il faut que tu ajoute ```java
proxy.registerTileRenders()dans la partie Init de ta classe principale Et utilise les balises java, merci.
Cela n’avais rien changé, mais après l’ajout de
Shape1.render(f5); Shape2.render(f5); Shape3.render(f5);
dans la partie render de mon model tout marche, merci !
@‘kevin_68’:
Il faut que tu ajoute ```java
proxy.registerTileRenders()dans la partie Init de ta classe principale Et utilise les balises java, merci.
Cela n’avais rien changé, mais après l’ajout de
Shape1.render(f5); Shape2.render(f5); Shape3.render(f5);
dans la partie render de mon model tout marche, merci !
-
Ah, dernière question !
Comment peut on positionner l’objet dans une orientation différente suivant l’angle dans lequel on le pose ? ? -
J’ai déjà cherché mais je n’est pas encore trouvé, il faudrait voir pour faire un metadata pour chaque positionnement et avec ça dans le rendu un GL11.glRotate() dans le rendu par rapport au métadata