Jump to content

hnsdieter

Members
  • Posts

    23
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

hnsdieter's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. Solved. Must have derped something completely
  2. I added the following lines but removed them as you can see: The getItemDropped try: @Override public Item getItemDropped(IBlockState state, Random rand, int fortune) { return Item.getItemFromBlock(Blocks.emerald_block); } The breakBlock Override: @Override public void breakBlock(World worldIn, BlockPos pos, IBlockState state) { super.breakBlock(worldIn, pos, state); worldIn.removeTileEntity(pos); } I think I have nothing else tried so far. I also tried overriding the int getQuantityDropped MEthod just returning 1. Edit: Sorry I should have mentioned that I am modding 1.8
  3. Hey there, I think this is a very basic question so I need to apologize. My Block with a TileEntity is not dropping. I tried overwriting the Method onBreakBlock so the super is called (I know it does not actually break the block but atleast i tried). I also tried returning a very different item in the getDrops(not the actual name). This is my Block: https://github.com/hnsdieter/PingusRandoms/blob/master/src/main/java/pingu/pingusrandoms/block/BlockExpSpawner.java'>https://github.com/hnsdieter/PingusRandoms/blob/master/src/main/java/pingu/pingusrandoms/block/BlockExpSpawner.java My TileEntity: https://github.com/hnsdieter/PingusRandoms/blob/master/src/main/java/pingu/pingusrandoms/tileentity/ExpSpawnerTileEntity.java'>https://github.com/hnsdieter/PingusRandoms/blob/master/src/main/java/pingu/pingusrandoms/tileentity/ExpSpawnerTileEntity.java My Git-Repository: https://github.com/hnsdieter/PingusRandoms thanks for help P.S.: I know you guys dont have the time to overlook everything in my source. Just tell me what class you need and Ill post it in this Thread. Edit: The other Block i created dropped just fine. It is a basic Block.
  4. Thank you very much!!! That was a pretty dumb mistake of mine
  5. Hello, as the title says i have a problem with my item models. I am using intellij and already seted up everything from scratch as diesieben showed in this thread http://www.minecraftforge.net/forum/index.php/topic,21354.0.html. I have no idea what is going wrong... My code: https://github.com/hnsdieter/PingusRandomStuff My log: http://hastebin.com/ikicugibub.tex thanks for help. And Merry Christmas hnsdieter EDOT: I am using forge 1.8-11.14.4.1577
  6. Hello, I got two questions about textures: 1. Is it possible to set an Items/Blocks texture by replacing a certain color in the texturefile e.g. grey tones? And how? 2. Can somebody either confirm/correct my theory of generating a texture out of another: e.g. we have two ore textures. We get the texture e.g. an oreblock. We loop through every pixel with for-loops, and save colors that are not grey ones(the stone background). Then we take another picture an replace defined parts with our getted colors from an Array/List. Then bind our new texture to the our block.
  7. Ok, I have got what you want. But what is the benefit I get from using a foreach-loop instead of a standard for loop?
  8. Thank you for the support! This is my solution now: public static Block[] getBlockB(World world, int x, int y, int z){ ForgeDirection[] directions = ForgeDirection.VALID_DIRECTIONS; Block[] blocks = new Block[directions.length]; for(int i = 0; i < directions.length; i++){ int xCoord = x + directions[i].offsetX; int yCoord = y + directions[i].offsetY; int zCoord = z + directions[i].offsetZ; blocks[i] = world.getBlock(xCoord, yCoord, zCoord); } return blocks; } My Block: package hnsdieter.hnsCrystals.block; import hnsdieter.hnsCrystals.item.hnsItems; import hnsdieter.hnsCrystals.tileentity.BRuneCrafterTileEntity; import hnsdieter.hnsCrystals.util.BlockUtil; import net.minecraft.block.Block; import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class BRuneCrafter extends hnsBlock implements ITileEntityProvider{ public BRuneCrafter(String name) { super(Material.rock, name); this.setHarvestLevel("pickaxe", 2); this.setHardness(5.0F); this.setResistance(1000.0F); } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int int1, float f1, float f2, float f3){ if(world.isRemote){ }else{ ItemStack item = player.getHeldItem(); if(item == null){ return false; } if(item.getItem() == hnsItems.crystalStaff){ Block[] blocks = new Block[6]; blocks = BlockUtil.getBlockB(world, x, y, z); for(int i = 0; i < blocks.length; i++){ Block b = blocks[i]; System.out.println(b.getUnlocalizedName()); } } return false; } return false; } @Override public TileEntity createNewTileEntity(World world, int i) { return null; } } The console printout is kind of the same... I am now only ask if it is a good solution for my problem. Ty, hnsdieter
  9. Hello, I figured out that ForgeDirection is the best way to-do this but it seems like the Code is running twice: 0:35:50] [Client thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.util.BlockUtil:getBlockA:14]: 457.4.-892 [20:35:50] [Client thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.block.BRuneCrafter:onBlockActivated:36]: tile.sponge [20:35:50] [Client thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.util.BlockUtil:getBlockA:14]: 457.6.-892 [20:35:50] [Client thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.block.BRuneCrafter:onBlockActivated:36]: tile.grass [20:35:50] [Client thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.util.BlockUtil:getBlockA:14]: 457.5.-893 [20:35:50] [Client thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.block.BRuneCrafter:onBlockActivated:36]: tile.blockEmerald [20:35:50] [Client thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.util.BlockUtil:getBlockA:14]: 457.5.-891 [20:35:50] [Client thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.block.BRuneCrafter:onBlockActivated:36]: tile.sponge [20:35:50] [Client thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.util.BlockUtil:getBlockA:14]: 456.5.-892 [20:35:50] [Client thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.block.BRuneCrafter:onBlockActivated:36]: hnsdieter:tile.hnscrystals:stringemitter [20:35:50] [Client thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.util.BlockUtil:getBlockA:14]: 458.5.-892 [20:35:50] [Client thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.block.BRuneCrafter:onBlockActivated:36]: tile.air [20:35:50] [server thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.util.BlockUtil:getBlockA:14]: 457.4.-892 [20:35:50] [server thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.block.BRuneCrafter:onBlockActivated:36]: tile.sponge [20:35:50] [server thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.util.BlockUtil:getBlockA:14]: 457.6.-892 [20:35:50] [server thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.block.BRuneCrafter:onBlockActivated:36]: tile.grass [20:35:50] [server thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.util.BlockUtil:getBlockA:14]: 457.5.-893 [20:35:50] [server thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.block.BRuneCrafter:onBlockActivated:36]: tile.blockEmerald [20:35:50] [server thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.util.BlockUtil:getBlockA:14]: 457.5.-891 [20:35:50] [server thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.block.BRuneCrafter:onBlockActivated:36]: tile.sponge [20:35:50] [server thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.util.BlockUtil:getBlockA:14]: 456.5.-892 [20:35:50] [server thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.block.BRuneCrafter:onBlockActivated:36]: hnsdieter:tile.hnscrystals:stringemitter [20:35:50] [server thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.util.BlockUtil:getBlockA:14]: 458.5.-892 [20:35:50] [server thread/INFO] [sTDOUT]: [hnsdieter.hnsCrystals.block.BRuneCrafter:onBlockActivated:36]: tile.air My Client's log... My Block: public class BRuneCrafter extends hnsBlock implements ITileEntityProvider{ public BRuneCrafter(String name) { super(Material.rock, name); this.setHarvestLevel("pickaxe", 2); this.setHardness(5.0F); this.setResistance(1000.0F); } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int int1, float f1, float f2, float f3){ ItemStack item = player.getHeldItem(); if(item == null){ return false; } if(item.getItem() == hnsItems.crystalStaff){ int i = 0; while(i < 6){ Block block = BlockUtil.getBlockA(world, x, y, z, i); if(block == null){ }else{ System.out.println(block.getUnlocalizedName()); } i = i + 1; } } return false; } @Override public TileEntity createNewTileEntity(World world, int i) { return null; } } My BlockUtil class: public class BlockUtil { public static Block getBlockA(World world, int x, int y, int z, int i){ ForgeDirection direction = ForgeDirection.getOrientation(i); int xCoord = x + direction.offsetX; int yCoord = y + direction.offsetY; int zCoord = z + direction.offsetZ; System.out.println(xCoord + "." + yCoord + "." + zCoord); return world.getBlock(xCoord, yCoord, zCoord); } } Please help me to find the derp...
  10. Ok, This is the thing you should implement when you want to go on your own read the documentation above: https://github.com/CoFH/RedstoneFlux-API/blob/master/src/main/java/cofh/api/energy/IEnergyContainerItem.java should look like this: public class Battery extends Item implements IEnergyContainerItem{ } You will get a warning to implement the methods in your class. Just register it later as a normal Item. The example is this: https://github.com/CoFH/RedstoneFlux-API/blob/master/src/main/java/cofh/api/energy/ItemEnergyContainer.java You can extend this for experimental purpouse in your Item class.
  11. Ok, then I have two last ideas: 1: You make it like in extrautilities that you got an extractor(EnergyNode) and a line to go down. 2: You can pass the direction received where the Energy was last received from and prevent it from outputting it backwards. But Energy could not go back because the first Wire in the lines buffer is full at a constant outout of the Generator or Battery so it might be difficult for the Energy to go backwards if the Wir before is full so it only has the direction forward down the line.
  12. You could give every TileEntity using your Energy a simple getter-Method e.g.: public int getMaxReceive() and let it return 0 instead of a value if you dont want it to accept energy from other blocks, that scan around and give Energy to other Tiles. Than you can use "Math.min" to get the smallest number that could be transfered in your outout method: int transfer = Math.min(energy, Math.min(maxTransfer, tile.getMaxReceive()); tile is in that case your TileEntity you scanned for and "Math.min()" returns the smallest number of the two parameters so if getMaxReceive() returns 0 there wont be any transfer into the TileEntity but in others that could accept. You only need to dumb the value transfer as always into your TileEntity. Hope that could help.
  13. I can only figure a simple solution out of the API(I could not test and would not test): ItemStack thaumium = ItemAPI.getItem("itemThaumium", 0); The basic method is: public static ItemStack getItem(String itemString, int meta) I guess for the itemString ingotThaumium or itemThaunium or itemIngotThaumium. Hope that could help.
  14. Hello, I always get this weird error message: [21:06:28] [server thread/ERROR] [FML]: A TileEntity type hnsdieter.chargeassembly.tileentity.GearBoxTileEntity has throw an exception trying to write state. It will not persist. Report this to the mod author java.lang.RuntimeException: class hnsdieter.chargeassembly.tileentity.GearBoxTileEntity is missing a mapping! This is a bug! at net.minecraft.tileentity.TileEntity.writeToNBT(TileEntity.java:96) ~[TileEntity.class:?] at hnsdieter.chargeassembly.tileentity.GearBoxTileEntity.writeToNBT(GearBoxTileEntity.java:28) ~[GearBoxTileEntity.class:?] at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:395) [AnvilChunkLoader.class:?] at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:204) [AnvilChunkLoader.class:?] at net.minecraft.world.gen.ChunkProviderServer.safeSaveChunk(ChunkProviderServer.java:287) [ChunkProviderServer.class:?] at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:340) [ChunkProviderServer.class:?] at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:862) [WorldServer.class:?] at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:370) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:636) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] I cant figure out what it means and how to fix it, pls help me. My Tile Entity: package hnsdieter.chargeassembly.tileentity; import hnsdieter.chargeassembly.energy.IJouleMachine; import hnsdieter.chargeassembly.util.BlockUtil; import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTank; import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; public class GearBoxTileEntity extends TileEntity implements IJouleMachine, IFluidHandler{ public int energy; public int maxEnergy; public int maxTransfer; public FluidTank tank = new FluidTank(16000); public GearBoxTileEntity(){ } public void writeToNBT(NBTTagCompound nbt){ super.writeToNBT(nbt); nbt.setInteger("Energy", energy); tank.writeToNBT(nbt); } public void readFromNBT(NBTTagCompound nbt){ super.readFromNBT(nbt); nbt.getInteger("Energy"); tank.readFromNBT(nbt); } /* * Implementation of IJouleMachine */ @Override public void generateEnergy(int amount) { } @Override public void transferEnergy(int amount) { } @Override public void receiveEnergy(int amount) { energy = energy + amount; if(energy > maxEnergy){ energy = maxEnergy; } } /* * IFluidHandler Implementation * @see net.minecraftforge.fluids.IFluidHandler */ @Override public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { return tank.fill(resource, doFill); } @Override public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { if(resource == null || !resource.isFluidEqual(tank.getFluid())){ return null; } return tank.drain(resource.amount, doDrain); } @Override public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) { return tank.drain(maxDrain, doDrain); } @Override public boolean canFill(ForgeDirection from, Fluid fluid) { return true; } @Override public boolean canDrain(ForgeDirection from, Fluid fluid) { return false; } @Override public FluidTankInfo[] getTankInfo(ForgeDirection from) { return new FluidTankInfo[] {tank.getInfo()}; } }
×
×
  • Create New...

Important Information

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