Can I fork the source code of this mod to add it more features?
Opened this issue ยท 8 comments
My idea was to add it quicksand, crazy snow with skiing and snowshoes. Also, I'll maybe find a way to make it work without the use of ASM. I've my idea on how to do all this stuff, but the fact is, I would like that you give me the permission to publish this in a remake of TheRealisticLeaves Mod or as an add-on to the mod I'm currently making (noCubes Reloaded).
Unless @srs-bsns says otherwise:
This code is licenced under the MIT licence, as stated in https://github.com/Team-RTG/Passable-Leaves/blob/1.11.2-dev/LICENSE
This means that you can copy the code or fork the repo all you want. Just don't claim to have written the code that you have not written yourself.
Also, regarding pretty much any Minecraft mod: please don't (publically) distribute your own build(s) of the mod, especially not without clarifying that you modified the product that the official developers created.
If you want to contribute to the official version of this mod, please ask if the author wants your proposed changes added to the mod before you file a pull request. I think that this issue will suffice in that respect.
TL:DR:
- Don't go around spreading unofficial versions of mods you don't own the rights to.
- Give credit where credit is due.
Yup, I'll do that, but the mod creator doesn't want to add the features I was talking about into the original mod, so I'll merge some of the code of this mod with my mod, give the credits to the original mod author and publish it when finished.
Also, I'll maybe find a way to make it work without the use of ASM.
@vrackfall, as I said in the other issue you opened, what this mod does requires ASM to modify a core Minecraft class. It is impossible to achieve the same functionality without doing so.
Whether a block is solid or not is a property of the base Block
class, which is solid by default, and the only way to change this is to @Override
that functionality in a subclass. The BlockLeaves
subclass does not override this functionality so vanilla leaf blocks remain solid.
If one were to create their own custom leaf blocks (extended from BlockLeaves
), then they can make the overrides and make their custom leaf block passable by entities without having to use ASM, however, ONLY those leaf blocks will be passable, and the vanilla leaf blocks will still remain solid (as well as any other leaf blocks added by other mods). So, altering the vanilla class is the only way to make ALL leaf blocks passable.
My idea was to add it quicksand, crazy snow with skiing and snowshoes.
You will already have to add a custom block for quicksand which you will already be able to make passable without the use of ASM (as I said above), and you could also add a custom block for snow that does this as well. You should be able to have your custom blocks replace vanilla blocks during chunk generation using Forge events, which means you should be able to achieve everything that you want without the functionality of PassableLeaves.
I would like that you give me the permission to publish this in a remake of TheRealisticLeaves Mod or as an add-on to the mod I'm currently making (noCubes Reloaded).
As Robijnvogel stated, PassableLeaves is licenced under MIT, so this code is freely usable by others within the rules of that licence, however, this mod is so small and simple that I don't see why you couldn't just write what you need from scratch, and with respect to what I said above about adding custom blocks, you probably don't need to use any code from this mod at all.
Note: To see how simple this mod is, you can see the latest update here that isn't yet merged. In it I've managed to put everything, with the exception of the core mod class and transformer class, into a single source file.
technically you can do it without asm by replacing the vanilla block instances.
True, but that would be a nightmare for worlds that were created before PassableLeaves was added. ;)
My idea is more simple than that, I created another mod before, that can replace a full class by another one, but only if the two classes are alike, or if they have the same purpose, so I'll look in your code what I can use and adapt it to my code, that's all.