jredfox Posted September 1, 2017 Posted September 1, 2017 Let's try this again I am going to ask this for 1.10.2 then.... I know you are suppose to extend the event class then register it with forge event bus. I don't know how your suppose to get the variables from vanilla and stop vanilla from doing it's function nor how/when to manually fire it. I need the event to fire upon creation of any tile entity into the world as a pre-initialization so I don't use asm for removing tile entities. Then I need to grab variables... Tile Entity,World,BlockPos,BlockState. Basically I am asking how to create the event with it registers, when/how to manually fire it with a pre and post,grabbing vanilla variables, runs on server and client.... Quote
jredfox Posted September 1, 2017 Author Posted September 1, 2017 On 9/1/2017 at 9:28 PM, diesieben07 said: Same reply as in your other thread: This time please answer all questions. Expand I am trying to make an event that fires pre-creation of a tile entity into the world. This would fire on both server and client so neither would crash? I need a custom event to replace invalid tile entities with my new tile entities. Although I removed the mappings /setblock ~ ~ ~ blockTileEntity crashes. This is because, I only patched it only for block place event which doesn't fire with world.setBlockState... Quote
jredfox Posted September 1, 2017 Author Posted September 1, 2017 On 9/1/2017 at 10:08 PM, diesieben07 said: I am still trying to figure out what you are trying to do here. Why do you have "invalid" tile entities? Expand Yes invalid tile entities since I replaced and removed the vanilla ones. Take a look at this thing https://pastebin.com/EVG9s7Ve Quote
jredfox Posted September 1, 2017 Author Posted September 1, 2017 On 9/1/2017 at 10:16 PM, diesieben07 said: Oh god... why... this is a terrible idea. What are you trying to achieve? Expand Make furnace save to long, Totally override the vanilla mob spawner to support mounting dynamic logic Quote
jredfox Posted September 1, 2017 Author Posted September 1, 2017 (edited) Each displayed render represents one entity in the mounting:[] tag list where it's created by name or nbt depending on the logic which vanilla can't handle Edited September 1, 2017 by jredfox Quote
jredfox Posted September 1, 2017 Author Posted September 1, 2017 (edited) Well I haven't written it for anything besides older versions and can't really port it to newer versions without this event thing... Basically {EntityId:"id",mounts:[{id:"entityid"},{id:"entityid",EntityNBT:{nbtstuff} }]} where EntityId is the top mob and mounts go from 0 to max index get created downwards. No there is two ways to create the spawnage, A:create by name and use interface (no EntityNBT:{}) B: create by nbt if has tag EntityNBT:{}. Vanilla can't support this so I just have to completly override it. I have reported several spawner issues like not supporting anything but, nbt with multiple index spawner but, they said it works as intended which can't be right since EntityId tag with no spawn data single index spawner creates it by name. So I have to patch the tile entity itself as well as the render. Yes I want the furnace to have a bigger savetime as long that's hours of real game time smelting for charcoal block mod yay? Edited September 1, 2017 by jredfox Quote
jredfox Posted September 1, 2017 Author Posted September 1, 2017 On 9/1/2017 at 10:19 PM, diesieben07 said: What? What is "dynamic logic"? Replacing TileEntity registrations like this is a very bad idea, it will break. If you want to replace vanilla blocks, use the registry replacements to replace the whole block. Expand can't find out how to put the quote to the above comment . The answers why I need to make a custom event are above and are pretty detailed. Quote
jredfox Posted September 1, 2017 Author Posted September 1, 2017 (edited) On 9/1/2017 at 10:38 PM, diesieben07 said: Yes, vanilla supports this just fine: https://minecraft.gamepedia.com/Chunk_format#Block_entity_format The furnace saves it's time values as a 32-bit integer, meaning it can store values of up to 4,294,967,295 ticks. That is nearly 60,000 hours. Is that not enough for your purposes? Expand No it doesn't I dare you to try to create a dynamic mounted horse spawner that will spawn in different horses each time based on one index of mounted spawners. The answer is you can't because, it's going to create them from nbt every time for either multiple index spawners or passenger tags Edited September 1, 2017 by jredfox Quote
jredfox Posted September 1, 2017 Author Posted September 1, 2017 On 9/1/2017 at 10:41 PM, diesieben07 said: You said nothing about it being dynamic. I suggest you create your own spawner for that instead of hacking around with the vanilla one. Expand I have that's why I am hacking around with the vanilla one. I have done my best and it's a complete mess that I refuse to do the same thing to newer versions. I had to create them by name use the interface and then put all that messy nbt tags into the riding tags for 1.7.10 and 1.10.2 it was a mess. It only creates them by nbt meaning it will be the same type every time. Quote
jredfox Posted September 1, 2017 Author Posted September 1, 2017 (edited) Vanilla: shows pig on spawner for a second before reading it Vanilla: creates same mob every time rather then by name if(multi index spawnpotential spawner, or spawn data spawner regardless of mounts) Vanilla: doesn't support multi render mounted spawner system Only way to fix said issues: replace tile entity mob spawner with a new one extending it create custom event on tile entity pre creation to remove invalid tile entities You still don't believe me that I haven't tried this is why I am re-writing silk spawners because of the vanilla bugs that I no longer support / make work arounds for. https://github.com/jredfox/silkspawners/tree/master/src/main/java/com/EvilNotch/silkspawners Edited September 1, 2017 by jredfox Quote
jredfox Posted September 1, 2017 Author Posted September 1, 2017 On 9/1/2017 at 10:45 PM, diesieben07 said: What? Sorry, I do not understand what your problem is. Expand Stupid quoting system / editor. Explanation is above I am not sure if you get a notification otherwise. Sorry for spamming? Quote
jredfox Posted September 1, 2017 Author Posted September 1, 2017 On 9/1/2017 at 11:11 PM, diesieben07 said: No, the "fix" if you want to add additional features to spawners is to make your own spawner block and leave the vanilla one alone. Expand Not possible otherwise silk spawners blocks would be modded blocks and when you leave your would your vanilla spawners would disappear with vanilla tags. Quote
jredfox Posted September 1, 2017 Author Posted September 1, 2017 (edited) On 9/1/2017 at 11:17 PM, diesieben07 said: Yes, if you uninstall a mod the features of that mod disappear. Thats how modding works. Expand My thing is suppose to be able for vanilla map makers to make as well as modded features like mounted spawners A: I plan on all tags being used in mounting when modded B: I plan on having vanilla tags in the spawner for when the map creator leaves yes it will have the issues described as above. C: map makers know of these issues already and would be happy to have a program make spawners them for them.... D: it would confuse the heck out of people to setblock mob spawner with the tags specified and get no output and doesn't work with silk spawners.... Edited September 1, 2017 by jredfox Quote
jredfox Posted September 1, 2017 Author Posted September 1, 2017 (edited) Just tell me how to do the event thing. I need to know more then just a tile entity event I need to create a custom lightmap event to so my mod could configure different mc version light maps based on the clients happiness Edited September 1, 2017 by jredfox Quote
jredfox Posted September 1, 2017 Author Posted September 1, 2017 On 9/1/2017 at 11:26 PM, diesieben07 said: There is no clean way to replace TileEntities, it causes issues all over the place. Don't do it. Expand I realized this after 8 hours of debugging this past week. Everything will run clean soon if you could tell me please how to create the event ASM needed? Is this the same for lightmap event? Quote
jredfox Posted September 1, 2017 Author Posted September 1, 2017 On 9/1/2017 at 11:32 PM, diesieben07 said: We will not help you make a coremod. Coremods are a terrible idea, especially if someone who has no idea what they are doing makes them. If you cannot figure out how to write one, you are not the person to do so. Expand I don't like the fact that both the light map and the tile entity into the world should already be vanilla forge events. Why were these never done? Quote
Draco18s Posted September 2, 2017 Posted September 2, 2017 3 Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
jredfox Posted September 17, 2017 Author Posted September 17, 2017 On 9/2/2017 at 8:39 AM, diesieben07 said: Because nobody needed them. If you need them, file an issue on Github explaining your use-case or, preferably, make a pull request. Expand No it's fine I have to learn ASM anyways to revert the combat system if configured to do so. After I do this for older versions and learned asm I will then submit an issue. Quote
jredfox Posted September 17, 2017 Author Posted September 17, 2017 (edited) On 9/17/2017 at 10:06 AM, diesieben07 said: You don't need ASM for this. Stop making a coremod. Expand Then how am I suppose to do this then you said so yourself events that hook into vanilla require a coremod. anyways I need to remove tile entities. I tried print a list on world load and it said TileEntities:[] list was empty but, I printed it on tick event. Then it gave me some output. I need to know where this is happening at is it world.setTileEntity(...)? TileEntityList[net.minecraft.tileentity.TileEntityMobSpawner@557ed124, net.minecraft.tileentity.TileEntityChest@1b2b7e61] I found out that it's not one but, three methods I need to patch addTileEntity()//patch tile entity parameter setTileEntity()//patch tile entity parameter func_147457_a()//patch tile entity parameter Edited September 17, 2017 by jredfox Quote
Draco18s Posted September 17, 2017 Posted September 17, 2017 On 9/2/2017 at 8:39 AM, diesieben07 said: make a pull request. Expand Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
jredfox Posted September 17, 2017 Author Posted September 17, 2017 (edited) On 9/17/2017 at 7:46 PM, Draco18s said: Expand I will for newer versions? does the pull mean I have to code my own forge version and request it to be implemented or just asking for forge to do something? Edited September 17, 2017 by jredfox Quote
Draco18s Posted September 17, 2017 Posted September 17, 2017 http://mcforge.readthedocs.io/en/latest/forgedev/ Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.