
bongotezz
Members-
Posts
29 -
Joined
-
Last visited
Converted
-
Gender
Undisclosed
-
URL
https://www.youtube.com/channel/UCap3K9FEincZB_pzAOi-1kQ
-
Personal Text
I am Groot!
bongotezz's Achievements

Tree Puncher (2/8)
0
Reputation
-
Putting (some) village information on a sign, and saving new tags
bongotezz replied to AstroTibs's topic in Modder Support
I don't know the answers you're looking for but i would be interested in the code to put text on the signs. That sounds awesome. -
[1.11.2] Generating dungeons using Structure Block data
bongotezz replied to Eragon_Skill's topic in Modder Support
I don't know about structure block data but you can generate structures from MC edit schematics. I'm working on a mod that does that now. -
See what happens when you're a noob? I didn't even realize there was a specific class for door. Thanks a lot man.
-
Hello I recently made some code to lock a chest by locking the tile entity. Does this work the same for doors? Do they have a tile entity that i can lock? If they do have tile entities is there 2 of them, one for the top block and one for the bottom? Thanks in advance.
-
[1.10.2] [SOLVED] Event stops working after relog
bongotezz replied to bongotezz's topic in Modder Support
No, this is basic Java. You can't compare Strings using == . Thanks. It's been a long time since i've used Java and didn't remember that. -
[1.10.2] [SOLVED] Event stops working after relog
bongotezz replied to bongotezz's topic in Modder Support
This also works te.getName().equals("Test Chest") Even though == did not. -
[1.10.2] [SOLVED] Event stops working after relog
bongotezz replied to bongotezz's topic in Modder Support
Thanks everyone for your help. I decided to go a different route. Since the chests are locked and require a key to unlock i switched to testing for isLocked instead. It works even after logging out. -
[1.10.2] [SOLVED] Event stops working after relog
bongotezz replied to bongotezz's topic in Modder Support
Well, i switched it to NBT and actually made it worse. Now when i press ESC to exit the game it crashes with an error in the AnvilChunckLoader class and highlights this line of code that's not mine. this.pendingAnvilChunksCoordinates.remove(chunkpos); Maybe i'm not understanding NBT. Here's how i set it up. public static void fillInventoryChest(int x, int y, int z, World world, int itemID, int amount, int meta, int slot) { BlockPos blockPos = new BlockPos(x,y,z); Item item = new Item(); item = Item.getItemById(itemID); ItemStack i = new ItemStack(item, amount, meta); i.setStackDisplayName("displayName"); TileEntityChest te = (TileEntityChest)world.getTileEntity(blockPos); te.setInventorySlotContents(slot, i); te.setCustomName("TestChest"); NBTTagCompound underworld = te.getTileData(); underworld.setBoolean("underworld", true); te.writeToNBT(underworld); LockCode code = new LockCode("displayName"); te.setLockCode(code); te.markDirty(); } //end fill chest and here's how i'm testing for it public class ModEvents { @SubscribeEvent (priority = EventPriority.HIGHEST) public void NoBlockBreaking(BlockEvent.BreakEvent event) { System.out.println("test"); if(event.getState().getBlock()==Blocks.CHEST) { System.out.println("Inside IF"); World world = event.getWorld(); BlockPos blockPos = event.getPos(); TileEntityChest te = (TileEntityChest)world.getTileEntity(blockPos); boolean x = false; NBTTagCompound underworld; underworld = te.getTileData(); x = underworld.getBoolean("underworld"); if(x) { System.out.println("about to cancel"); event.setCanceled(true); } } } } -
[1.10.2] [SOLVED] Event stops working after relog
bongotezz replied to bongotezz's topic in Modder Support
I tried markDirty while testing. It came up in my google search. It didn't make any difference because it looks like the name saved. If i read the name even after logging out and in the name is correct. The problem seems to be that after the log out and log in the if statement is not returning true even though it should. -
[1.10.2] [SOLVED] Event stops working after relog
bongotezz replied to bongotezz's topic in Modder Support
Thanks for your reply. I will now have to learn about NBT. I thought making the chests my mod spawns in unbreakable would be easy but i've had to learn a ton to get this close. Figuring out NBT should be fun. Any good guides you're familiar with? -
[1.10.2] [SOLVED] Event stops working after relog
bongotezz replied to bongotezz's topic in Modder Support
So i did some further testing and i'm now thinking this is either a Minecraft bug, a Forge bug, or some kind of lack of understanding something on my part. here's my debugging code @SubscribeEvent (priority = EventPriority.HIGHEST) public void NoBlockBreaking(BlockEvent.BreakEvent event) { System.out.println("test"); if(event.getState().getBlock()==Blocks.CHEST) { System.out.println("Inside IF"); World world = event.getWorld(); BlockPos blockPos = event.getPos(); TileEntityChest te = (TileEntityChest)world.getTileEntity(blockPos); String boxName = te.getName(); String name = "Test Chest"; System.out.println("te.getName" + boxName + "is there a space?"); System.out.println("String" + name + "is there a space?"); if(boxName == name) { System.out.println("about to cancel"); event.setCanceled(true); } } } The text output from the first test - spawn the chest into the world and try to break it. The first time it's spawned it works properly. i cannot break the chest. [01:54:52] [server thread/INFO] [sTDOUT]: [com.bongotezz.tutorialmod.events.ModEvents:NoBlockBreaking:19]: test [01:54:52] [server thread/INFO] [sTDOUT]: [com.bongotezz.tutorialmod.events.ModEvents:NoBlockBreaking:22]: Inside IF [01:54:52] [server thread/INFO] [sTDOUT]: [com.bongotezz.tutorialmod.events.ModEvents:NoBlockBreaking:30]: te.getNameTest Chestis there a space? [01:54:52] [server thread/INFO] [sTDOUT]: [com.bongotezz.tutorialmod.events.ModEvents:NoBlockBreaking:31]: StringTest Chestis there a space? [01:54:52] [server thread/INFO] [sTDOUT]: [com.bongotezz.tutorialmod.events.ModEvents:NoBlockBreaking:36]: about to cancel Now i log out and back in and here's the output. I try to break the chest and it breaks just fine. It's not supposed to. [01:56:23] [server thread/INFO] [sTDOUT]: [com.bongotezz.tutorialmod.events.ModEvents:NoBlockBreaking:19]: test [01:56:23] [server thread/INFO] [sTDOUT]: [com.bongotezz.tutorialmod.events.ModEvents:NoBlockBreaking:22]: Inside IF [01:56:23] [server thread/INFO] [sTDOUT]: [com.bongotezz.tutorialmod.events.ModEvents:NoBlockBreaking:30]: te.getNameTest Chestis there a space? [01:56:23] [server thread/INFO] [sTDOUT]: [com.bongotezz.tutorialmod.events.ModEvents:NoBlockBreaking:31]: StringTest Chestis there a space? It's exactly the same except the chest now breaks and the last println is not called. For some reason after i log out and back in the IF statement fails even though the 2 strings are the same. -
[1.10.2] [SOLVED] Event stops working after relog
bongotezz replied to bongotezz's topic in Modder Support
After some additional testing it looks like the tile entity does not save its name that i give it. "edit" And further testing shows that i'm wrong on this. -
I created an event to stop people from breaking specifically named chests. The even works find until i log out and back in again. It then no longer works. Code for filling and naming the tile entity. public static void fillInventoryChest(int x, int y, int z, World world, int itemID, int amount, int meta, int slot) { BlockPos blockPos = new BlockPos(x,y,z); Item item = new Item(); item = Item.getItemById(itemID); ItemStack i = new ItemStack(item, amount, meta); i.setStackDisplayName("displayName"); TileEntityChest te = (TileEntityChest)world.getTileEntity(blockPos); te.setInventorySlotContents(slot, i); te.setCustomName("Test Chest"); LockCode code = new LockCode("displayName"); te.setLockCode(code); } Code for the event @SubscribeEvent public void NoBlockBreaking(BlockEvent.BreakEvent event) { if(event.getState().getBlock()==Blocks.CHEST) { World world = event.getWorld(); BlockPos blockPos = event.getPos(); TileEntityChest te = (TileEntityChest)world.getTileEntity(blockPos); if(te.getName()=="Test Chest") { event.setCanceled(true); } } } registering the even @EventHandler public void postInit(FMLPostInitializationEvent event) { MinecraftForge.EVENT_BUS.register(new ModEvents()); proxy.postInit(event); } Anyone know what i'm missing? Thanks in advance.
-
[1.10.2] How to set a block to unbreakable [SOLVED]
bongotezz replied to bongotezz's topic in Modder Support
Thanks for this tip. I was able to learn how to use events to stop chest that my mod places from being broken. Other chests remain normal. I did it by naming the chest's tileEntityChest while filling it and then checking for it in the event. If it has the same name the block break gets cancelled. If anyone wants more details just let me know. -
[1.10.2] How to set a block to unbreakable [SOLVED]
bongotezz replied to bongotezz's topic in Modder Support
Hey, if you'd like you can reference my OpenSource test-things mod for making your chest. https://github.com/EscapeMC/Things-Mod-1.10.2/tree/master/src/main/java/com/github/escapemc/thingsmod Good luck! Thanks man. I'll check it out.