Jump to content

TheTrollingTrollguy

Forge Modder
  • Posts

    64
  • Joined

  • Last visited

Everything posted by TheTrollingTrollguy

  1. the getter and the setter are the old version btw what do I have to know so that I have the basic java knowledge?
  2. By the way I know no subtype is set because if it is it won't render anything on top. If the subtype=1 then a yellow arrow should appear
  3. I'm too lazy to go to Github so here you go here: ItemBlocksOfAsphalt_Yellow_0.java package net.theTrollguy.trafficStuffMod; import java.util.List; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemBlocksOfAsphalt_Yellow_0 extends ItemBlock { private int[] rotation_0 = {1, 9, 17, 25, 33, 41, 49, 57, 65, 73, 81, 89, 97, 105, 113}; private int[] rotation_1 = {2, 10, 18, 26, 34, 42, 50, 58, 66, 74, 82, 90, 98, 106, 114}; private int[] rotation_2 = {3, 11, 19, 27, 35, 43, 51, 59, 67, 75, 83, 91, 99, 107, 115}; private int[] rotation_3 = {4, 12, 20, 28, 36, 44, 52, 60, 68, 76, 84, 92, 100, 108, 116}; private int[] rotation_4 = {5, 13, 21, 29, 37, 45, 53, 61, 69, 77, 85, 93, 101, 109, 117}; private int[] rotation_5 = {6, 14, 22, 30, 38, 46, 54, 62, 70, 78, 86, 94, 102, 110, 118}; private int[] rotation_6 = {7, 15, 23, 31, 39, 47, 55, 63, 71, 79, 87, 95, 103, 111, 119}; private int[] rotation_7 = {8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120}; public ItemBlocksOfAsphalt_Yellow_0(Block block) { super(TrafficStuffMod.blocksOfAsphalt_Yellow_0); this.setHasSubtypes(true); } @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean something) { int subtype = itemStack.getItemDamage(); if (subtype == 1) { list.add("§e§lArrow to Straight "); list.add("§fADDED IN: 1.3.0"); } if (subtype == 9) { list.add("§e§lArrow to Left"); list.add("§e§land a Part to Straight"); list.add("§fADDED IN: 1.3.0"); } if (subtype == 17) { list.add("§e§lArrow to Left"); list.add("§fADDED IN: 1.3.0"); } if (subtype == 25) { list.add("§e§lArrow to Right"); list.add("§e§land a Part to Straight"); list.add("§fADDED IN: 1.3.0"); } if (subtype == 33) { list.add("§e§lArrow to Right"); list.add("§fADDED IN: 1.3.0"); } if (subtype == 41) { list.add("§e§lArrow to Left, Right"); list.add("§e§land a Part to Straight"); list.add("§fADDED IN: 1.3.0"); } if (subtype == 49) { list.add("§e§lArrow to Left and Right"); list.add("§fADDED IN: 1.3.0"); } if (subtype == 57) { list.add("§e§lArrow to Straight"); list.add("§fADDED IN: 1.1.0"); } if (subtype == 65) { list.add("§e§lArrow to Straight and Left"); list.add("§fADDED IN: 1.1.0"); } if (subtype == 73) { list.add("§e§lArrow to Left"); list.add("§fADDED IN: 1.1.0"); } if (subtype == 81) { list.add("§e§lArrow to Straight and Right"); list.add("§fADDED IN: 1.1.0"); } if (subtype == 89) { list.add("§e§lArrow to Right"); list.add("§fADDED IN: 1.1.0"); } if (subtype == 97) { list.add("§e§lArrow to Straight, Left"); list.add("§e§land Right"); list.add("§fADDED IN: 1.1.0"); } if (subtype == 105) { list.add("§e§lArrow to Left and Right"); list.add("§fADDED IN: 1.3.0"); } if (subtype == 113) { list.add("§e§lArrow to Straight"); list.add("§fADDED IN: 1.0.0"); } } @Override public boolean onItemUse(ItemStack itemStack, EntityPlayer entityPlayer, World world, int X, int Y, int Z, int side, float hitX, float hitY, float hitZ) { /** * Determines all main direction(2 = NORTH, 3 = EAST, 0 = SOUTH, 1 = WEST). **/ int direction_90 = MathHelper.floor_double((double)(entityPlayer.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; /** * Determines all main and sub directions(4 = NORTH, 5 = NORTH-EAST, 6 = EAST, 7 = SOUTH-EAST, 0 = SOUTH, 1 = SOUTH-WEST * 2 = WEST, 3 = NORTH-WEST). **/ int direction_45 = MathHelper.floor_double((double)(entityPlayer.rotationYaw * 8.0F / 360.0F) + 0.5D) & 7; Block block = world.getBlock(X, Y, Z); if (block == Blocks.snow_layer && (world.getBlockMetadata(X, Y, Z) & 7) < 1) { side = 1; } if (block != Blocks.vine && block != Blocks.tallgrass && block != Blocks.deadbush && !block.isReplaceable(world, X, Y, Z)) { if (side == 0) { --Y; } if (side == 1) { ++Y; } if (side == 2) { --Z; } if (side == 3) { ++Z; } if (side == 4) { --X; } if (side == 5) { ++X; } else if(itemStack.stackSize == 0) { return false; } else if (!entityPlayer.canPlayerEdit(X, Y, Z, side, itemStack)) { return false; } else if (Y == 255 && this.field_150939_a.getMaterial().isSolid()) { return false; } else { System.out.println("I'm runing!"); int metadata = this.getMetadata(itemStack.getItemDamage()); int j1 = this.field_150939_a.onBlockPlaced(world, X, Y, Z, side, hitX, hitY, hitZ, metadata); world.setBlock(X, Y, Z, TrafficStuffMod.blocksOfAsphalt_Yellow_0); TileEntity tileEntity = world.getTileEntity(X, Y, Z); world.setTileEntity(X, Y, Z, new TileEntityBOA_Yellow_0()); int subtype = itemStack.getItemDamage(); if (tileEntity != null && tileEntity instanceof TileEntityBOA_Yellow_0) { System.out.println("Am I runing?"); ((TileEntityBOA_Yellow_0)tileEntity).setSubtype(subtype); } world.playSoundEffect((double)((float)X + 0.5F), (double)((float)Y + 0.5F), (double)((float)Z + 0.5F), this.field_150939_a.stepSound.func_150496_b(), (this.field_150939_a.stepSound.getVolume() + 1.0F) / 2.0F, this.field_150939_a.stepSound.getPitch() * 0.8F); --itemStack.stackSize; } /** if (direction_45 == 0) { System.out.println("HELP ME HELP!"); for (int i = 1; i < rotation_0.length; i++) { if (subtype == rotation_0[i]) { ((TileEntityBOA_Yellow_0)tileEntity).setSubtype(rotation_0[i]); } } } if (direction_45 == 1) { for (int i = 1; i < rotation_0.length; i++) { if (subtype == rotation_0[i]) { ((TileEntityBOA_Yellow_0)tileEntity).setSubtype(rotation_1[i]); } } } /** switch (subtype) { // ARROW TO STRAIGHT case 1: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(5); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(6); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(7); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(; break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(1); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(2); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(3); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(4); break; } break; // ARROW TO LEFT AND A PART TO STRAIGHT case 9: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(13); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(14); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(15); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(16); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(9); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(10); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(11); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(12); break; } break; // ARROW TO LEFT case 17: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(21); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(22); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(23); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(24); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(17); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(18); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(19); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(20); break; } break; // ARROW TO RIGHT AND A PART TO STRAIGHT case 25: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(29); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(30); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(31); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(32); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(25); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(26); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(27); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(28); break; } break; // ARROW TO RIGHT case 33: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(37); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(38); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(39); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(40); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(33); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(34); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(35); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(36); break; } break; // ARROW TO LEFT, RIGHT AND A PART TO STRAIGHT case 41: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(45); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(46); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(47); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(48); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(41); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(42); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(43); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(44); break; } break; // ARROW TO LEFT AND RIGHT case 49: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(53); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(54); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(55); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(56); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(49); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(50); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(51); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(52); break; } break; // ARROW TO STRAIGHT case 57: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(61); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(62); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(63); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(64); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(57); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(58); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(59); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(60); break; } break; // ARROW TO STRAIGHT AND LEFT case 65: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(69); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(70); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(71); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(72); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(65); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(66); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(67); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(68); break; } break; // ARROW TO STRAIGHT AND LEFT case 73: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(77); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(78); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(79); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(80); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(73); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(74); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(75); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(76); break; } // ARROW TO LEFT case 81: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(85); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(86); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(87); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(88); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(81); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(82); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(83); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(84); break; } // ARROW TO STRAIGHT AND RIGHT case 89: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(93); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(94); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(95); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(96); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(89); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(90); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(91); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(92); break; } // ARROW TO RIGHT case 97: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(101); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(102); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(103); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(104); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(97); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(98); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(99); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(100); break; } break; // ARROW TO STRAIGHT, LEFT AND RIGHT case 105: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(109); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(110); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(111); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(112); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(105); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(106); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(107); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(108); break; } break; // ARROW TO STRAIGHT, LEFT AND RIGHT case 113: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(117); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(118); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(119); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(120); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(113); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(114); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(115); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(116); break; } break; } **/ } return true; } public String getUnlocalizedName(ItemStack itemStack) { return "blocksOfAsphalt_Yellow_0"; } } BOA = Blocks Of Aspahlt TileEntityBOA_Yellow_0.java package net.theTrollguy.trafficStuffMod; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; public class TileEntityBOA_Yellow_0 extends TileEntity { public int subtype; public TileEntityBOA_Yellow_0() {} public int getSubtype() { NBTTagCompound nbtTagCompound = new NBTTagCompound(); this.readFromNBT(nbtTagCompound); return subtype; } public void setSubtype(int subTypes) { this.subtype = subTypes; NBTTagCompound nbtTagCompound = new NBTTagCompound(); this.writeToNBT(nbtTagCompound); System.out.println("Subtype set to: " + this.subtype); } public void removeSubtype() { this.setSubtype(0); } }
  4. I did everything as you said, but it still doesn't save the subtype EDIT: the same code I have now worked before I started working with Forge for 1.7.2, I just had to change some thgins since IDs and packets have been changed.
  5. OK, OK the main problem was that my block class wasn't expanding BlockContainer, as it should, but the tile entity problem is still there! All the code is run, but somehow the subtype doesn't save. Since I'm still a Java noob, network, packets and all that stuff is still pain to me. Any help? P.S. I did search through all TileEntity classes, but the code is similar to theirs but mine doesn't work.
  6. OK can you tell me now what actually causes those 3 problems, besides my "knowledge" of java
  7. Well Croatia (the country I live in) has the most fucked up, it had and it will, government! They stole all the money they had. The result: not being able to learn something that every kid in the world is able, such as programming. Many people lost their homes, don't have money to even buy bread. Well at least those are only 10% of Croatia's population. Our schools are old and the furniture is from 80s or even 70s when Tito lived. Our government is full of liars who want to destroy Croatia. The are just like Serbia back in early 90s when they attacked us. Even then people had homes and money. The wage was really high, when comparing today's average wage. CROATIA SUCKS!!!! That's why young people leave this country with one of the most beautiful places on the world. Isn't that just a shame? EDIT: If someone has an iPhone, iMac, XBOX, PS3 or PS4, that person is rich as fuck. While in America it's something almost everybody has.
  8. I know, but that's just almost impossible here where I live
  9. well if you lived here where I live it would be a pain in ass to learn Java because there's no such thing that you can do if you don't live in the capital city of my country. anyway, I'm still learning. Nobody know something that well at the begining and everyone needs help with everything in life and as I said, the code is still, like, far away from the final version
  10. So here I am again. Stuck with a problem. OK, so I want to place a block, then the tile entity and then set a subtype (an Integer) to the tile entity which I did. The problems are: 1) Every time I destroy a block, the subtype gets removed from all surrounding blocks 2) Every time I place a different block (example: grass block), the subtype gets removed from all surrounding blocks 3) Every time I place the same blocks that has to set another subtype, it changes all surrounding blocks' subtypes (example: I placed 8 blocks with a subtype of 1, I want to place a block with subtype 8, all blocks convert to the subtype 8, instead of the only one) Again the code is nowhere near finished or something like that. If I made a mistake with something basic, please tell me. Any help is appreciated Here's the code: Traffic Stuff Mod.java package net.theTrollguy.trafficStuffMod; import net.minecraft.block.Block; import net.minecraft.tileentity.TileEntity; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; 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.registry.GameRegistry; @Mod(modid = "trafficstuffmod", name = "Traffic Stuff Mod", version = "indev") public class TrafficStuffMod { @SidedProxy(clientSide="net.theTrollguy.trafficStuffMod.TrafficStuffClientProxy", serverSide="net.theTrollguy.trafficStuffMod.TrafficStuffCommonProxy") public static TrafficStuffClientProxy proxy; public static BlocksOfAsphalt_Yellow_0 blocksOfAsphalt_Yellow_0; public static final TileEntity BOA_Yellow_0 = new TileEntityBOA_Yellow_0(); @EventHandler public void preInit(FMLPreInitializationEvent event) { blocksOfAsphalt_Yellow_0 = new BlocksOfAsphalt_Yellow_0(); GameRegistry.registerBlock(blocksOfAsphalt_Yellow_0, ItemBlocksOfAsphalt_Yellow_0.class, "blocksOfAsphalt_Yellow_0"); GameRegistry.registerTileEntity(TileEntityBOA_Yellow_0.class, "tileEntityBLocksOfAsphalt_Yellow_0"); proxy.registerRenderers(); } @EventHandler public void init(FMLInitializationEvent event) { } @EventHandler public void postInit(FMLPostInitializationEvent event) { } } TrafficStuffClientProxy.java package net.theTrollguy.trafficStuffMod; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; public class TrafficStuffClientProxy extends TrafficStuffCommonProxy { public static int renderPass; public static int BOA_Yellow_0_ID; @Override public void registerRenderers() { RendererBOA_Yellow_0 renderBOA_Yellow_0 = new RendererBOA_Yellow_0(); BOA_Yellow_0_ID = RenderingRegistry.getNextAvailableRenderId(); RenderingRegistry.registerBlockHandler(BOA_Yellow_0_ID, new RendererBOA_Yellow_0()); } } BlocksOfAsphalt_Yellow_0.java package net.theTrollguy.trafficStuffMod; import java.util.List; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class BlocksOfAsphalt_Yellow_0 extends Block { @SideOnly(Side.CLIENT) IIcon asphalt; @SideOnly(Side.CLIENT) IIcon AY_1_s; @SideOnly(Side.CLIENT) IIcon AY_1_d; @SideOnly(Side.CLIENT) IIcon AY_2_s; @SideOnly(Side.CLIENT) IIcon AY_2_d; @SideOnly(Side.CLIENT) IIcon AY_3_s; @SideOnly(Side.CLIENT) IIcon AY_3_d; @SideOnly(Side.CLIENT) IIcon AY_4_s; @SideOnly(Side.CLIENT) IIcon AY_4_d; @SideOnly(Side.CLIENT) IIcon AY_5_s; @SideOnly(Side.CLIENT) IIcon AY_5_d; @SideOnly(Side.CLIENT) IIcon AY_6_s; @SideOnly(Side.CLIENT) IIcon AY_6_d; @SideOnly(Side.CLIENT) IIcon AY_7_s; @SideOnly(Side.CLIENT) IIcon AY_7_d; @SideOnly(Side.CLIENT) IIcon AY_8_s; @SideOnly(Side.CLIENT) IIcon AY_8_d; @SideOnly(Side.CLIENT) IIcon AY_9_s; @SideOnly(Side.CLIENT) IIcon AY_9_d; @SideOnly(Side.CLIENT) IIcon AY_10_s; @SideOnly(Side.CLIENT) IIcon AY_10_d; @SideOnly(Side.CLIENT) IIcon AY_11_s; @SideOnly(Side.CLIENT) IIcon AY_11_d; @SideOnly(Side.CLIENT) IIcon AY_12_s; @SideOnly(Side.CLIENT) IIcon AY_12_d; @SideOnly(Side.CLIENT) IIcon AY_13_s; @SideOnly(Side.CLIENT) IIcon AY_13_d; @SideOnly(Side.CLIENT) IIcon AY_14_s; @SideOnly(Side.CLIENT) IIcon AY_14_d; @SideOnly(Side.CLIENT) IIcon AY_15_s; @SideOnly(Side.CLIENT) IIcon AY_15_d; public BlocksOfAsphalt_Yellow_0() { super(Material.rock); this.setCreativeTab(CreativeTabs.tabBlock); this.setStepSound(Block.soundTypeStone); float F = 0.000000000000000001F; this.setBlockBounds(0.0F + F, 0.0F + F, 0.0F + F, 1.0F - F, 1.0F - F, 1.0F - F); this.useNeighborBrightness = true; } public TileEntity createNewTileEntity(World world) { return new TileEntityBOA_Yellow_0(); } @Override public boolean hasTileEntity(int metadata) { return true; } @Override public void onBlockPlacedBy(World world, int X, int Y, int Z, EntityLivingBase enbtityLivingBase, ItemStack itemStack) { world.setTileEntity(X, Y, Z, TrafficStuffMod.BOA_Yellow_0); } @Override public void breakBlock(World world, int X, int Y, int Z, Block block, int metadata) { world.removeTileEntity(X, Y, Z); super.breakBlock(world, X, Y, Z, block, metadata); } @Override public boolean renderAsNormalBlock() { return false; } @Override public boolean isOpaqueCube() { return true; } @Override public int getRenderType() { return RendererBOA_Yellow_0.renderID; } @SideOnly(Side.CLIENT) public IIcon getBlockTexture(IBlockAccess IBlockAccess, int X, int Y, int Z, int side) { return this.asphalt; } @Override public IIcon getIcon(int side, int meta) { return this.asphalt; } @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister IIconRegister) { asphalt = IIconRegister.registerIcon("trafficStuffMod:asphalt"); AY_1_s = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_1_straight"); AY_1_d = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_1_diagonal"); AY_2_s = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_2_straight"); AY_2_d = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_2_diagonal"); AY_3_s = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_3_straight"); AY_3_d = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_3_diagonal"); AY_4_s = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_4_straight"); AY_4_d = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_4_diagonal"); AY_5_s = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_5_straight"); AY_5_d = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_5_diagonal"); AY_6_s = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_6_straight"); AY_6_d = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_6_diagonal"); AY_7_s = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_7_straight"); AY_7_d = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_7_diagonal"); AY_8_s = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_8_straight"); AY_8_d = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_8_diagonal"); AY_9_s = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_9_straight"); AY_9_d = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_9_diagonal"); AY_10_s = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_10_straight"); AY_10_d = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_10_diagonal"); AY_11_s = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_11_straight"); AY_11_d = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_11_diagonal"); AY_12_s = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_12_straight"); AY_12_d = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_12_diagonal"); AY_13_s = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_13_straight"); AY_13_d = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_13_diagonal"); AY_14_s = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_14_straight"); AY_14_d = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_14_diagonal"); AY_15_s = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_15_straight"); AY_15_d = IIconRegister.registerIcon("trafficStuffMod:asphaltYellow_15_diagonal"); } protected boolean canSilkHarvest() { return false; } @SideOnly(Side.CLIENT) @Override public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) { list.add(new ItemStack(item, 1, 1)); list.add(new ItemStack(item, 1, 9)); list.add(new ItemStack(item, 1, 17)); list.add(new ItemStack(item, 1, 25)); list.add(new ItemStack(item, 1, 33)); list.add(new ItemStack(item, 1, 41)); list.add(new ItemStack(item, 1, 49)); list.add(new ItemStack(item, 1, 57)); list.add(new ItemStack(item, 1, 65)); list.add(new ItemStack(item, 1, 73)); list.add(new ItemStack(item, 1, 81)); list.add(new ItemStack(item, 1, 89)); list.add(new ItemStack(item, 1, 97)); list.add(new ItemStack(item, 1, 105)); list.add(new ItemStack(item, 1, 113)); } @SideOnly(Side.CLIENT) public Item getItem(World world, int X, int Y, int Z) { return Item.getItemFromBlock(TrafficStuffMod.blocksOfAsphalt_Yellow_0); } } ItemBlocksOfAsphalt_Yellow_0.java package net.theTrollguy.trafficStuffMod; import java.util.List; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class ItemBlocksOfAsphalt_Yellow_0 extends ItemBlock { public ItemBlocksOfAsphalt_Yellow_0(Block block) { super(block); this.setHasSubtypes(true); } @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean something) { int subtype = itemStack.getItemDamage(); if (subtype == 1) { list.add("§e§lArrow to Straight "); list.add("§fADDED IN: 1.3.0"); } if (subtype == 9) { list.add("§e§lArrow to Left"); list.add("§e§land a Part to Straight"); list.add("§fADDED IN: 1.3.0"); } if (subtype == 17) { list.add("§e§lArrow to Left"); list.add("§fADDED IN: 1.3.0"); } if (subtype == 25) { list.add("§e§lArrow to Right"); list.add("§e§land a Part to Straight"); list.add("§fADDED IN: 1.3.0"); } if (subtype == 33) { list.add("§e§lArrow to Right"); list.add("§fADDED IN: 1.3.0"); } if (subtype == 41) { list.add("§e§lArrow to Left, Right"); list.add("§e§land a Part to Straight"); list.add("§fADDED IN: 1.3.0"); } if (subtype == 49) { list.add("§e§lArrow to Left and Right"); list.add("§fADDED IN: 1.3.0"); } if (subtype == 57) { list.add("§e§lArrow to Straight"); list.add("§fADDED IN: 1.1.0"); } if (subtype == 65) { list.add("§e§lArrow to Straight and Left"); list.add("§fADDED IN: 1.1.0"); } if (subtype == 73) { list.add("§e§lArrow to Left"); list.add("§fADDED IN: 1.1.0"); } if (subtype == 81) { list.add("§e§lArrow to Straight and Right"); list.add("§fADDED IN: 1.1.0"); } if (subtype == 89) { list.add("§e§lArrow to Right"); list.add("§fADDED IN: 1.1.0"); } if (subtype == 97) { list.add("§e§lArrow to Straight, Left"); list.add("§e§land Right"); list.add("§fADDED IN: 1.1.0"); } if (subtype == 105) { list.add("§e§lArrow to Left and Right"); list.add("§fADDED IN: 1.3.0"); } if (subtype == 113) { list.add("§e§lArrow to Straight"); list.add("§fADDED IN: 1.0.0"); } } public boolean onItemUse(ItemStack itemStack, EntityPlayer entityPlayer, World world, int X, int Y, int Z, int side, float hitX, float hitY, float hitZ) { /** * Determines all main direction(2 = NORTH, 3 = EAST, 0 = SOUTH, 1 = WEST). **/ int direction_90 = MathHelper.floor_double((double)(entityPlayer.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; /** * Determines all main and sub directions(4 = NORTH, 5 = NORTH-EAST, 6 = EAST, 7 = SOUTH-EAST, 0 = SOUTH, 1 = SOUTH-WEST * 2 = WEST, 3 = NORTH-WEST). **/ int direction_45 = MathHelper.floor_double((double)(entityPlayer.rotationYaw * 8.0F / 360.0F) + 0.5D) & 7; Block block = world.getBlock(X, Y, Z); if (block == Blocks.snow_layer && (world.getBlockMetadata(X, Y, Z) & 7) < 1) { side = 1; } if (block != Blocks.vine && block != Blocks.tallgrass && block != Blocks.deadbush && !block.isReplaceable(world, X, Y, Z)) { if (side == 0) { --Y; } if (side == 1) { ++Y; } if (side == 2) { --Z; } if (side == 3) { ++Z; } if (side == 4) { --X; } if (side == 5) { ++X; } if(itemStack.stackSize == 0) { return false; } else if (!entityPlayer.canPlayerEdit(X, Y, Z, side, itemStack)) { return false; } else if (Y == 255 && this.field_150939_a.getMaterial().isSolid()) { return false; } else if (world.canPlaceEntityOnSide(this.field_150939_a, X, Y, Z, false, side, entityPlayer, itemStack)) { int metadata = this.getMetadata(itemStack.getItemDamage()); int j1 = this.field_150939_a.onBlockPlaced(world, X, Y, Z, side, hitX, hitY, hitZ, metadata); if (placeBlockAt(itemStack, entityPlayer, world, X, Y, Z, side, hitX, hitY, hitZ, j1)) { TileEntity tileEntity = world.getTileEntity(X, Y, Z); int subtype = itemStack.getItemDamage(); if (tileEntity != null && tileEntity instanceof TileEntityBOA_Yellow_0) { switch (subtype) { // ARROW TO STRAIGHT case 1: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(5); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(6); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(7); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(; break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(1); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(2); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(3); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(4); break; } break; // ARROW TO LEFT AND A PART TO STRAIGHT case 9: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(13); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(14); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(15); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(16); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(9); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(10); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(11); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(12); break; } break; // ARROW TO LEFT case 17: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(21); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(22); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(23); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(24); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(17); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(18); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(19); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(20); break; } break; // ARROW TO RIGHT AND A PART TO STRAIGHT case 25: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(29); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(30); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(31); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(32); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(25); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(26); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(27); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(28); break; } break; // ARROW TO RIGHT case 33: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(37); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(38); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(39); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(40); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(33); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(34); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(35); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(36); break; } break; // ARROW TO LEFT, RIGHT AND A PART TO STRAIGHT case 41: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(45); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(46); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(47); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(48); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(41); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(42); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(43); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(44); break; } break; // ARROW TO LEFT AND RIGHT case 49: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(53); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(54); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(55); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(56); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(49); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(50); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(51); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(52); break; } break; // ARROW TO STRAIGHT case 57: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(61); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(62); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(63); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(64); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(57); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(58); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(59); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(60); break; } break; // ARROW TO STRAIGHT AND LEFT case 65: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(69); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(70); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(71); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(72); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(65); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(66); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(67); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(68); break; } break; // ARROW TO STRAIGHT AND LEFT case 73: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(77); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(78); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(79); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(80); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(73); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(74); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(75); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(76); break; } // ARROW TO LEFT case 81: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(85); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(86); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(87); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(88); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(81); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(82); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(83); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(84); break; } // ARROW TO STRAIGHT AND RIGHT case 89: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(93); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(94); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(95); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(96); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(89); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(90); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(91); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(92); break; } // ARROW TO RIGHT case 97: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(101); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(102); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(103); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(104); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(97); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(98); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(99); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(100); break; } break; // ARROW TO STRAIGHT, LEFT AND RIGHT case 105: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(109); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(110); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(111); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(112); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(105); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(106); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(107); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(108); break; } break; // ARROW TO STRAIGHT, LEFT AND RIGHT case 113: switch (direction_45) { case 0:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(117); break; case 1:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(118); break; case 2:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(119); break; case 3:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(120); break; case 4:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(113); break; case 5:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(114); break; case 6:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(115); break; case 7:((TileEntityBOA_Yellow_0)tileEntity).setSubtype(116); break; } break; } } } } world.playSoundEffect((double)((float)X + 0.5F), (double)((float)Y + 0.5F), (double)((float)Z + 0.5F), this.field_150939_a.stepSound.func_150496_b(), (this.field_150939_a.stepSound.getVolume() + 1.0F) / 2.0F, this.field_150939_a.stepSound.getPitch() * 0.8F); --itemStack.stackSize; return true; } else { return false; } } public String getUnlocalizedName(ItemStack itemStack) { return "blocksOfAsphalt_Yellow_0"; } @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs creativeTabs, List list) { list.add(new ItemStack(item, 1, 1)); list.add(new ItemStack(item, 1, 9)); list.add(new ItemStack(item, 1, 17)); list.add(new ItemStack(item, 1, 25)); list.add(new ItemStack(item, 1, 33)); list.add(new ItemStack(item, 1, 41)); list.add(new ItemStack(item, 1, 49)); list.add(new ItemStack(item, 1, 57)); list.add(new ItemStack(item, 1, 65)); list.add(new ItemStack(item, 1, 73)); list.add(new ItemStack(item, 1, 81)); list.add(new ItemStack(item, 1, 89)); list.add(new ItemStack(item, 1, 97)); list.add(new ItemStack(item, 1, 105)); list.add(new ItemStack(item, 1, 113)); } } TileEntityBOA_Yellow_0.java package net.theTrollguy.trafficStuffMod; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; public class TileEntityBOA_Yellow_0 extends TileEntity { public int subtype; public TileEntityBOA_Yellow_0() {} public int getSubtype(int X, int Y, int Z) { X = this.xCoord; Y = this.yCoord; Z = this.zCoord; return subtype; } public void setSubtype(int subTypes) { this.subtype = subTypes; NBTTagCompound NBT = new NBTTagCompound(); super.writeToNBT(NBT); Packet packet = this.getDescriptionPacket(); } public void removeSubtype() { this.setSubtype(0); } @Override public void onChunkUnload() { NBTTagCompound NBT = new NBTTagCompound(); super.writeToNBT(NBT); } @Override public void readFromNBT(NBTTagCompound NBT) { super.readFromNBT(NBT); this.subtype = NBT.getInteger("subtype"); getDescriptionPacket(); } @Override public void writeToNBT(NBTTagCompound NBT) { super.writeToNBT(NBT); NBT.setInteger("subtype", subtype); } public Packet getDescriptionPacket() { NBTTagCompound NBTTagCompound = new NBTTagCompound(); this.writeToNBT(NBTTagCompound); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 4, NBTTagCompound); } @Override public void onDataPacket(NetworkManager networkManager, S35PacketUpdateTileEntity packet) { NBTTagCompound NBTTagCompound = new NBTTagCompound(); this.readFromNBT(NBTTagCompound); } } RendererBOA_Yellow_0 package net.theTrollguy.trafficStuffMod; import org.lwjgl.opengl.GL11; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.IBlockAccess; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import cpw.mods.fml.client.registry.RenderingRegistry; public class RendererBOA_Yellow_0 implements ISimpleBlockRenderingHandler { IBlockAccess iBlockAccess; public static int renderID; public RendererBOA_Yellow_0() { renderID = TrafficStuffClientProxy.BOA_Yellow_0_ID; } @Override public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderBlocks) { /** Tessellator tessellator = Tessellator.instance; GL11.glTranslatef(-0.5F, -0.5F, -0.5F); tessellator.startDrawingQuads(); tessellator.draw(); GL11.glTranslatef(0.5F, 0.5F, 0.5F); **/ } @Override public boolean renderWorldBlock(IBlockAccess IBlockAccess, int X, int Y, int Z, Block block, int modelID, RenderBlocks renderBlocks) { Tessellator tessellator = Tessellator.instance; TileEntityBOA_Yellow_0 TE_BOA_Yellow_0 = (TileEntityBOA_Yellow_0) TrafficStuffMod.BOA_Yellow_0; BlocksOfAsphalt_Yellow_0 BOA_Yellow_0 = TrafficStuffMod.blocksOfAsphalt_Yellow_0; int subtype = TE_BOA_Yellow_0.getSubtype(X, Y, Z); //int age = BOA_Yellow_0.getAge(); double D = 0.000000000000001D; int l = BOA_Yellow_0.getMixedBrightnessForBlock(IBlockAccess, X, Y, Z); boolean flag = renderBlocks.renderStandardBlock(BOA_Yellow_0, X, Y, Z); renderBlocks.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); tessellator.setBrightness(l); switch (subtype) { // ARROW TO STRAIGHT case 1: renderBlocks.uvRotateTop = 0; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_1_s); break; case 2: renderBlocks.uvRotateTop = 0; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_1_d); break; case 3: renderBlocks.uvRotateTop = 1; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_1_s); break; case 4: renderBlocks.uvRotateTop = 1; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_1_d); break; case 5: renderBlocks.uvRotateTop = 3; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_1_s); break; case 6: renderBlocks.uvRotateTop = 3; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_1_d); break; case 7: renderBlocks.uvRotateTop = 2; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_1_s); break; case 8: renderBlocks.uvRotateTop = 2; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_1_d); break; // ARROW TO LEFT AND A PART TO STRAIGHT case 9: renderBlocks.uvRotateTop = 0; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_2_s); break; case 10: renderBlocks.uvRotateTop = 0; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_2_d); break; case 11: renderBlocks.uvRotateTop = 1; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_2_s); break; case 12: renderBlocks.uvRotateTop = 1; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_2_d); break; case 13: renderBlocks.uvRotateTop = 3; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_2_s); break; case 14: renderBlocks.uvRotateTop = 3; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_2_d); break; case 15: renderBlocks.uvRotateTop = 2; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_2_s); break; case 16: renderBlocks.uvRotateTop = 2; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_2_d); break; // ARROW TO LEFT case 17: renderBlocks.uvRotateTop = 0; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_3_s); break; case 18: renderBlocks.uvRotateTop = 0; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_3_d); break; case 19: renderBlocks.uvRotateTop = 1; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_3_s); break; case 20: renderBlocks.uvRotateTop = 1; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_3_d); break; case 21: renderBlocks.uvRotateTop = 3; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_3_s); break; case 22: renderBlocks.uvRotateTop = 3; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_3_d); break; case 23: renderBlocks.uvRotateTop = 2; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_3_s); break; case 24: renderBlocks.uvRotateTop = 2; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_3_d); break; // ARROW TO RIGHT AND A PART TO STRAIGHT case 25: renderBlocks.uvRotateTop = 0; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_4_s); break; case 26: renderBlocks.uvRotateTop = 0; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_4_d); break; case 27: renderBlocks.uvRotateTop = 1; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_4_s); break; case 28: renderBlocks.uvRotateTop = 1; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_4_d); break; case 29: renderBlocks.uvRotateTop = 3; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_4_s); break; case 30: renderBlocks.uvRotateTop = 3; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_4_d); break; case 31: renderBlocks.uvRotateTop = 2; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_4_s); break; case 32: renderBlocks.uvRotateTop = 2; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_4_d); break; // ARROW TO RIGHT case 33: renderBlocks.uvRotateTop = 0; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_5_s); break; case 34: renderBlocks.uvRotateTop = 0; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_5_d); break; case 35: renderBlocks.uvRotateTop = 1; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_5_s); break; case 36: renderBlocks.uvRotateTop = 1; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_5_d); break; case 37: renderBlocks.uvRotateTop = 3; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_5_s); break; case 38: renderBlocks.uvRotateTop = 3; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_5_d); break; case 39: renderBlocks.uvRotateTop = 2; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_5_s); break; case 40: renderBlocks.uvRotateTop = 2; renderBlocks.renderFaceYPos(BOA_Yellow_0, X, Y, Z, BOA_Yellow_0.AY_1_d); break; } renderBlocks.uvRotateSouth = 0; renderBlocks.uvRotateEast = 0; renderBlocks.uvRotateWest = 0; renderBlocks.uvRotateNorth = 0; renderBlocks.uvRotateTop = 0; renderBlocks.uvRotateBottom = 0; return flag; } @Override public int getRenderId() { return TrafficStuffClientProxy.BOA_Yellow_0_ID; } @Override public boolean shouldRender3DInInventory(int arg0) { return false; } }
  11. no I've never heard of it, OF COURSE I DID!!!! anyway, topic closed cuz you literally can't read MY CODE IS A MESS RIGHT NOW and I really don't get any fuckin' help thank you all for nothing one does not simply get help on these forums... -.-"
  12. Did debug 100 times, no console output, no crashes, and this is not s#it, because if it had been s#it it would be in my toilet -.-
  13. Hey guys. I wanted to update my mod or just to release a prerelease of my mod for 1.7.2, but I can't even set up my workspace. The problem is in the new Gradle thing. It alway says that it can't run due to incompability of 64-bit version of my Windows. I watched many tutorials and also read a bunch of them, but nothing helped me. Can you guys help me?
  14. ok, thanks I'll try to make it render the same and the reason the renderInvenotryBlock is commented is because it gives me crashes
  15. yes because it causes crashes and it's there if I get an idea in the future and the renderBlocksOfAsphalt_Yellow_0 method is empty because if I put all the rendeing stuff in there and then when the renderWorldBlock method is called it gives me a crash and a nullPointerException on that line, dunno why
  16. Thanks! It works now!! But is still didn't figure out the rendering for the inventory. I did use tutorials from greyminecraftcoder (you sent me links for his tutorials) but it still doesn't work for me. So... help?
  17. Thanks. Now the textures I wanted to stick on the block really do stick, but how do I rotate them NEW CODE: RenderBlocksOfAsphalt_Yellow_0 package trafficStuffMod.client; import org.lwjgl.opengl.GL11; import trafficStuffMod.common.*; 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; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class RenderBlocksOfAsphalt_Yellow_0 implements ISimpleBlockRenderingHandler { public static int blocksOfAsphalt_Yellow_0_renderID; public RenderBlocksOfAsphalt_Yellow_0() { RenderBlocksOfAsphalt_Yellow_0.blocksOfAsphalt_Yellow_0_renderID = RenderingRegistry.getNextAvailableRenderId(); } @Override public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderBlocks) { /** Tessellator tessellator = Tessellator.instance; GL11.glTranslatef(-0.5F, -0.5F, -0.5F); tessellator.startDrawingQuads(); renderBlocksOfAsphalt_Yellow_0(0, 0, 0, renderBlocks); tessellator.draw(); GL11.glTranslatef(0.5F, 0.5F, 0.5F); */ } @Override public boolean renderWorldBlock(IBlockAccess IBlockAccess, int X, int Y, int Z, Block block, int modelID, RenderBlocks renderBlocks) { Tessellator tessellator = Tessellator.instance; TileEntityBlocksOfAsphalt_Yellow_0 BOA_Yellow_0 = (TileEntityBlocksOfAsphalt_Yellow_0) IBlockAccess.getBlockTileEntity(X, Y, Z); BlocksOfAsphalt_Yellow_0 blocksOfAsphalt_Yellow_0 = (BlocksOfAsphalt_Yellow_0) TrafficStuffMod.blocksOfAsphalt_Yellow_0; int subtype = BOA_Yellow_0.getSubtype(); int age = BOA_Yellow_0.getAge(); double D = 0.000000000000001D; int l = blocksOfAsphalt_Yellow_0.getMixedBrightnessForBlock(IBlockAccess, X, Y, Z); renderBlocks.setRenderBounds(0.0D + D, 0.0D + D, 0.0D + D, 1.0D - D, 1.0D - D, 1.0D - D); boolean flag = renderBlocks.renderStandardBlock(blocksOfAsphalt_Yellow_0, X, Y, Z); renderBlocks.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); tessellator.setBrightness(l); renderBlocks.renderStandardBlockWithColorMultiplier(blocksOfAsphalt_Yellow_0, X, Y, Z, l, l, l); if (subtype == 1) { renderBlocks.renderFaceYPos(blocksOfAsphalt_Yellow_0, X, Y, Z, BlocksOfAsphalt_Yellow_0.AY_1); renderBlocks.uvRotateTop = 0; } if (subtype == 2) { renderBlocks.renderFaceYPos(blocksOfAsphalt_Yellow_0, X, Y, Z, BlocksOfAsphalt_Yellow_0.AY_2); renderBlocks.uvRotateTop = 0; } if (subtype == 3) { renderBlocks.renderFaceYPos(blocksOfAsphalt_Yellow_0, X, Y, Z, BlocksOfAsphalt_Yellow_0.AY_1); renderBlocks.uvRotateTop = 1; } if (subtype == 4) { renderBlocks.renderFaceYPos(blocksOfAsphalt_Yellow_0, X, Y, Z, BlocksOfAsphalt_Yellow_0.AY_2); renderBlocks.uvRotateTop = 1; } if (subtype == 5) { renderBlocks.renderFaceYPos(blocksOfAsphalt_Yellow_0, X, Y, Z, BlocksOfAsphalt_Yellow_0.AY_1); renderBlocks.uvRotateTop = 3; } if (subtype == 6) { renderBlocks.renderFaceYPos(blocksOfAsphalt_Yellow_0, X, Y, Z, BlocksOfAsphalt_Yellow_0.AY_2); renderBlocks.uvRotateTop = 3; } if (subtype == 7) { renderBlocks.renderFaceYPos(blocksOfAsphalt_Yellow_0, X, Y, Z, BlocksOfAsphalt_Yellow_0.AY_1); renderBlocks.uvRotateTop = 2; } if (subtype == { renderBlocks.renderFaceYPos(blocksOfAsphalt_Yellow_0, X, Y, Z, BlocksOfAsphalt_Yellow_0.AY_2); renderBlocks.uvRotateTop = 2; } renderBlocks.uvRotateSouth = 0; renderBlocks.uvRotateEast = 0; renderBlocks.uvRotateWest = 0; renderBlocks.uvRotateNorth = 0; renderBlocks.uvRotateTop = 0; renderBlocks.uvRotateBottom = 0; return flag; } @Override public boolean shouldRender3DInInventory() { return true; } @Override public int getRenderId() { return ClientProxy.BOA_Yellow_0_renderID; } private void renderBlocksOfAsphalt_Yellow_0(int X, int Y, int Z, RenderBlocks renderBlocks) { } }
  18. Textures do rotate, if they are block's base texture, but why don't these texture I've given render on top of the block? EDIT: Wait sorry, my bad. Textures now do stick, but how do I rotate only them?
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.