I was working with some of the Iron Golems in my little area to defeat some zombies, and I thought that it may be interesting to have Iron Golems level up, somewhat like the player does.
Details:
Iron Golems would gather EXP from mobs that they kill, like a player does. (This would force the server-level to regard Iron Golems as a player entity for experience to be delivered.)
After reaching a certain level of EXP, the golem levels up. These level-ups could provide the golem with more health, or more defense. Strength is something the golems already have enough of. (Perhaps the player or defended villager is allowed to select the stat to improve?)
Iron Golems may have a cap level, or take a very long time to level up.
Instead of having a stat increase, it would also seem fitting to have Iron Golems simply have their health regenerated at the start of a new level, to keep them alive, making that time increase with the difficulty of reaching a higher level.
Issues:
EXP is only given to player kills. Golems would have to be rendered as a server-side player entity, which may cause the server to slow down or malfunction if not properly handled. (Loopback to an internal client at all times, once per golem)
Golems are already quite strong, and stat improvements may only be considered buffing an OP mob further into invincibility.
Unless the golem's appearance were to change (the skin texture being shaded with a hue of color, a different skin being applied or the size of the golem changing, etc) or the golem have some kind of apparent level marker (the golem being listed as "Iron Golem [5]", etc) to signify it's level, there's no way to tell the golem's level. This is an issue going hand-in-hand with the issue of it being a simple mob entity in the server's regard.
Pros:
A stronger golem could survive in more "hostile" areas (areas with a larger mob concentration), such as a mob spawner, a village raid or the surface expanse.
Golems are less prone to death, and regenerating golems may be costly to new players or over time.
Golems, supposedly the familiars of the villagers, become more personable/player-like. They get stronger like you do.
Cons:
Iron Golems are already quite strong and improving their stats could be considered a permanent OP defense.
Golems which aren't situated in locations where villagers are present are free-roaming, and as a result the server would need to provide map and client-esque details to itself per each golem (assuming the golems are regarded as player entities) unless a new logical handling of the golems was to take place.
This is just a concept I came up with very recently, and as a result there will most likely be a series of edits to this information as time progresses and suggestions are added.
Well, because they have to take a player slot, one could easily spam a bunch of Iron Golems and lock everyone out of the server.
This is why I was saying a simple restructure like every dead mob (exception: exploded creepers) generating EXP, without a player nearby or such. That way, they can remain mob entities.
Rollback Post to RevisionRollBack
Because potatoes have never been something so valued to mankind.
Maybe the mobs wouldn't actualy need to drop EXP. The iron golem could simply have an EXP variable which would increase when it kills a mob, depending on what mob it kills. After the EXP variable reaches a certain number, it would reset to 0 and increase the level variable by 1. Then it would receive some kind of defense/offense buff.
I'm just going to flat-out admit I know nothing about Java coding. I'm just going by the general knowledge of varibles and stuff that I picked up from various other languages, and I'm just assuming that this can be done in Java.
Details:
- Iron Golems would gather EXP from mobs that they kill, like a player does. (This would force the server-level to regard Iron Golems as a player entity for experience to be delivered.)
- After reaching a certain level of EXP, the golem levels up. These level-ups could provide the golem with more health, or more defense. Strength is something the golems already have enough of. (Perhaps the player or defended villager is allowed to select the stat to improve?)
- Iron Golems may have a cap level, or take a very long time to level up.
- Instead of having a stat increase, it would also seem fitting to have Iron Golems simply have their health regenerated at the start of a new level, to keep them alive, making that time increase with the difficulty of reaching a higher level.
Issues:- EXP is only given to player kills. Golems would have to be rendered as a server-side player entity, which may cause the server to slow down or malfunction if not properly handled. (Loopback to an internal client at all times, once per golem)
- Golems are already quite strong, and stat improvements may only be considered buffing an OP mob further into invincibility.
- Unless the golem's appearance were to change (the skin texture being shaded with a hue of color, a different skin being applied or the size of the golem changing, etc) or the golem have some kind of apparent level marker (the golem being listed as "Iron Golem [5]", etc) to signify it's level, there's no way to tell the golem's level. This is an issue going hand-in-hand with the issue of it being a simple mob entity in the server's regard.
Pros:- A stronger golem could survive in more "hostile" areas (areas with a larger mob concentration), such as a mob spawner, a village raid or the surface expanse.
- Golems are less prone to death, and regenerating golems may be costly to new players or over time.
- Golems, supposedly the familiars of the villagers, become more personable/player-like. They get stronger like you do.
Cons:- Iron Golems are already quite strong and improving their stats could be considered a permanent OP defense.
- Golems which aren't situated in locations where villagers are present are free-roaming, and as a result the server would need to provide map and client-esque details to itself per each golem (assuming the golems are regarded as player entities) unless a new logical handling of the golems was to take place.
This is just a concept I came up with very recently, and as a result there will most likely be a series of edits to this information as time progresses and suggestions are added.This is why I was saying a simple restructure like every dead mob (exception: exploded creepers) generating EXP, without a player nearby or such. That way, they can remain mob entities.
I'm just going to flat-out admit I know nothing about Java coding. I'm just going by the general knowledge of varibles and stuff that I picked up from various other languages, and I'm just assuming that this can be done in Java.
That does sound like a valid option too, since then no random mobs or payers would just harvest EXP.