Thank you so much for making these snapshot mods! I'm chopping trees like never before, thanks to HeavyMeddle and LeafDecay!
FullyLoded is also awesome - would it be possible to mine veins of granite, andesite and diorite with it? I've tested different terms in the config file, but none work(s). I guess it's because they're not really ores?
Would it also be possible to make a mod which makes the pickaxe mine a 3x3x1 (or perhaps a 3x3x3) area?
Great work!
That's because granite/andesite/diorite are just stone with different metadata values. Looks like fully-loded doesn't support metadata values.
Hey, loving Meddle so far. I'm stuck on something obvious I think.
The DynamicMappings/currentmappings.txt, is that generated from another master list or is this something manually updated? I need to add a few things in order to get my code compiling.
However, this brings up an additional question I've had about the mappings. Since this is supposed to support multiple versions of MC at once, how do you plan on handling the situation where types/signatures change? So I don't know in which version BlockCompressed was removed, but it was some version between 1.8 and 1.9 -- should there be version-specific checks in the code?
To be honest I stopped bothering trying to make DynamicMappings support older versions of Minecraft when Mojang changed so many signatures with 1.9. The later DynamicMappings don't even support the earlier snapshots. I felt like it would have taken more work than it was worth when really the point is to be able to quickly move forward.
Though I do want to allow the support for a list of static mappings so that I can create Meddle mods for versions like 1.2.5. I think that would be the best way to handle it. The only issue is that you aren't allowed to redistribute MCP's mappings, so I'd have to come up with some way to fetch them automatically, or to convince Searge to let me include them (less likely).
- 1.2 Added a couple of tweaks to improve error handling. Reverted to Java 1.7 instead of 1.8
- Added patched dynamicmappings-019 which is needed to support this.
Nice job. And just so you know, to make it easier to distribute, you could create your own custom mappings class, and then register it in your tweak class. This obviously needs to be a smoother system, so that you can apply your custom mappings classes to the remapped jar during development without having to modify the build system or DynamicMappings itself to apply them, but we'll get there.
I've actually been improving the class packaging during remap the last couple days in hopes to make the remapped jar run, which would help make all of this mesh together easier.
Fyber, how do I tweak block drops? And how do I tweak said drops to use loot tables?
EDIT: Also, I need to know how to place blocks where the player is standing on an item right-click.
I haven't looked at the loot tables at all. At this point I'm going to assume Mojang isn't going to make them support block drops yet since they're mostly down to just bug fixes now.
Thank you so much for making these snapshot mods! I'm chopping trees like never before, thanks to HeavyMeddle and LeafDecay!
FullyLoded is also awesome - would it be possible to mine veins of granite, andesite and diorite with it? I've tested different terms in the config file, but none work(s). I guess it's because they're not really ores?
Would it also be possible to make a mod which makes the pickaxe mine a 3x3x1 (or perhaps a 3x3x3) area?
Great work!
As mallamokb mentioned, the different rock types would need to have a metadata value specified, and I never even considered that when I wrote the mod. But it's a good idea, so I'll get to that eventually.
I definitely want a pickaxe that will mine a larger area. I planned to include it as one of the tools in Heavy Meddle. I even wrote one as a prototype ages ago for 1.8, when testing server-side-only mods.
And you're welcome! I'm glad you've been enjoying it.
Hey, loving Meddle so far. I'm stuck on something obvious I think.
The DynamicMappings/currentmappings.txt, is that generated from another master list or is this something manually updated? I need to add a few things in order to get my code compiling.
As of the last few DynanicMappings builds, currentmappings.txt is generated automatically when I run the main DynamicMappings class, which I do when testing new versions or after adding mappings, to confirm they work. It's completely unnecessary to the operation of the mod, and is merely there for the people who always asked me for the mappings for their own work. I also occasionally refer to it myself when I need to look into some kind of issue.
Like I mentioned above, I do plan to implement a way to add static mappings, there's just not been any hurry because me trying to update static mappings across snapshots was the entire reason I created DynamicMappings in the first place. Once 1.9 settles into a final release, then they'll be much more relevant, and I think supporting those mappings (both Enigma and MCP's formats) will be much more relevant.
Hey Fyber, could you put FullyLoded on github or make a couple of tweaks.
1. Don't find blocks diagonally, because sometimes it mines blocks behind the wall.
2. Allow specifying limits like max blocks mined, max distance horizontally and vertically.
3. Add support for block metadata (e.g., andesite, diorite, granite)
4. Add support for things not mined with pickaxes, like gravel.
Also, I've made a pull request for HeavyMeddle that makes it a bit smarter for recognizing trees by finding leaves, and adds size limits. One of the guys on our server kept breaking their house accidentally
Hey Fyber, could you put FullyLoded on github or make a couple of tweaks.
1. Don't find blocks diagonally, because sometimes it mines blocks behind the wall.
2. Allow specifying limits like max blocks mined, max distance horizontally and vertically.
3. Add support for block metadata (e.g., andesite, diorite, granite)
4. Add support for things not mined with pickaxes, like gravel.
Also, I've made a pull request for HeavyMeddle that makes it a bit smarter for recognizing trees by finding leaves, and adds size limits. One of the guys on our server kept breaking their house accidentally
Here's FullyLoded. You'll always have to excuse any delay on syncing repositories considering I'm maintaining over a dozen just for Meddle stuff. They're easy to forget.
I skimmed the HeavyMeddle PR, I'll try it sometime tonight probably. I always meant to get to adding some limits eventually, it just wasn't a priority at the time, so thanks for saving me the effort. As for leaf detection, that was honestly somewhat deliberate. I remember a lot of instances with Treecapitator where leaves would be missing for whatever reason and then you still had to manually cut the thing down. Though granted, sometimes Treecapitator itself was at fault for destroying a neighboring tree's leaves itself. Since HeavyMeddle leaves leaf decay up to Minecraft it might be less of an issue. I can always add a config option later if it bugs me, I s'pose!
Fyber, can you add mappings for BlockStone? I'm working on a mod that requires them.
I merged mellamokb's PR that parses out all the top-level block classes in a fairly safe way, BlockStone is one of'em. You can go ahead and grab the DynamicMappings source and build you a jar to work with temporarily if you want.
In your mod's build script, you can specify a "location" variable in the dynamicmappings closure to point to the jar you built, or just the directory where the class files are. When you manually specify a location, the version setting isn't really relevant.
I merged mellamokb's PR that parses out all the top-level block classes in a fairly safe way, BlockStone is one of'em. You can go ahead and grab the DynamicMappings source and build you a jar to work with temporarily if you want.
In your mod's build script, you can specify a "location" variable in the dynamicmappings closure to point to the jar you built, or just the directory where the class files are. When you manually specify a location, the version setting isn't really relevant.
Okay guys, MeddleAPI v1.0.6 is up. This isn't a critical update, you can still play 15w45a without it, but you won't get the main menu branding.
The reason why you'll probably want to upgrade to v1.0.6 however is that it includes a patch to force Minecraft to update the crafting recipe output to clients. This means server-side-only crafting recipes should work just fine from now on. I tried it with the Heavy Axe from a vanilla client and had no problems. If you see anything odd happen while crafting as a result though, let me know.
Mappings may not exist yet to make that work efficiently, but there may be someone willing to take up the challenge!
So i've thought about my suggestion of held torches emitting light, and maybe with the current mappings (i don't know anything about mods so hopefully i'm right about this) it would be possible by adding an invisible non-solid block with no hitbox named "itemlight" that emits light, that would be set inside the players head when a torch is held, and wich would automatically be destroyed when it's not inside a player holding a torch. Could that be possible?
Today's snapshot (15w46a) broke detection for a couple of things, but affected the detection of a ton of other mappings in the process, so DynamicMappings 020 is out to take care of that.
So i've thought about my suggestion of held torches emitting light, and maybe with the current mappings (i don't know anything about mods so hopefully i'm right about this) it would be possible by adding an invisible non-solid block with no hitbox named "itemlight" that emits light, that would be set inside the players head when a torch is held, and wich would automatically be destroyed when it's not inside a player holding a torch. Could that be possible?
There might still not be enough Block class mappings yet for that either, but I've been working on that in particular a lot lately. And performance-wise, you'd still be triggering block updates as you moved, similar to if you just changed the light levels around the player. I'm pretty sure that one of those two methods is likely how those kinds of mods have always worked, though, which is why they're hard on performance.
Some of the chunk update changes in 1.9 (done to improve performance, they said) might result in that kind of mod looking pretty bad at times, particularly when you get near chunk boundaries. Heavy Meddle is a good example of that, where leaves will sometimes just vanish suddenly in entire gobs instead of in rapid succession. There's also some lighting issues you might have noticed. You can plop torches down and sometimes a neighboring chunk just won't update, staying pitch black, with the neighboring chunk being lit well by the torch. Not sure if that's been fixed yet, they've been fixing a lot of bugs lately.
So a mod like this will either end up working better than previous versions due to performance improvements, or it'll end up being a showcase of 1.9's problems. I'm kind of curious to know which!
Maybe this has been said already or whatever but java 7 is EOL, people really need to update their java instead of complaining
You're right, but given the choice between supporting an older version (when I'm not using any Java 8-specific features anyway), or having less users to help test, I'll choose the former. If it becomes an issue later then I'll require that folks update.
You'd need a tile entity to store the data and that class still isn't fleshed out yet. I've been wanting to get my Hopper Ducts mod ported though (part of why I've focused on the Block class so much lately) so I'll need it for that as well.
Amazing work! I was think of something like this, but I thought it would just take too long, and would not even be feasible to do in a year. Amazing that you did it! I really like how it can accept other jar files and work with them, rather than having to add it all back to the main program.
I was wondering, could you possibly give a basic step through on how to make a simple mod, and what all the things in your mods that you have made do? Thanks! I really want to make one for my server.
Can someone actually tell me how to change drops of existing blocks so I can make stone drop rocks instead of cobblestone?
MCreator is just for whiny people who can't get ForgeGradle set up properly.
That's because granite/andesite/diorite are just stone with different metadata values. Looks like fully-loded doesn't support metadata values.
Hey, loving Meddle so far. I'm stuck on something obvious I think.
The DynamicMappings/currentmappings.txt, is that generated from another master list or is this something manually updated? I need to add a few things in order to get my code compiling.
If this is manually created and maintained, I'd like to tackle a script to convert from a source like the Enigma output which has a lot of mappings for the snapshots done. ( https://github.com/shadowfacts/1.9-Mappings/tree/master/snapshots/1.9 )
Am I on the right track here?
To be honest I stopped bothering trying to make DynamicMappings support older versions of Minecraft when Mojang changed so many signatures with 1.9. The later DynamicMappings don't even support the earlier snapshots. I felt like it would have taken more work than it was worth when really the point is to be able to quickly move forward.
Though I do want to allow the support for a list of static mappings so that I can create Meddle mods for versions like 1.2.5. I think that would be the best way to handle it. The only issue is that you aren't allowed to redistribute MCP's mappings, so I'd have to come up with some way to fetch them automatically, or to convince Searge to let me include them (less likely).
Nice job. And just so you know, to make it easier to distribute, you could create your own custom mappings class, and then register it in your tweak class. This obviously needs to be a smoother system, so that you can apply your custom mappings classes to the remapped jar during development without having to modify the build system or DynamicMappings itself to apply them, but we'll get there.
I've actually been improving the class packaging during remap the last couple days in hopes to make the remapped jar run, which would help make all of this mesh together easier.
I haven't looked at the loot tables at all. At this point I'm going to assume Mojang isn't going to make them support block drops yet since they're mostly down to just bug fixes now.
As mallamokb mentioned, the different rock types would need to have a metadata value specified, and I never even considered that when I wrote the mod. But it's a good idea, so I'll get to that eventually.
I definitely want a pickaxe that will mine a larger area. I planned to include it as one of the tools in Heavy Meddle. I even wrote one as a prototype ages ago for 1.8, when testing server-side-only mods.
And you're welcome! I'm glad you've been enjoying it.
As of the last few DynanicMappings builds, currentmappings.txt is generated automatically when I run the main DynamicMappings class, which I do when testing new versions or after adding mappings, to confirm they work. It's completely unnecessary to the operation of the mod, and is merely there for the people who always asked me for the mappings for their own work. I also occasionally refer to it myself when I need to look into some kind of issue.
Like I mentioned above, I do plan to implement a way to add static mappings, there's just not been any hurry because me trying to update static mappings across snapshots was the entire reason I created DynamicMappings in the first place. Once 1.9 settles into a final release, then they'll be much more relevant, and I think supporting those mappings (both Enigma and MCP's formats) will be much more relevant.
WIP site for my mods / Intermediary / FMC / Redstone Paste / Hopper Ducts / Model Citizens / Simple Refinement / Endermanage / Fycraft / etc
Hey Fyber, could you put FullyLoded on github or make a couple of tweaks.
1. Don't find blocks diagonally, because sometimes it mines blocks behind the wall.
2. Allow specifying limits like max blocks mined, max distance horizontally and vertically.
3. Add support for block metadata (e.g., andesite, diorite, granite)
4. Add support for things not mined with pickaxes, like gravel.
Also, I've made a pull request for HeavyMeddle that makes it a bit smarter for recognizing trees by finding leaves, and adds size limits. One of the guys on our server kept breaking their house accidentally
Here's FullyLoded. You'll always have to excuse any delay on syncing repositories considering I'm maintaining over a dozen just for Meddle stuff. They're easy to forget.
I skimmed the HeavyMeddle PR, I'll try it sometime tonight probably. I always meant to get to adding some limits eventually, it just wasn't a priority at the time, so thanks for saving me the effort. As for leaf detection, that was honestly somewhat deliberate. I remember a lot of instances with Treecapitator where leaves would be missing for whatever reason and then you still had to manually cut the thing down. Though granted, sometimes Treecapitator itself was at fault for destroying a neighboring tree's leaves itself. Since HeavyMeddle leaves leaf decay up to Minecraft it might be less of an issue. I can always add a config option later if it bugs me, I s'pose!
WIP site for my mods / Intermediary / FMC / Redstone Paste / Hopper Ducts / Model Citizens / Simple Refinement / Endermanage / Fycraft / etc
Fyber, can you add mappings for BlockStone? I'm working on a mod that requires them.
MCreator is just for whiny people who can't get ForgeGradle set up properly.
I merged mellamokb's PR that parses out all the top-level block classes in a fairly safe way, BlockStone is one of'em. You can go ahead and grab the DynamicMappings source and build you a jar to work with temporarily if you want.
In your mod's build script, you can specify a "location" variable in the dynamicmappings closure to point to the jar you built, or just the directory where the class files are. When you manually specify a location, the version setting isn't really relevant.
As a matter o' fact, you can see where I accidentally left it in the FullyLoded script when I synced the repository earlier.
WIP site for my mods / Intermediary / FMC / Redstone Paste / Hopper Ducts / Model Citizens / Simple Refinement / Endermanage / Fycraft / etc
Thanks! Now I need to know how to do the tweaking part.
MCreator is just for whiny people who can't get ForgeGradle set up properly.
Hey To All Those people have trouble installing the mod, I have created a tutorial to help you out!
Dude, it's not vanilla......
It's a modding API just like Forge, so...
Minecraft.getMinecraft() != "Vanilla"
https://www.dropbox.com/s/01t9zyulugehlow/RedSandRecipe-1.0.jar
(Requires Meddle 1.2.2+, DynamicMappings 020-alpha+, MeddleAPI 1.0.5+)
MCreator is just for whiny people who can't get ForgeGradle set up properly.
So i've thought about my suggestion of held torches emitting light, and maybe with the current mappings (i don't know anything about mods so hopefully i'm right about this) it would be possible by adding an invisible non-solid block with no hitbox named "itemlight" that emits light, that would be set inside the players head when a torch is held, and wich would automatically be destroyed when it's not inside a player holding a torch. Could that be possible?
Maybe this has been said already or whatever but java 7 is EOL, people really need to update their java instead of complaining
Coming soon:
-HoverBoat port for 1.7.10 (Old version from ShaRose) - 90%
-TF2-like Killcam - 5%
-Simple Config File Block Adder - 50%
-Ender Pig - 80%
(Damn, I need to finish these!)
My mods:
-Ingame Account Switcher - Lets you change your account info ingame without having to restart Minecraft!
-Crafty Utils - Adds some random useful early-late game content
Arch Linux supporter since 2012!
How do you add inventory displays to blocks?
MCreator is just for whiny people who can't get ForgeGradle set up properly.
Fyber, what's the trigger for adding NBT tags to mobs?
MCreator is just for whiny people who can't get ForgeGradle set up properly.
That achievement banner in my signature can be clicked. It takes you to my meddle mods thread.
MCreator is just for whiny people who can't get ForgeGradle set up properly.
Today's snapshot (15w46a) broke detection for a couple of things, but affected the detection of a ton of other mappings in the process, so DynamicMappings 020 is out to take care of that.
There might still not be enough Block class mappings yet for that either, but I've been working on that in particular a lot lately. And performance-wise, you'd still be triggering block updates as you moved, similar to if you just changed the light levels around the player. I'm pretty sure that one of those two methods is likely how those kinds of mods have always worked, though, which is why they're hard on performance.
Some of the chunk update changes in 1.9 (done to improve performance, they said) might result in that kind of mod looking pretty bad at times, particularly when you get near chunk boundaries. Heavy Meddle is a good example of that, where leaves will sometimes just vanish suddenly in entire gobs instead of in rapid succession. There's also some lighting issues you might have noticed. You can plop torches down and sometimes a neighboring chunk just won't update, staying pitch black, with the neighboring chunk being lit well by the torch. Not sure if that's been fixed yet, they've been fixing a lot of bugs lately.
So a mod like this will either end up working better than previous versions due to performance improvements, or it'll end up being a showcase of 1.9's problems. I'm kind of curious to know which!
You're right, but given the choice between supporting an older version (when I'm not using any Java 8-specific features anyway), or having less users to help test, I'll choose the former. If it becomes an issue later then I'll require that folks update.
You'd need a tile entity to store the data and that class still isn't fleshed out yet. I've been wanting to get my Hopper Ducts mod ported though (part of why I've focused on the Block class so much lately) so I'll need it for that as well.
Entities have hardly any mappings, I haven't given them much attention at all yet. Items and blocks are a priority currently.
WIP site for my mods / Intermediary / FMC / Redstone Paste / Hopper Ducts / Model Citizens / Simple Refinement / Endermanage / Fycraft / etc
That's not what I meant by "inventory displays on blocks". I meant how to make blocks render in the inventory properly, not Tile Entity GUIs.
MCreator is just for whiny people who can't get ForgeGradle set up properly.
Amazing work! I was think of something like this, but I thought it would just take too long, and would not even be feasible to do in a year. Amazing that you did it! I really like how it can accept other jar files and work with them, rather than having to add it all back to the main program.
I was wondering, could you possibly give a basic step through on how to make a simple mod, and what all the things in your mods that you have made do? Thanks! I really want to make one for my server.