They can be ticked and updated, but it is not a requirement. It is possible to create a tile entity that does not receive ticks
Slightly OT, can this be done in Forge? I never discovered how. One thing that annoyed me was that TE's will always get a tick update rate of 1 i.e. they're processed every tick, which is not always necessary. Wouldthe Minecraft code itself allow for a mod API to, say, register a TE with a user-defined "tick rate" of x, where the world/chunk manager will only process this TE every x ticks? If such a thing is doable, would it be a potential benefit for performance? Or would there be some associated overhead that nullifies any such goal?
Wasn't there some major change in the way block metadata was used, or the behavior of TE's in 1.8? Not relevant I imagine.
Block metadata and numeric ID is completely removed in 1.8. It's essentially been replaced with BlockState, which is a combination of the Block ID and the block data.
Slightly OT, can this be done in Forge? I never discovered how. One thing that annoyed me was that TE's will always get a tick update rate of 1 i.e. they're processed every tick, which is not always necessary. Wouldthe Minecraft code itself allow for a mod API to, say, register a TE with a user-defined "tick rate" of x, where the world/chunk manager will only process this TE every x ticks? If such a thing is doable, would it be a potential benefit for performance? Or would there be some associated overhead that nullifies any such goal?
Just discard every x ticks if you don't want to update that quickly. Or actually profile and optimize your code. =P
The Meaning of Life, the Universe, and Everything.
Join Date:
9/26/2012
Posts:
50
Member Details
I am American. It just so happened I was tracking MCP as closely as possible around that time (let's just say I was really looking forward to the 1.7.2 update), so I caught on to the joke pretty quickly. I imagine that, much like Mojang's April Fool's joke, they figured it was too ludicrous to be taken seriously at the time. At least, it had me immediately checking the date to see if it was the first of April. That said, if they were seriously trying to pull that sort of thing in January, you definitely would've heard the cries of outrage long before now.
Also: Mr. MineCrak, you're starting to sound rather hostile towards the MCP team. While I'm less than happy with them (for various reasons), it's hardly grounds for comparing them to Darth Vader.
I am American. It just so happened I was tracking MCP as closely as possible around that time (let's just say I was really looking forward to the 1.7.2 update), so I caught on to the joke pretty quickly. I imagine that, much like Mojang's April Fool's joke, they figured it was too ludicrous to be taken seriously at the time. At least, it had me immediately checking the date to see if it was the first of April. That said, if they were seriously trying to pull that sort of thing in January, you definitely would've heard the cries of outrage long before now.
Also: Mr. MineCrak, you're starting to sound rather hostile towards the MCP team. While I'm less than happy with them (for various reasons), it's hardly grounds for comparing them to Darth Vader.
Block metadata and numeric ID is completely removed in 1.8. It's essentially been replaced with BlockState, which is a combination of the Block ID and the block data.
What exactly is the "block data"? Some new thing or just the traditional material/hardness/etc?
Just discard every x ticks if you don't want to update that quickly. Or actually profile and optimize your code. =P
Well yeah that's what I do, but how? A simple addition/subtraction counter is not expensive I know, but maintaining a counter for every single TE is more expensive than not ticking a TE at *all*. But yeah, I realize the problem - even if the TE itself doesn't have a counter for only processing every nth tick and whatever manages the TE tick updates handles it, then it would have to have some kind of counter itself anyway. Maybe this is better suited for an M3L feature though; to have some kind of pooling/priority queue system for TE updates where TE's can have a "non realtime" tick update rate. But I don't know if that's even possible, let alone if it'd help relieve server load.
All this ranting is mainly sourced from modders' addiction to using TE's, and TE ticking being the most common/significant source for server lag. If an easier option is there for modders to have "low priority TE's", and it actually helps with server load in some way, then people would hopefully use it. I know blocks can have their own low-priority tick rates, but they're completely random - if we had something in-between then it'd be pretty useful.
Not really relevant to Enigma though, so I'll continue my ignorant complaints/concerns about this when M3L development resumes
Got it, boss. You don't want us to copy mappings from MCP.
*wink wink*
ha-ha. Copy what you want.
mcp-team decompile and distributes code of minecraft violating the rights of mojang
and still lack the nerve to say that you can not have them copy something? Lol
mcp-pirates. let they mouth shut at the expense of the rights of.
Slightly OT, can this be done in Forge? I never discovered how. One thing that annoyed me was that TE's will always get a tick update rate of 1 i.e. they're processed every tick, which is not always necessary. Wouldthe Minecraft code itself allow for a mod API to, say, register a TE with a user-defined "tick rate" of x, where the world/chunk manager will only process this TE every x ticks? If such a thing is doable, would it be a potential benefit for performance? Or would there be some associated overhead that nullifies any such goal?
I did this in vanilla, but it was a while ago (I think 1.5 or 1.6). I'm pretty sure that at that time you actually had to call setTickInterval(interval) to actually get ticks in a tile entitiy, and if you didn't then you wouldn't get anything. You could also call setTickInterval(0) to disable ticks.
We don't mind if you use MCP data as reference to help you update your mappings. Just don't copy them directly, because the license you use for your mappings is not compatible with the license we use for ours. There seems to be a misconception that we don't allow other people to use what we have, we just have to follow certain rules how we can allow people to use that data.
You seem to have a very biased view on this topic. I never "went after" Cuchaz and threatened him with anything. I discussed the use of MCP data with him in the past, but at some point the communication stopped. Not sure why it stopped, but it's not unlikely that it was around the time when I was too busy with life to find any time for MCP (which is still a hobby project for me).
I don't see any problem here, I'm always happy to see awesome stuff like this project happen in the community and the fact that it exists shows that there's apparently a need for it. I just don't like the idea that people think we were hostile towards Cuchaz or anyone else in the community, anyone who knows how we work understands that MCP has not been successful by fighting it's way up, we've been successful by collaborating with everyone else who was willing to.
I am currently working on a mod API that uses runtime hooks to inject into the game, however I have been writing these hooks in deobfuscated code and then using stored mappings to obfuscate them. Is this acceptable? There are a limited number of mappings stored, and they are stored in a custom format. If you would like us to stop using them I can switch to enigma mappings, but it would be much easier (especially for the other devs) if we could use MCP mappings, because it is easier to write a method descriptor when you are looking at the method. Also engima does not have all the mappings I need yet...
ha-ha. Copy what you want.
mcp-team decompile and distributes code of minecraft violating the rights of mojang
and still lack the nerve to say that you can not have them copy something? Lol
mcp-pirates. let they mouth shut at the expense of the rights of.
The creator of MCP was hired by mojang. If they cared about MCP, they would have shut it down. The fact that they let him continue to develop it shows that they do not mind. It is not officially supported, of course, but they aren't going to do anything to shut it down. Microsoft, on the other hand...
We don't mind if you use MCP data as reference to help you update your mappings. Just don't copy them directly, because the license you use for your mappings is not compatible with the license we use for ours. There seems to be a misconception that we don't allow other people to use what we have, we just have to follow certain rules how we can allow people to use that data.
You seem to have a very biased view on this topic. I never "went after" Cuchaz and threatened him with anything. I discussed the use of MCP data with him in the past, but at some point the communication stopped. Not sure why it stopped, but it's not unlikely that it was around the time when I was too busy with life to find any time for MCP (which is still a hobby project for me).
I don't see any problem here, I'm always happy to see awesome stuff like this project happen in the community and the fact that it exists shows that there's apparently a need for it. I just don't like the idea that people think we were hostile towards Cuchaz or anyone else in the community, anyone who knows how we work understands that MCP has not been successful by fighting it's way up, we've been successful by collaborating with everyone else who was willing to.
Thank you for your response. I was just speaking from my understanding of the situation as I've repeatedly read it in the forums from a first hand source. If any of the info was wrong or based on misunderstandings then I apologize. But yes, as we've all seen lately licensing conflicts are no laughing matter.
Rollback Post to RevisionRollBack
- The Cubic Chunks Mod is back! Be a part of it's rebirth and Development.
-- Robinton's Mods: [ Mirror ] for some of his Mods incl Cubic Chunks Mod, due to DropBox broken links.
The creator of MCP was hired by mojang. If they cared about MCP, they would have shut it down. The fact that they let him continue to develop it shows that they do not mind. It is not officially supported, of course, but they aren't going to do anything to shut it down. Microsoft, on the other hand...
Workday of Searge:
9.00 АМ - Compile and obfuscate minecraft (by boss's task)
9.30 AM - Decompile and deobfuscate minecraft
10.00 AM - Create mappings of minecraft
18.00 PM - Go to Home.
what they're smoking?
easier to just put the source code, what to do decompiling their own codes within their company.
ha-ha. Copy what you want.
mcp-team decompile and distributes code of minecraft violating the rights of mojang
and still lack the nerve to say that you can not have them copy something? Lol
mcp-pirates. let they mouth shut at the expense of the rights of.
You clearly have no understanding of how MCP operates, so I discount your opinion 100%.
I did this in vanilla, but it was a while ago (I think 1.5 or 1.6). I'm pretty sure that at that time you actually had to call setTickInterval(interval) to actually get ticks in a tile entitiy, and if you didn't then you wouldn't get anything. You could also call setTickInterval(0) to disable ticks.
I am currently working on a mod API that uses runtime hooks to inject into the game, however I have been writing these hooks in deobfuscated code and then using stored mappings to obfuscate them. Is this acceptable? There are a limited number of mappings stored, and they are stored in a custom format. If you would like us to stop using them I can switch to enigma mappings, but it would be much easier (especially for the other devs) if we could use MCP mappings, because it is easier to write a method descriptor when you are looking at the method. Also engima does not have all the mappings I need yet...
The creator of MCP was hired by mojang. If they cared about MCP, they would have shut it down. The fact that they let him continue to develop it shows that they do not mind. It is not officially supported, of course, but they aren't going to do anything to shut it down. Microsoft, on the other hand...
Feel free to contribute the mapppings you want Enigma to have. That's what I'll eventually do when I start rebuilding Tall Worlds Mod. It requires a lot of specialized mappings for the chunk loading system which are probably not available in the mappings yet. I'm just planning on adding them myself.
Also, yes... I wonder what changes Microsoft has in store for the Minecraft EULA.
We don't mind if you use MCP data as reference to help you update your mappings. Just don't copy them directly, because the license you use for your mappings is not compatible with the license we use for ours. There seems to be a misconception that we don't allow other people to use what we have, we just have to follow certain rules how we can allow people to use that data.
You seem to have a very biased view on this topic. I never "went after" Cuchaz and threatened him with anything. I discussed the use of MCP data with him in the past, but at some point the communication stopped. Not sure why it stopped, but it's not unlikely that it was around the time when I was too busy with life to find any time for MCP (which is still a hobby project for me).
I don't see any problem here, I'm always happy to see awesome stuff like this project happen in the community and the fact that it exists shows that there's apparently a need for it. I just don't like the idea that people think we were hostile towards Cuchaz or anyone else in the community, anyone who knows how we work understands that MCP has not been successful by fighting it's way up, we've been successful by collaborating with everyone else who was willing to.
On the off chance that this message will reach you, I'll try to set the record straight. "Hostile" isn't the word I would use. Searge has been nothing but polite. Try as I might though, I couldn't keep the communication going. I'm guessing spam avoidance played some role here. I eventually decided it wasn't worth the effort to keep trying to work with MCP and just decided to roll my own. As you pointed out, we're using very different licenses for the mappings, so hopefully other people (like acomputerdog) won't have to deal with this problem again.
Workday of Searge:
9.00 АМ - Compile and obfuscate minecraft (by boss's task)
9.30 AM - Decompile and deobfuscate minecraft
10.00 AM - Create mappings of minecraft
18.00 PM - Go to Home.
what they're smoking?
easier to just put the source code, what to do decompiling their own codes within their company.
I did this in vanilla, but it was a while ago (I think 1.5 or 1.6). I'm pretty sure that at that time you actually had to call setTickInterval(interval) to actually get ticks in a tile entitiy, and if you didn't then you wouldn't get anything. You could also call setTickInterval(0) to disable ticks.
Interesting, you mean 1.5.x or 1.6.x or the beta's (a LONG time ago)? If the beta's, disregard the rest of my reply since it's surely obsolete. If the recent versions, is there any chance you could find the time to verify this method name? I couldn't find any reference to it.
Workday of Searge:
9.00 АМ - Compile and obfuscate minecraft (by boss's task)
9.30 AM - Decompile and deobfuscate minecraft
10.00 AM - Create mappings of minecraft
18.00 PM - Go to Home.
what they're smoking?
easier to just put the source code, what to do decompiling their own codes within their company.
Obfuscation isn't just for security, it's for optimizing performance and to reduce package size too. Might be minor, but every little bit helps.
This version bring huge changes to the mappings file format. I've converted the mappings repo to the new format. Make sure you always edit the mappings with the newest version of Enigma!
Workday of Searge:
9.00 АМ - Compile and obfuscate minecraft (by boss's task)
9.30 AM - Decompile and deobfuscate minecraft
10.00 AM - Create mappings of minecraft
18.00 PM - Go to Home.
what they're smoking?
easier to just put the source code, what to do decompiling their own codes within their company.
first off writing, this out at like 3 am, but I will try to put this simply:
1. distributing Minecraft or the source code is illegal when not done through the proper official means. (Which is a bad idea, like leaving a welcome sign in front of your door, in a court of law things can be twisted weird ways if someone tries to use Minecraft's code for them self)
2. in cases such as mcp and with forge, the game files are retrieve while on the user's computer, the Minecraft client files from mojang, therefore it has not been distributed by them.
3. the Eula has specifically stated for a long time, that if you own the game, you can decompile and modify the game.
4. so the user, now having obtained this copy of minecraft's client through legal means can then decompile it.
5. Programs simply decompiled are a pain to read, barely any way to know what is what, this is where mcp and and similar comes into play making the lives of modders much easier by making things readable
once again I apologize if things are badly worded, time to head to sleep and wake up and go what was I thinking.
This version bring huge changes to the mappings file format. I've converted the mappings repo to the new format. Make sure you always edit the mappings with the newest version of Enigma!
Are you *sure* those inner-class handling changes were implemented? I just get the same "new someclass$innerclass()", for example, as before.
Slightly OT, can this be done in Forge? I never discovered how. One thing that annoyed me was that TE's will always get a tick update rate of 1 i.e. they're processed every tick, which is not always necessary. Wouldthe Minecraft code itself allow for a mod API to, say, register a TE with a user-defined "tick rate" of x, where the world/chunk manager will only process this TE every x ticks? If such a thing is doable, would it be a potential benefit for performance? Or would there be some associated overhead that nullifies any such goal?
Block metadata and numeric ID is completely removed in 1.8. It's essentially been replaced with BlockState, which is a combination of the Block ID and the block data.
Just discard every x ticks if you don't want to update that quickly. Or actually profile and optimize your code. =P
Also: Mr. MineCrak, you're starting to sound rather hostile towards the MCP team. While I'm less than happy with them (for various reasons), it's hardly grounds for comparing them to Darth Vader.
Search your feelings. You know it to be true. =)
What exactly is the "block data"? Some new thing or just the traditional material/hardness/etc?
Well yeah that's what I do, but how? A simple addition/subtraction counter is not expensive I know, but maintaining a counter for every single TE is more expensive than not ticking a TE at *all*. But yeah, I realize the problem - even if the TE itself doesn't have a counter for only processing every nth tick and whatever manages the TE tick updates handles it, then it would have to have some kind of counter itself anyway. Maybe this is better suited for an M3L feature though; to have some kind of pooling/priority queue system for TE updates where TE's can have a "non realtime" tick update rate. But I don't know if that's even possible, let alone if it'd help relieve server load.
All this ranting is mainly sourced from modders' addiction to using TE's, and TE ticking being the most common/significant source for server lag. If an easier option is there for modders to have "low priority TE's", and it actually helps with server load in some way, then people would hopefully use it. I know blocks can have their own low-priority tick rates, but they're completely random - if we had something in-between then it'd be pretty useful.
Not really relevant to Enigma though, so I'll continue my ignorant complaints/concerns about this when M3L development resumes
I'm a developer; so the only date format that makes sense for me is yyyy.mm.dd
Shall we have a talk back at the futurecraft page.
ha-ha. Copy what you want.
mcp-team decompile and distributes code of minecraft violating the rights of mojang
and still lack the nerve to say that you can not have them copy something? Lol
mcp-pirates. let they mouth shut at the expense of the rights of.
I did this in vanilla, but it was a while ago (I think 1.5 or 1.6). I'm pretty sure that at that time you actually had to call setTickInterval(interval) to actually get ticks in a tile entitiy, and if you didn't then you wouldn't get anything. You could also call setTickInterval(0) to disable ticks.
I am currently working on a mod API that uses runtime hooks to inject into the game, however I have been writing these hooks in deobfuscated code and then using stored mappings to obfuscate them. Is this acceptable? There are a limited number of mappings stored, and they are stored in a custom format. If you would like us to stop using them I can switch to enigma mappings, but it would be much easier (especially for the other devs) if we could use MCP mappings, because it is easier to write a method descriptor when you are looking at the method. Also engima does not have all the mappings I need yet...
The creator of MCP was hired by mojang. If they cared about MCP, they would have shut it down. The fact that they let him continue to develop it shows that they do not mind. It is not officially supported, of course, but they aren't going to do anything to shut it down. Microsoft, on the other hand...
Thank you for your response. I was just speaking from my understanding of the situation as I've repeatedly read it in the forums from a first hand source. If any of the info was wrong or based on misunderstandings then I apologize. But yes, as we've all seen lately licensing conflicts are no laughing matter.
- The Cubic Chunks Mod is back! Be a part of it's rebirth and Development.
-- Robinton's Mods: [ Mirror ] for some of his Mods incl Cubic Chunks Mod, due to DropBox broken links.
- Dungeon Generator for the Open Cubic Chunks Mod
- QuickSAVE-QuickLOAD for the Open Cubic Chunks Mod
Workday of Searge:
9.00 АМ - Compile and obfuscate minecraft (by boss's task)
9.30 AM - Decompile and deobfuscate minecraft
10.00 AM - Create mappings of minecraft
18.00 PM - Go to Home.
what they're smoking?
easier to just put the source code, what to do decompiling their own codes within their company.
You clearly have no understanding of how MCP operates, so I discount your opinion 100%.
Feel free to contribute the mapppings you want Enigma to have. That's what I'll eventually do when I start rebuilding Tall Worlds Mod. It requires a lot of specialized mappings for the chunk loading system which are probably not available in the mappings yet. I'm just planning on adding them myself.
Also, yes... I wonder what changes Microsoft has in store for the Minecraft EULA.
On the off chance that this message will reach you, I'll try to set the record straight. "Hostile" isn't the word I would use. Searge has been nothing but polite. Try as I might though, I couldn't keep the communication going. I'm guessing spam avoidance played some role here. I eventually decided it wasn't worth the effort to keep trying to work with MCP and just decided to roll my own. As you pointed out, we're using very different licenses for the mappings, so hopefully other people (like acomputerdog) won't have to deal with this problem again.
You clearly have no understanding of how MCP operates, so I discount your opinion 100%.
Good freaking point dude!
Interesting, you mean 1.5.x or 1.6.x or the beta's (a LONG time ago)? If the beta's, disregard the rest of my reply since it's surely obsolete. If the recent versions, is there any chance you could find the time to verify this method name? I couldn't find any reference to it.
Obfuscation isn't just for security, it's for optimizing performance and to reduce package size too. Might be minor, but every little bit helps.
With any luck, I'll have v0.6 beta finished soon.
EDIT: v0.6 beta is out! See the OP for details.
This version bring huge changes to the mappings file format. I've converted the mappings repo to the new format. Make sure you always edit the mappings with the newest version of Enigma!
first off writing, this out at like 3 am, but I will try to put this simply:
1. distributing Minecraft or the source code is illegal when not done through the proper official means. (Which is a bad idea, like leaving a welcome sign in front of your door, in a court of law things can be twisted weird ways if someone tries to use Minecraft's code for them self)
2. in cases such as mcp and with forge, the game files are retrieve while on the user's computer, the Minecraft client files from mojang, therefore it has not been distributed by them.
3. the Eula has specifically stated for a long time, that if you own the game, you can decompile and modify the game.
4. so the user, now having obtained this copy of minecraft's client through legal means can then decompile it.
5. Programs simply decompiled are a pain to read, barely any way to know what is what, this is where mcp and and similar comes into play making the lives of modders much easier by making things readable
once again I apologize if things are badly worded, time to head to sleep and wake up and go what was I thinking.
Are you *sure* those inner-class handling changes were implemented? I just get the same "new someclass$innerclass()", for example, as before.