Tinkers' Tool Leveling

Tinkers' Tool Leveling

69M Downloads

Suggestion: Random modifiers

NielsPilgaard opened this issue ยท 21 comments

commented

Hey!

I'd like to suggest that every other level grants a randomized modifier, instead of adding room for a new modifier. It'd also be nice, in my opinion, with a config option to cap amount of modifiers granted.

Thank you for making this mod, it's a very nice addition to the Tinkers' gameplay!

commented

Well, this is a feature from iguanas tweaks, which i believe boni took up as well. In iguanas tweaks, when you leveled up, you would get both a random modifier AND room for an extra one at the same time. I remember leveling a pick and having over like 50 mining speed. Having both was VERY overpowered, so maybe have what you suggested is a better idea, but it should be a config option as some would rather have full control over what their tool has.

commented

Good point, configurability is always nice.

commented

The random modifiers would be great, having a custom modifier as one of the random options. It gives a bit more personality to weapons and tools.

commented

yes, i would love this, or an update to later versions of mc with iguana tweaks

commented

Is this coming/planned anytime soon? I would really love to have this feature back again in Tinkers Construct.
If wanted/accepted, I would write that part myself and open a PR here on GitHub.

commented

No, they're not coming back.

commented

Ahhm, okay. As I really loved this feature, would you mind giving reasons for your decision?

And if you're really sure that you don't want this feature, regardless of any reasons, would I be allowed to create my own fork of this project? I didn't find any license document, so I thought to ask here is the best option. (Note: I don't want to be rude or offensive, just would really love to have this feature back in MC 1.12.)

commented

well, tinker tool leveling is dead.... RIP

commented

I already started working on a system to give random modifiers. When finished with it, I'll open a pull request so you can see my thoughts on it and how I implemented it. If you like the idea and implementation, you can merge it (or we discuss changes you'd like to see to merge it), or, if you think it doesn't fit into Tinkers Tool Leveling/ is completely wrong implemented, I'll publish it as a different mod.

commented

Modifiers are much stronger now. Random modifiers would either require a ton of levels - at which point it doesn't matter if you get free modifiers or randoms - or would completely screw you over by giving you the wrong ones. The mod is licensed under the MIT license, so you can do whatever you want. If you want to publish the mod it needs to be distinguishable and clear that it's not tinkers tool leveling.

commented

You misunderstood me. I do not want them in the mod.

commented

That's sad. I hoped I wouldn't have to split apart from this project for just one feature (that could even be optional).

But okay, I'll accept it. I'll set up the new project/transform your mod with my changes into a new one in the next few days. When finished, I'll PM you about the new mod, so you can give me the OK for publishing it (just to make sure it meets the criteria you mentioned above for creating my own fork of TTL).

commented

Something that would also be worth looking into is if you can do this as an addon to Tinkers Tool Leveling rather than a fork. That would be easier long term in maintainability and make it less of an issue being published separately

commented

I thought about this, but how could it be done? The problem I couldn't solve is, that you basically have two different implementations that are used when a tool levels up, which are only separated by an if statement that checks if random modifiers are enabled. If they are not enabled, the code currently in the mod is executed , just adding another free modifier. If they are enabled, my code gets executed, applying a custom modifier to the tool.
So the problem is: How could I disable the default implementation on level up and instead execute the one from the plugin?
I couldn't find a simple solution to this question, so in my opinion it would be easier to seperate at this point.
If you have a solution to this (simpler than separating or putting it as an opt-in config option into TTL), I'm more than open for it, but I don't see that (anymore).

P.S.: I have to agree, that creating a fork is something serious that should only be the 'emergency' solution, but I really loved that feature and already put work into it, so I will do what is necessary to get that feature back into newer MC version.

commented

I think I'll release it as a different mod the way I wrote it until now. I checked that it's working, it's a very simple change and I don't think that the effort would be worth it.
From my perspective, it's very strange and kind of rude how you treated this feature request: First you leave the issue open for almost two years, multiple people requesting this feature over time without any reaction from you. Then, when I say I'd implement it, the first thing I hear is, that this won't make it into TTL, after you ignored the whole thing for two years. And finally, when I gave up getting this feature into TTL and say, okay, I'll go my way and release a different mod for that feature, you come back to me and ask if I would write a whole new mod, just for getting this feature compatible with a mod that didn't want to have this feature. I'm sorry if this sounds rude to you, but my experience with you discussing this issue was rather unpleasant so far, and I just wanted to get it off my mind.

Besides the fact that I think it's too much effort developing this feature as an addon to TTL, I'll try my best to keep the conflicts between the two projects as rare as possible (probably there won't be any compatibility issues, because it doesn't really make sense using both mods at the same time, as they both reward you for using Tinker Tools, one by giving you free modifiers, one by applying random modifiers to the tool). And just as a reminder: I never wanted to split from the mod and create a new one. All I wanted was this feature, which doesn't break the way TTL should work from your perspective in any way.

commented

For anyone interested: The mod is now published under https://github.com/liketechnik/Liketechnik-s-Tinker-Tweaks/
@bonii-xx & @KnightMiner if you have any issues with the way I released it, please contact me.

commented

Boni said he did not want the feature in the mod before you made the pull request. He did not say it was a time issue and just needed an implementation, so calling it rude that you misunderstood is not right; you choose to start implementing it after he said it was unwanted. And no one brought up implementing it themselves before it was closed anyways, so I don't see how taking two years to decide is an issue

My comment was just a suggestion, not a requirement. It was to make things easier for you in the long run as its much easier to maintain one small feature than a whole copy of a mod. It is very easy to make this an addon if you wanted, you nust need to extend one class and listen to one simple event. If suggesting that is rude, then sorry for wanting to make your life easier.

I know you did not want to make a separate project in the first place, but you have to understand that just because you want a feature does not mean it fits the vision of the project. Boni has the final say on what he feels belongs in this project, and he said you were free to fork it.

The github page looks fine to me, since you renamed it to show it's a different author..

commented

There will a little duplicated code, but you could extend the ModToolLeveling class then replace the modifier in the Tinkers Registry with your own version using the ModifierRegisterEvent. Otherwise, just implement a separate level up system and let the two run in parallel

commented

First off: Mod/Fork looks fine, everything taken care off. If you're unsure about anything just contact us.

That's sad. I hoped I wouldn't have to split apart from this project for just one feature (that could even be optional).

The goals are completely different though, different concerns, different things.

plugin vs standalone

Off the top of my head it'd be possible by replacing the levelup modifier with your own implementation, based on the original modifier, and then simply calling your own code on levelup. This keeps every interaction etc. intact. But it's more work. So basically what Knightminer said.

I'm sorry if this sounds rude to you, but my experience with you discussing this issue was rather unpleasant so far, and I just wanted to get it off my mind.

Funny you feel that way, I only told you that it's not coming back (my first comment), and then I told you why it's not coming back, and what's required for a proper fork (which was your question). A fork is not a pull request, but a standalone thing, so why you're whining about me not wanting a pull request is beyond me.

I never wanted to split from the mod and create a new one.

Again, you literally asked for a fork, which is a split from the mod, in your second comment after I told you it's not coming back.

All I wanted was this feature, which doesn't break the way TTL should work from your perspective in any way.

If you read my reasoning why I don't want it you'd understand that it does indeed break the way TTL should work.

Anyway, some backstory: The mod literally only exists because I knew people would want it, and I prefer that it's a clean implementation that doesn't break TiC (both on a code basis, as well as on a gameplay basis), resulting in less work for me in the long run. I'm fine with the mod as it is, which means I'm only maintaining it when it breaks, since I don't want to spend any more time on it than I need to.
If you see it as rude that I'm not adding more features, or don't want more features in it, then I'm sorry but that's fine. It wont cause me any sleepless nights. Across all my mods I'm getting tons of people wanting stuff all the time, and for some reason they think they're entitled to it, not realizing that, if they actually do get their request granted it's because I'm either feeling nice or see the merit in it. Most of the time they don't get it. That's life.

commented

I know it's a long time ago we discussed here. I just wanted to come back here and apologize for my behavior. I've really been a d*ck here and what I said was in some parts just plain wrong and insulting. Although I know that it is not really a good reason for my behaviour, it was just because I wanted this feature so much. So yeah, I often thought about this in the past months and realized that I must seem to you like a big a**hole, so I just wanted to remark that nothing of this was meant personally against you, it was just my bad, bad way to get over the fact that I won't have this feature in the mod.

I know that this text is not well written, but I really wanted to apologize for myself here, 'cause I realized how wrong I acted here.

commented

It's ok buddy, now you know both sides. We know it's because you care about the things we made (but we still don't want to deal with ;p)