Jump to content

Abascus

Members
  • Posts

    53
  • Joined

  • Last visited

Everything posted by Abascus

  1. ok, thanks, it looks simple, thanks =D
  2. Ok, could you send me some kind of datasheet/javadoc/tutorial/whatever?
  3. I think my java skills are pretty ok, so i shoul be able to do it
  4. Hi, how can i safe some extra information in every player specific file?
  5. so i could technicly hook into a void where for example health-=5; is called and put it into an if statement?
  6. ok, but in general there is no way around it? I heard something about AccessTransformers, but I don't realy know what they are, if there are able to help me and how to use them
  7. The player only should be able to do certain things(like using a chest/ having an air bar underwater) under certain conditions
  8. Hy, is there any way around necessary Base Class edits?
  9. did you put all of your files into the mods folder/the install dir?
  10. Ok, thanks diesieben07 and TuxCraft now everythink is working perfectly
  11. But how do I use it? I can't find a Method that takes an EnumChatFormatting as argument, ... Thank you
  12. Hi, anyone knows how to color chat messages send with EntityPlayer.sendChatToPlayer(s); Thank you
  13. But it isn't the GUI thats going wrong, its the saving, but mabye Packets will help, but how do I use them/what should I do with them?
  14. But it isn't the GUI thats going wrong, its the saving, but mabye Packets will help, but how do I use them/what should I do with them?
  15. But that only returns 1 CreativeTabs object, not an arry or something like that, so do you know another way?
  16. But that only returns 1 CreativeTabs object, not an arry or something like that, so do you know another way?
  17. How can I add 1 Item/Block to several Creative Tabs? Thank you
  18. How can I add 1 Item/Block to several Creative Tabs? Thank you
  19. it's loading the inv[] (ItemStack Array) perfectly, but it isn't saving it, but I don't know why, that means, lets say, there is a diamond in the Container, and I take it out and replaye it with dirt, save the game and load it again, the diamond is still in my Inventory, but in the mContainer, there is also one, cause the dirt wasn't saved, and the last save was the diamond
  20. it's loading the inv[] (ItemStack Array) perfectly, but it isn't saving it, but I don't know why, that means, lets say, there is a diamond in the Container, and I take it out and replaye it with dirt, save the game and load it again, the diamond is still in my Inventory, but in the mContainer, there is also one, cause the dirt wasn't saved, and the last save was the diamond
  21. Whats wrong with this? package Abascus.UBlocks.common; import java.awt.Toolkit; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemBlockWithMetadata; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.network.INetworkManager; import net.minecraft.network.packet.Packet; import net.minecraft.network.packet.Packet132TileEntityData; import net.minecraft.src.ModLoader; import net.minecraft.tileentity.TileEntity; public class TileEntityUniversal extends TileEntity implements IInventory { public ItemStack[] inv; // public BlockUniversalStair blockUS = (BlockUniversalStair) // UniversalStairs.instance.universalStair; public int getBlockId() { if (inv[0] != null) { return getStackInSlot(0).itemID; } else { return Block.glass.blockID; } } private void sendUpdate() { worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); } @Override public Packet getDescriptionPacket() { Packet132TileEntityData packet = (Packet132TileEntityData) super.getDescriptionPacket(); NBTTagCompound tag = packet != null ? packet.customParam1 : new NBTTagCompound(); writeToNBT(tag); return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag); } @Override public void onDataPacket(INetworkManager net, Packet132TileEntityData pkt) { super.onDataPacket(net, pkt); NBTTagCompound tag = pkt.customParam1; readFromNBT(tag); } public int getMetaId() { if (inv[0] != null) { return getStackInSlot(0).getItemDamage(); } else { return 0; } } public TileEntityUniversal() { inv = new ItemStack[1]; } @Override public int getSizeInventory() { return inv.length; } @Override public ItemStack getStackInSlot(int slot) { return inv[slot]; } @Override public void setInventorySlotContents(int slot, ItemStack stack) { inv[slot] = stack; if (stack != null && stack.stackSize > getInventoryStackLimit()) { stack.stackSize = getInventoryStackLimit(); } } @Override public ItemStack decrStackSize(int slot, int amt) { ItemStack stack = getStackInSlot(slot); if (stack != null) { if (stack.stackSize <= amt) { setInventorySlotContents(slot, null); } else { stack = stack.splitStack(amt); if (stack.stackSize == 0) { setInventorySlotContents(slot, null); } } } return stack; } @Override public ItemStack getStackInSlotOnClosing(int slot) { ItemStack stack = getStackInSlot(slot); if (stack != null) { setInventorySlotContents(slot, null); } return stack; } @Override public int getInventoryStackLimit() { return 64; } @Override public boolean isUseableByPlayer(EntityPlayer player) { return worldObj.getBlockTileEntity(xCoord, yCoord, zCoord) == this && player.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 64; } @Override public void openChest() { } @Override public void closeChest() { } @Override public void readFromNBT(NBTTagCompound tagCompound) { super.readFromNBT(tagCompound); NBTTagList tagList = tagCompound.getTagList("Inventory"); for (int i = 0; i < tagList.tagCount(); i++) { NBTTagCompound tag = (NBTTagCompound) tagList.tagAt(i); byte slot = tag.getByte("Slot"); if (slot >= 0 && slot < inv.length) { inv[slot] = ItemStack.loadItemStackFromNBT(tag); } } } @Override public void writeToNBT(NBTTagCompound tagCompound) { super.writeToNBT(tagCompound); NBTTagList itemList = new NBTTagList(); ItemStack stack = inv[0]; if (stack != null) { NBTTagCompound tag = new NBTTagCompound(); tag.setByte("Slot", (byte) 0); stack.writeToNBT(tag); itemList.appendTag(tag); } tagCompound.setTag("Inventory", itemList); } @Override public String getInvName() { return "UniversalStair"; } @Override public boolean isInvNameLocalized() { return false; } @Override public boolean isStackValidForSlot(int i, ItemStack itemstack) { return false; } } The TileEntity isn't saving, but it's loading the data(ItemStack)
  22. Whats wrong with this? package Abascus.UBlocks.common; import java.awt.Toolkit; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemBlockWithMetadata; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.network.INetworkManager; import net.minecraft.network.packet.Packet; import net.minecraft.network.packet.Packet132TileEntityData; import net.minecraft.src.ModLoader; import net.minecraft.tileentity.TileEntity; public class TileEntityUniversal extends TileEntity implements IInventory { public ItemStack[] inv; // public BlockUniversalStair blockUS = (BlockUniversalStair) // UniversalStairs.instance.universalStair; public int getBlockId() { if (inv[0] != null) { return getStackInSlot(0).itemID; } else { return Block.glass.blockID; } } private void sendUpdate() { worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); } @Override public Packet getDescriptionPacket() { Packet132TileEntityData packet = (Packet132TileEntityData) super.getDescriptionPacket(); NBTTagCompound tag = packet != null ? packet.customParam1 : new NBTTagCompound(); writeToNBT(tag); return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag); } @Override public void onDataPacket(INetworkManager net, Packet132TileEntityData pkt) { super.onDataPacket(net, pkt); NBTTagCompound tag = pkt.customParam1; readFromNBT(tag); } public int getMetaId() { if (inv[0] != null) { return getStackInSlot(0).getItemDamage(); } else { return 0; } } public TileEntityUniversal() { inv = new ItemStack[1]; } @Override public int getSizeInventory() { return inv.length; } @Override public ItemStack getStackInSlot(int slot) { return inv[slot]; } @Override public void setInventorySlotContents(int slot, ItemStack stack) { inv[slot] = stack; if (stack != null && stack.stackSize > getInventoryStackLimit()) { stack.stackSize = getInventoryStackLimit(); } } @Override public ItemStack decrStackSize(int slot, int amt) { ItemStack stack = getStackInSlot(slot); if (stack != null) { if (stack.stackSize <= amt) { setInventorySlotContents(slot, null); } else { stack = stack.splitStack(amt); if (stack.stackSize == 0) { setInventorySlotContents(slot, null); } } } return stack; } @Override public ItemStack getStackInSlotOnClosing(int slot) { ItemStack stack = getStackInSlot(slot); if (stack != null) { setInventorySlotContents(slot, null); } return stack; } @Override public int getInventoryStackLimit() { return 64; } @Override public boolean isUseableByPlayer(EntityPlayer player) { return worldObj.getBlockTileEntity(xCoord, yCoord, zCoord) == this && player.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 64; } @Override public void openChest() { } @Override public void closeChest() { } @Override public void readFromNBT(NBTTagCompound tagCompound) { super.readFromNBT(tagCompound); NBTTagList tagList = tagCompound.getTagList("Inventory"); for (int i = 0; i < tagList.tagCount(); i++) { NBTTagCompound tag = (NBTTagCompound) tagList.tagAt(i); byte slot = tag.getByte("Slot"); if (slot >= 0 && slot < inv.length) { inv[slot] = ItemStack.loadItemStackFromNBT(tag); } } } @Override public void writeToNBT(NBTTagCompound tagCompound) { super.writeToNBT(tagCompound); NBTTagList itemList = new NBTTagList(); ItemStack stack = inv[0]; if (stack != null) { NBTTagCompound tag = new NBTTagCompound(); tag.setByte("Slot", (byte) 0); stack.writeToNBT(tag); itemList.appendTag(tag); } tagCompound.setTag("Inventory", itemList); } @Override public String getInvName() { return "UniversalStair"; } @Override public boolean isInvNameLocalized() { return false; } @Override public boolean isStackValidForSlot(int i, ItemStack itemstack) { return false; } } The TileEntity isn't saving, but it's loading the data(ItemStack)
×
×
  • Create New...

Important Information

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