Tags
Creators
Details
Licensed MIT
Published 9 months ago
Updated 3 weeks ago
All versions
1.1.2
Release
SkiesGenerator [1.1.2] - 2026-10-043 weeks ago 42
Uploaded by
Compatibility
Minecraft: Java Edition
26.3
26.2
26.1.x
1.21.x
1.20.x
Platforms
Bukkit
Paper
Spigot
Changes
Added
- Sell wand. A right-click item that sells generator drops without typing a
command. Right-click in the air to sell your inventory drops and the storage
of every generator you own; right-click one of your own generators to sell
only that generator's storage. Hand one out with
/sellwand [player] [uses|unlimited] [multiplier](permissionskiesgenerator.sellwand.give; using a wand needsskiesgenerator.sellwand.use).- Remaining uses and the wand's bonus multiplier live in the item's NBT, so a
wand keeps its state across restarts, trades and chest storage. The wand
breaks at zero uses;
-1/unlimitednever breaks. - A sale that finds nothing to sell does not spend a use.
- Material, name, lore, default uses, bonus multiplier and whether a click
also empties generator storage are configurable under
sell-wandinconfig.yml. - Sell wands are protected like other plugin items: they can't be placed, crafted with, or traded to villagers.
- Remaining uses and the wand's bonus multiplier live in the item's NBT, so a
wand keeps its state across restarts, trades and chest storage. The wand
breaks at zero uses;
- Permission-based sell multiplier.
skiesgenerator.sellmultiplier.<value>multiplies the payout of/sellgenand the sell wand. Values may be whole or decimal, with an optional leadingx(.2,.1.5,.x3). A sell wand's own multiplier stacks on top of the player's. - Permission-based drop multiplier.
skiesgenerator.dropmultiplier.<value>multiplies how many items a player's generators produce per tick. Resolved from the generator owner's permissions while they are online. A fractional multiplier is honoured exactly —x1.5grants one item plus a 50% chance of a second, so it averages 1.5 rather than being rounded down to 1.multipliers.drop.stack-with-boosterdecides whether a/boostgenbooster multiplies with the permission multiplier (default) or whether only the larger of the two applies.
- A player's resolved multipliers are now shown in
/skiesgenerator helpwhen they have any. multipliers.maxcaps every resolved multiplier as a safety net against a mistyped node such asskiesgenerator.sellmultiplier.100000./sellwandhas tab completion for player, uses and multiplier.- Per-player generator limits via permissions.
max-generators-per-playerstays the serverwide cap, and a server can keep running on that alone. Two permission families now adjust it per player:skiesgenerator.extragenerators.<value>adds to the serverwide cap, so a cap of 10 plus.5gives that player 15. This is the "serverwide cap + extra per person" setup.skiesgenerator.maxgenerators.<value>replaces the serverwide cap outright, so.25gives a cap of 25 whatever the config says. Useful for both raising a donor rank and restricting a newcomer rank below the default.skiesgenerator.maxgenerators.unlimitedandskiesgenerator.maxgenerators.bypassremove the cap entirely. Operators get the bypass throughskiesgenerator.*.- Each family keeps the highest node a player holds rather than the sum, so an inherited rank node doesn't silently stack. When a player holds both, the override is resolved first and the extra is added on top.
generator-limit.capcaps any resolved limit, andgenerator-limit.max.check-values/generator-limit.extra.check-valueslist the tiers to probe for wildcard grants.- Setting
max-generators-per-playerto0still means unlimited for everyone; the permissions then have nothing to raise.
/skiesgenerator helpnow shows how many generators you've placed against your own cap, e.g.Generators placed: 7 / 15.
Changed
- Sell logic moved into a shared
SellService, so/sellgenand the sell wand price items and apply multipliers identically. - Sale messages now show the pre-multiplier total when a multiplier applied,
e.g.
Sold 64 items for $192.00 (x3 from $64.00). /sellgennow saves generator data after a sale, so an emptied generator storage survives a crash rather than only an ordinary shutdown.- Item protection checks (crafting, villager trading, placement) route through a
single
isProtectedItemhelper that also covers sell wands. - Generator output larger than one stack is now emitted as several valid stacks instead of a single oversized one, which a large drop multiplier can now ask for. In collect mode, production stops cleanly once storage fills.
plugin.ymlnow declaresskiesgenerator.boost, the sell wand nodes and the generator-limit nodes.skiesgenerator.*grants the sell wand permissions and the generator-limit bypass, but deliberately grants no multiplier, so operators don't silently get boosted rates.- Permission-value parsing (the shared logic behind
sellmultiplier,dropmultiplier,maxgeneratorsandextragenerators) now lives in onePermissionValueshelper, so all four families treat decimals, wildcards and negated nodes identically. - Operators are no longer subject to
max-generators-per-player.skiesgenerator.maxgenerators.bypassdefaults to op and is included inskiesgenerator.*, so anyone holding either now places generators without a cap. Revoke the node (or the wildcard) from a rank that should still be capped.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:GO47EhMF:210ltjIp"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:GO47EhMF:210ltjIp"
}

