Well I will then stick with my on world load which is why Just Another Spawner mod made their files generate on world load as well. I think the aether does something like this and the aehter is one of my favorite mobs so I won't do this.
Alright since I couldn't apply the quantity dropped property itself I decided to simulate the quantity dropped through a harvest drops event handler. Well I am unable to remove an itemstack from that handler it still drops the block. I have tried a simple remove and a complex remove. I can clear the list and that would work but, I can't seem to remove a single itemstack. Yes I have tried removing the for loop and I also set dirt to 0 so the for loop wouldn't even activate in the first place. Same results it drops the block and prints the same itemstack I have tried to remove.
Edit: I see forge's drops list is final then why does adding an item to that array list not crash? Why does clearing this array list not crash? I don't understand why forge made this final for an event handler that your suppose to be editing that array list ??????
List#remove will remove the first object in the list equal to (i.e. Object#equals returns true) the argument. ItemStack doesn't override Object#equals, so two different ItemStack objects will never be considered equal.
This means that you can't create your own ItemStack and call List#remove with it, you need to iterate through the List to find the ItemStack you want to remove and then remove it.
Rollback Post to RevisionRollBack
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
How do you cast the itemstack in the iterator? I try to type cast it and then on harvest event it seems to crash on the line where I type cast it? Crash: http://pastebin.com/PEhby1dy . I am adding the drops to my own array list and clearing the default since it is stubborn.
public static ArrayList<ItemStack> dropping;
//Adds All Drops if it's not The Block Itself To The Array List
Iterator ijk = event.drops.iterator();
while (ijk.hasNext())
{
String str = ijk.next().toString();
if (!str.equals(strblock))
{
dropping.add((ItemStack) ijk.next());
}
}
Use generics where possible instead of casting everything. This will make your code much more type-safe.
Only call Iterator#next once per iteration of the loop.
The NullPointerException is thrown because you never initialise the dropping field. Why is it a field, anyway?
Rollback Post to RevisionRollBack
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Thanks for pointing my stupid mistake out. How am I suppose to use generics when iterator and it have been used? Just use it1 or it2 but, that's not really generic either.
Only call Iterator#next once per iteration of the loop.
Ok why does it go to the next part of the loop once called? My computer class didn't explain this part.
I got the quantity dropped working Now I just have to add support for spawners by making a on block break property again.....
Thanks for pointing my stupid mistake out. How am I suppose to use generics when iterator and it have been used? Just use it1 or it2 but, that's not really generic either.
Generic type arguments are part of the variable/field declaration. Instead of Iterator it, use Iterator<FooBar> it.
Ok why does it go to the next part of the loop once called? My computer class didn't explain this part.
Each time you call Iterator#next, it advances the iteration by one step and returns the next value. Calling it multiple times will advance the iteration by multiple steps and return a different value each time.
If you don't need direct access to the Iterator, you should use an enhanced for loop. This manages the iteration for you.
Rollback Post to RevisionRollBack
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Ok I made a harvest drops event handler that currently has a chance of dropping any spawn egg (vanilla, forge, caged) However if it has a global id but, if vanilla doesn't recognize the vanilla egg it won't spawn in the entity. I could fix this through an event handler but, then again there is an issue with anvils. I could fix this for vanilla but, not for all mods so it would be annoying to some people that they can't open modded containers because, they are holding a vanilla spawn egg. I don't know what to do? Should I register the spawn egg if it's not already registered and how would I do that since the entity isn't my own (vanilla's / modded). I am guessing I am going to need reflection helper. Could you give me a simple example of how to use it since your description confuses me. Thanks
Ok I made a harvest drops event handler that currently has a chance of dropping any spawn egg (vanilla, forge, caged) However if it has a global id but, if vanilla doesn't recognize the vanilla egg it won't spawn in the entity.
What do you mean by "if vanilla doesn't recognize the vanilla egg"?
I could fix this through an event handler but, then again there is an issue with anvils. I could fix this for vanilla but, not for all mods so it would be annoying to some people that they can't open modded containers because, they are holding a vanilla spawn egg. I don't know what to do? Should I register the spawn egg if it's not already registered and how would I do that since the entity isn't my own (vanilla's / modded).
I wouldn't recommend registering spawn eggs for other mods' entities.
Do you need to change the right-click behaviour of spawn eggs at all?
I am guessing I am going to need reflection helper. Could you give me a simple example of how to use it since your description confuses me. Thanks
Call ReflectionHelper.findField or ReflectionHelper.findMethod with the Class to get the field/method from and the MCP and SRG names of the field/method. Store the returned Field/Method object in a private static final field.
Call Field#get to get the current value of the field. If it's an instance field, pass the instance to get the value from as the argument. If it's a static field, pass null as the argument.
Call Method#invoke to call the method. If it's an instance method, pass the instance to call the method on as the first argument. If it's a static method, pass null as the first argument. Pass the method's arguments as the second (vararg) argument.
You can find SRG names in your MCP mappings or by using MCPBot.
Rollback Post to RevisionRollBack
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Yes it doesn't spawn in the entity if it's not registered. It simply will give me the stack as a blank egg with the name of the entity and the world spawn in front of it. I am wondering since google says in order for the egg to work you need to register the entity that way. I am wondering if adding anything to that list will do anything. I tried and it caused a crash so I am guessing it needs the forge registration of the entity. I am leaning towards an event handler and just supporting vanilla's anvil and anything that has a tile entity.
Actually I only need the reflection helper for 1.8+ it has a valid public static hashmap. What are the parameters for 1.7.10. O and does this register them or just add them to the creative tab? If not how am I suppose to register them?
Yes it doesn't spawn in the entity if it's not registered. It simply will give me the stack as a blank egg with the name of the entity and the world spawn in front of it.
Shouldn't you limit the drops to entities that already have an egg registered?
Actually I only need the reflection helper for 1.8+ it has a valid public static hashmap. What are the parameters for 1.7.10.
ReflectionHelper and Java's reflection API haven't changed between 1.7.10 and 1.10.2. The advice in my previous post applies to all versions.
O and does this register them or just add them to the creative tab? If not how am I suppose to register them? How do mods register eggs?
EntityList.entityEggs is the place where all eggs registered with vanilla's system are stored, yes.
In 1.7.10 - 1.8.9, vanilla's spawn eggs used global IDs. In 1.8, Forge added support for spawn eggs using entity names; these were stored in EntityRegistry#entityEggs. In 1.9, vanilla spawn eggs switched to using entity names, EntityList.entityEggs was renamed to EntityList.ENTITY_EGGS and EntityRegistry#entityEggs was removed. In 1.9.4, Forge removed support for mods registering global IDs.
In 1.7.10 - 1.9, mods could register eggs by calling EntityRegistry.registerGlobalEntityID. In 1.8+, mods can register eggs by calling EntityRegistry.registerModEntity or EntityRegistry.registerEgg.
Rollback Post to RevisionRollBack
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
It appears to be public static for all versions I remembered wrong. However You did bring to my attention in versions 1.8+ there are other entity lists. I have no need for reflection helper yet I don't know why I asked about it back then or even now as I can get the global id without it, and the entity egg info here comes some major bug fixing updates..... Maybe my forge was out of date for 1.7.10 or 1.8 on my old pc.
O and scanning through 1.10.2 code I found this that I could use. I don't know why I didn't think looking in future versions.
EntityList.ENTITY_EGGS.put(name, new EntityList.EntityEggInfo(name, primary, secondary));
Alright I have another retaliative problem this time it's about tile entities. Nei breaks my current on block place reading system. I need to set the block on item interact event the only problem for 1.7.10 is I can't find a method that is can block be placed. I also have another issue it's not getting rid of the the itemstack even though it said it did for a split second. I don't know what to do. I got it placing the proper entity but, it's not working all the way. I can place a block at the exact location I am in and on my head as well.
I have tried setting the block in block place event and whenever it cancles the event the block disappears but, I need to do something because, Nei breaks my current reading system. I found out that minespawner for 1.7.10 had the same issues as stated above. I need to set block set tile entity and cancel the event somehow to prevent Nei from breaking my reading system. In 1.8+ it doesn't matter if it's a block mob spawner if it doesn't have a global id it won't read it.
To answer your previous question on the eggs drops. I don't limit whatsoever if they have an egg or not. If it has an vanilla egg it will drop vanilla, if it has a global id and doesn't have an egg it will drop a forge egg, if has no global id it will drop a forge egg, if it isn't a living entity it will drop a caged egg.
I'm not too sure what the issue is and I don't really want to debug it for you. I suggest starting a new thread that clearly explains what the issue is, someone else may help you there.
Rollback Post to RevisionRollBack
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
The issue is It isn't getting the tile entity for (Block Place Event) so I put it on this thread. Do you want me to make a more specific thread for this issue? Do you want me to make a thread for each and every one of my problems I had on this forum?
Top Portion of Code Attempt
Problem one with on item interact event. setblock with tile entity it works with the cancled event however it places the block regardless if the block can be placed there or not. For example I am standing on a block I place it then it sets the block at my foot. Problem 2 not de-incriminating the itemstack.
Bottom Portion of Code Attempt
Problem with block place event. Canceling the event will stop the block from being placed. If it's cancled setting the block regardless of where it is won't set it if it's canceled. Should I copy the logic from setblock into my own method like EBLock? Let's say I do get this set block working on this event how should I set the tile entity in a way that I can cancel the event and it will still set it? Problem two with block place event. Event If I set the block it doesn't appear that it works anyways. It appears that it is a pig when the event is cancled.
I have taken this issue to Nei and no replies it's as chicken bones doesn't answer anything anymore.
The issue is It isn't getting the tile entity for (Block Place Event) so I put it on this thread. Do you want me to make a more specific thread for this issue? Do you want me to make a thread for each and every one of my problems I had on this forum?
To tell the truth, I'm getting tired of helping you with these issues and was hoping you'd create a new thread so someone else could help you (since it's unlikely anyone else will respond to this thread now that it's 15 pages long). You're using an outdated version of Minecraft (which I've stopped helping other people with) and your posts and code are hard to read. This post in particular was a bit easier to read, though.
Top Portion of Code Attempt
Problem one with on item interact event. setblock with tile entity it works with the cancled event however it places the block regardless if the block can be placed there or not. For example I am standing on a block I place it then it sets the block at my foot. Problem 2 not de-incriminating the itemstack.
Bottom Portion of Code Attempt
Problem with block place event. Canceling the event will stop the block from being placed. If it's cancled setting the block regardless of where it is won't set it if it's canceled. Should I copy the logic from setblock into my own method like EBLock? Let's say I do get this set block working on this event how should I set the tile entity in a way that I can cancel the event and it will still set it? Problem two with block place event. Event If I set the block it doesn't appear that it works anyways. It appears that it is a pig when the event is cancled.
I have taken this issue to Nei and no replies it's as chicken bones doesn't answer anything anymore.
Why do you need to subscribe to PlayerInteractEvent? Why do you need to place the Block that the player is holding in response to PlayerInteractEvent and BlockEvent.PlaceEvent? Can't you just allow the vanilla block placement logic (including the parts that check whether the block can be placed) to run and then read the TileEntity from NBT in BlockEvent.PlaceEvent?
Rollback Post to RevisionRollBack
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
I understand. I just need help one last time and if I need help again I will make a new forum.
I need this on either event because, Nei breaks the current reading system. I need set block set tile entity, cancle event, and if nei is loaded. To specify I don't need to do this for both events, I only need this for one event to work
1.8 and 1.7.10 are similar for the same methods. It's just worded differently.
I have made a new forum for this topic. It won't just be me having this issue many people will have this issue if they wan't to override block placement of the itemblock. It's 1.8x just for you 1.10.2 and 1.8x are almost identical it just changes event.this to event.getThis() .
Note I will split this forum into tutorials after silk spawners has been completed. I am wanting to finish this mod and fix all of it's incompatibilities so I can show people how to do it later in a tutorial to help other people like you do.
I have found out what was happening it only reads the tile entity from setting the block if the world is remote (only if) from setting the block on the event(or just specifically item interact event). I have found another potential solution but, I don't know what to do with it. By setting block on a chest it updates the tile entity mob spawner to the correct thing however I don't know how this is working and how to apply it for my event. How do I get it to update the correct entity like the chest is doing without setting a chest block to update it's code?
Note I have made a new forum specifically for setting blocks on item interact event and no one helped me. They just told me debug this yourself. Well I couldn't find anything so I made the code above from scratch and it works without NEI. With nei it doesn't update the entity unless I change the return method for it only going to be on a client which will then make this incompatible with servers. So my only solution I see is to find out what the chest is doing. I have no clue what it is doing nor how to apply it.
Hi in 2016 you said a while back on how to implement dungeontweeks on silkspawners dev forum well what you said is causing issues with nether fortress and maybe other structures happen rarely as well maybe please help out here or on the forge forums
Issue: the scanned chunk is already scanned then fortress places spawner to already scanned chunk and doesn't get modified still is blaze spawner in nether fortress. Possible solutions and issues with solutions: store pos of every scanned tile entity sure that works but, let's say they close minecraft go back in whoops it loaded the next chunk scanned radius of one then overriden the mineshaft that was right next to the dungeon that was suppose to be another mob but, got changed twice so it's whatever is choosen randomly twice. I could write a file with a list of all positions as the player exits the world properly but and then have a cache clearing ever 3 minuets but, that's no garentee that it won't happen. I would rather fix fix it.
Well I will then stick with my on world load which is why Just Another Spawner mod made their files generate on world load as well. I think the aether does something like this and the aehter is one of my favorite mobs so I won't do this.
Alright since I couldn't apply the quantity dropped property itself I decided to simulate the quantity dropped through a harvest drops event handler. Well I am unable to remove an itemstack from that handler it still drops the block. I have tried a simple remove and a complex remove. I can clear the list and that would work but, I can't seem to remove a single itemstack. Yes I have tried removing the for loop and I also set dirt to 0 so the for loop wouldn't even activate in the first place. Same results it drops the block and prints the same itemstack I have tried to remove.
Code: https://gist.github.com/jredfox/2fb826678a3b2c3d75e311811c63a212
Edit: I see forge's drops list is final then why does adding an item to that array list not crash? Why does clearing this array list not crash? I don't understand why forge made this final for an event handler that your suppose to be editing that array list ??????
List#remove will remove the first object in the list equal to (i.e. Object#equals returns true) the argument. ItemStack doesn't override Object#equals, so two different ItemStack objects will never be considered equal.
This means that you can't create your own ItemStack and call List#remove with it, you need to iterate through the List to find the ItemStack you want to remove and then remove it.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
How do you cast the itemstack in the iterator? I try to type cast it and then on harvest event it seems to crash on the line where I type cast it? Crash: http://pastebin.com/PEhby1dy . I am adding the drops to my own array list and clearing the default since it is stubborn.
Use generics where possible instead of casting everything. This will make your code much more type-safe.
Only call Iterator#next once per iteration of the loop.
The NullPointerException is thrown because you never initialise the dropping field. Why is it a field, anyway?
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Thanks for pointing my stupid mistake out. How am I suppose to use generics when iterator and it have been used? Just use it1 or it2 but, that's not really generic either.
Ok why does it go to the next part of the loop once called? My computer class didn't explain this part.
I got the quantity dropped working Now I just have to add support for spawners by making a on block break property again.....
Code: https://gist.github.com/jredfox/2fb826678a3b2c3d75e311811c63a212
Generic type arguments are part of the variable/field declaration. Instead of Iterator it, use Iterator<FooBar> it.
Each time you call Iterator#next, it advances the iteration by one step and returns the next value. Calling it multiple times will advance the iteration by multiple steps and return a different value each time.
If you don't need direct access to the Iterator, you should use an enhanced for loop. This manages the iteration for you.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Ok I made a harvest drops event handler that currently has a chance of dropping any spawn egg (vanilla, forge, caged) However if it has a global id but, if vanilla doesn't recognize the vanilla egg it won't spawn in the entity. I could fix this through an event handler but, then again there is an issue with anvils. I could fix this for vanilla but, not for all mods so it would be annoying to some people that they can't open modded containers because, they are holding a vanilla spawn egg. I don't know what to do? Should I register the spawn egg if it's not already registered and how would I do that since the entity isn't my own (vanilla's / modded). I am guessing I am going to need reflection helper. Could you give me a simple example of how to use it since your description confuses me. Thanks
What do you mean by "if vanilla doesn't recognize the vanilla egg"?
I wouldn't recommend registering spawn eggs for other mods' entities.
Do you need to change the right-click behaviour of spawn eggs at all?
Call ReflectionHelper.findField or ReflectionHelper.findMethod with the Class to get the field/method from and the MCP and SRG names of the field/method. Store the returned Field/Method object in a private static final field.
Call Field#get to get the current value of the field. If it's an instance field, pass the instance to get the value from as the argument. If it's a static field, pass null as the argument.
Call Method#invoke to call the method. If it's an instance method, pass the instance to call the method on as the first argument. If it's a static method, pass null as the first argument. Pass the method's arguments as the second (vararg) argument.
You can find SRG names in your MCP mappings or by using MCPBot.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Yes it doesn't spawn in the entity if it's not registered. It simply will give me the stack as a blank egg with the name of the entity and the world spawn in front of it. I am wondering since google says in order for the egg to work you need to register the entity that way. I am wondering if adding anything to that list will do anything. I tried and it caused a crash so I am guessing it needs the forge registration of the entity. I am leaning towards an event handler and just supporting vanilla's anvil and anything that has a tile entity.
Actually I only need the reflection helper for 1.8+ it has a valid public static hashmap. What are the parameters for 1.7.10. O and does this register them or just add them to the creative tab? If not how am I suppose to register them?
output value from registering through that list.
Shouldn't you limit the drops to entities that already have an egg registered?
ReflectionHelper and Java's reflection API haven't changed between 1.7.10 and 1.10.2. The advice in my previous post applies to all versions.
EntityList.entityEggs is the place where all eggs registered with vanilla's system are stored, yes.
In 1.7.10 - 1.8.9, vanilla's spawn eggs used global IDs. In 1.8, Forge added support for spawn eggs using entity names; these were stored in EntityRegistry#entityEggs. In 1.9, vanilla spawn eggs switched to using entity names, EntityList.entityEggs was renamed to EntityList.ENTITY_EGGS and EntityRegistry#entityEggs was removed. In 1.9.4, Forge removed support for mods registering global IDs.
In 1.7.10 - 1.9, mods could register eggs by calling EntityRegistry.registerGlobalEntityID. In 1.8+, mods can register eggs by calling EntityRegistry.registerModEntity or EntityRegistry.registerEgg.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
It appears to be public static for all versions I remembered wrong. However You did bring to my attention in versions 1.8+ there are other entity lists. I have no need for reflection helper yet I don't know why I asked about it back then or even now as I can get the global id without it, and the entity egg info here comes some major bug fixing updates..... Maybe my forge was out of date for 1.7.10 or 1.8 on my old pc.
O and scanning through 1.10.2 code I found this that I could use. I don't know why I didn't think looking in future versions.
Alright I have another retaliative problem this time it's about tile entities. Nei breaks my current on block place reading system. I need to set the block on item interact event the only problem for 1.7.10 is I can't find a method that is can block be placed. I also have another issue it's not getting rid of the the itemstack even though it said it did for a split second. I don't know what to do. I got it placing the proper entity but, it's not working all the way. I can place a block at the exact location I am in and on my head as well.
Code: https://gist.github.com/jredfox/3ddcb373d19738bb4611e2444526b1e4
I have tried setting the block in block place event and whenever it cancles the event the block disappears but, I need to do something because, Nei breaks my current reading system. I found out that minespawner for 1.7.10 had the same issues as stated above. I need to set block set tile entity and cancel the event somehow to prevent Nei from breaking my reading system. In 1.8+ it doesn't matter if it's a block mob spawner if it doesn't have a global id it won't read it.
To answer your previous question on the eggs drops. I don't limit whatsoever if they have an egg or not. If it has an vanilla egg it will drop vanilla, if it has a global id and doesn't have an egg it will drop a forge egg, if has no global id it will drop a forge egg, if it isn't a living entity it will drop a caged egg.
I'm not too sure what the issue is and I don't really want to debug it for you. I suggest starting a new thread that clearly explains what the issue is, someone else may help you there.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
The issue is It isn't getting the tile entity for (Block Place Event) so I put it on this thread. Do you want me to make a more specific thread for this issue? Do you want me to make a thread for each and every one of my problems I had on this forum?
Top Portion of Code Attempt
Problem one with on item interact event. setblock with tile entity it works with the cancled event however it places the block regardless if the block can be placed there or not. For example I am standing on a block I place it then it sets the block at my foot. Problem 2 not de-incriminating the itemstack.
Bottom Portion of Code Attempt
Problem with block place event. Canceling the event will stop the block from being placed. If it's cancled setting the block regardless of where it is won't set it if it's canceled. Should I copy the logic from setblock into my own method like EBLock? Let's say I do get this set block working on this event how should I set the tile entity in a way that I can cancel the event and it will still set it? Problem two with block place event. Event If I set the block it doesn't appear that it works anyways. It appears that it is a pig when the event is cancled.
I have taken this issue to Nei and no replies it's as chicken bones doesn't answer anything anymore.
To tell the truth, I'm getting tired of helping you with these issues and was hoping you'd create a new thread so someone else could help you (since it's unlikely anyone else will respond to this thread now that it's 15 pages long). You're using an outdated version of Minecraft (which I've stopped helping other people with) and your posts and code are hard to read. This post in particular was a bit easier to read, though.
Why do you need to subscribe to PlayerInteractEvent? Why do you need to place the Block that the player is holding in response to PlayerInteractEvent and BlockEvent.PlaceEvent? Can't you just allow the vanilla block placement logic (including the parts that check whether the block can be placed) to run and then read the TileEntity from NBT in BlockEvent.PlaceEvent?
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
I understand. I just need help one last time and if I need help again I will make a new forum.
I need this on either event because, Nei breaks the current reading system. I need set block set tile entity, cancle event, and if nei is loaded. To specify I don't need to do this for both events, I only need this for one event to work
1.8 and 1.7.10 are similar for the same methods. It's just worded differently.
I have made a new forum for this topic. It won't just be me having this issue many people will have this issue if they wan't to override block placement of the itemblock. It's 1.8x just for you 1.10.2 and 1.8x are almost identical it just changes event.this to event.getThis() .
New Fourum: http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/modification-development/2748122-how-do-i-set-block-set-tile-entity-cancel-event
Note I will split this forum into tutorials after silk spawners has been completed. I am wanting to finish this mod and fix all of it's incompatibilities so I can show people how to do it later in a tutorial to help other people like you do.
I have found out what was happening it only reads the tile entity from setting the block if the world is remote (only if) from setting the block on the event(or just specifically item interact event). I have found another potential solution but, I don't know what to do with it. By setting block on a chest it updates the tile entity mob spawner to the correct thing however I don't know how this is working and how to apply it for my event. How do I get it to update the correct entity like the chest is doing without setting a chest block to update it's code?
Code: https://gist.github.com/jredfox/390ca1cd03b2af6b0a0d36051c9d73ce
Note I have made a new forum specifically for setting blocks on item interact event and no one helped me. They just told me debug this yourself. Well I couldn't find anything so I made the code above from scratch and it works without NEI. With nei it doesn't update the entity unless I change the return method for it only going to be on a client which will then make this incompatible with servers. So my only solution I see is to find out what the chest is doing. I have no clue what it is doing nor how to apply it.
Hi in 2016 you said a while back on how to implement dungeontweeks on silkspawners dev forum well what you said is causing issues with nether fortress and maybe other structures happen rarely as well maybe please help out here or on the forge forums
Issue: the scanned chunk is already scanned then fortress places spawner to already scanned chunk and doesn't get modified still is blaze spawner in nether fortress. Possible solutions and issues with solutions: store pos of every scanned tile entity sure that works but, let's say they close minecraft go back in whoops it loaded the next chunk scanned radius of one then overriden the mineshaft that was right next to the dungeon that was suppose to be another mob but, got changed twice so it's whatever is choosen randomly twice. I could write a file with a list of all positions as the player exits the world properly but and then have a cache clearing ever 3 minuets but, that's no garentee that it won't happen. I would rather fix fix it.
public forum not really figured it out yet: http://www.minecraftforge.net/forum/topic/63311-populatechunkeventpost-never-fires-every-chunk-in-nether/
what you said