Problem
At the moment a replicator replicates 64 stacks of whatever item you wish. There is no limit and no way to configure this. We have a lot of ideas what to do about that and this issue will list all of them in a comprehensible way.
Solution
There will be a default list of all items with default values. These values include ITEM_ID, AMOUNT, COST, COST_TYPE, USAGES and INTERVAL. Admins/Mods can override these values or add more specific values, i.e. in a specific world everything will be more expensive or a specific player is allowed to replicate every item for free.
Data structure
LINE ITEM_ID AMOUNT COST TYPE USAGES INTERVAL WORLD PLAYER
1 12 64 1.53 MONEY NULL NULL world1 james
2 12 64 0.31 XP NULL NULL world2 NULL
3 12 1 99 XP 1 1week NULL badguy
4 12 32 NULL NULL 3 1day NULL NULL
5 NULL 16 NULL NULL NULL NULL NULL niceguy
6 NULL +32 +2 NULL NULL NULL 90210 NULL
Line 4 is an example default entry and it would mean: Every player in every world is allowed to replicate 32 items of sand per click but only 3 times a Minecraft-day.
Line 1 would mean: Player james when in world1 is allowed to replicate 64 items of sand per click as often as he wants to but every replicate process will cost him 1.53 of money.
Line 2 would mean: Every player in world2 is allowed to replicate 64 items of sand per click as often as he wants to but every replicate process will cost 0.31 XP levels.
Line 3 would mean: Player badguy in every world is allowed to replicate 1 sand item per click only once a Minecraft-week and it will cost him 99 XP levels.
Line 5 would mean: Player niceguy in every world is allowed to replicate every item and gets 16 items per click out of it with no cost and no limits.
Line 6 would mean: In world 90210 every player can replicate 32 items per click additionally but it also will cost 2 money/xp (whatever type the more general value had) more.
Inheritance
There should be another data structure which specifies for simplicity inheritance relationships. For example and admin/mod defined a lot of values for a specific world and now wants another world to have the same prices, usage counts, amounts. He simply says that this world inherits from the other already configured world.
PARENT CHILD
player1 player2
player2 player3
world1 world2
Notice that it makes a difference if player3 inherits from player2 or from player1. This is because player2 can have some rules defined in the previously mentioned data structure which don't apply to player1.
What's missing?
In the main data structure a field replicator is missing. This field means only for this replicator. That's useful because players are able to define their own values. That means:
- increasing cost is possible, decreasing not
- decreasing amount per click is possible, increasing not
- decreasing number of usages per interval is possible, increasing not
In other words, the limits set by admins/mods cannot be overridden by players.
A last word
This will add a lot of configuration and even if it seems easy the devil is in the detail so there should be more thinking/planning/examining until we implement it.
Problem
At the moment a replicator replicates 64 stacks of whatever item you wish. There is no limit and no way to configure this. We have a lot of ideas what to do about that and this issue will list all of them in a comprehensible way.
Solution
There will be a default list of all items with default values. These values include
ITEM_ID,AMOUNT,COST,COST_TYPE,USAGESandINTERVAL. Admins/Mods can override these values or add more specific values, i.e. in a specific world everything will be more expensive or a specific player is allowed to replicate every item for free.Data structure
Line 4 is an example
defaultentry and it would mean: Every player in every world is allowed to replicate 32 items of sand per click but only 3 times a Minecraft-day.Line 1 would mean: Player james when in world1 is allowed to replicate 64 items of sand per click as often as he wants to but every replicate process will cost him 1.53 of money.
Line 2 would mean: Every player in world2 is allowed to replicate 64 items of sand per click as often as he wants to but every replicate process will cost 0.31 XP levels.
Line 3 would mean: Player badguy in every world is allowed to replicate 1 sand item per click only once a Minecraft-week and it will cost him 99 XP levels.
Line 5 would mean: Player niceguy in every world is allowed to replicate every item and gets 16 items per click out of it with no cost and no limits.
Line 6 would mean: In world 90210 every player can replicate 32 items per click additionally but it also will cost 2 money/xp (whatever type the more general value had) more.
Inheritance
There should be another data structure which specifies for simplicity inheritance relationships. For example and admin/mod defined a lot of values for a specific world and now wants another world to have the same prices, usage counts, amounts. He simply says that this world inherits from the other already configured world.
Notice that it makes a difference if player3 inherits from player2 or from player1. This is because player2 can have some rules defined in the previously mentioned data structure which don't apply to player1.
What's missing?
In the main data structure a field
replicatoris missing. This field means only for this replicator. That's useful because players are able to define their own values. That means:In other words, the limits set by admins/mods cannot be overridden by players.
A last word
This will add a lot of configuration and even if it seems easy the devil is in the detail so there should be more thinking/planning/examining until we implement it.