HiddenOre - Anti-Xray 1.9

HiddenOre

Massively configurable, low-impact anti-xray plugin developed for play.devotedmc.com (http://reddit.com/r/Devoted)

Please see the README here: https://github.com/DevotedMC/HiddenOre for most up-to-date information on the features of this plugin.

The information here is outdated; I will be updating it soon.

Overview Every time you break a block, naturally placed, there will be a lottery run. This will occasionally drop cool stuff instead of the block you broke.

Typical use case is for stone - instead of dropping stone, occasionally drop Ore instead.

For example:

1:100,000 chance to find prismarine.

1:3000 chance to find a diamond.

1:10000 chance to find 10 diamonds.

Etc.

Mod is fully configurable with biome-specific settings and tool restrictions.

The default config comes built in with vanilla ore rates for breaking stone. 10 minutes of mining in single player will result in the same amount of ore found, on average, as with a server running HiddenOre.

Details The raw technical details:

On block break, provided the user is not leveraging Silk Touch enchantment, checks the config to see if a lottery has been defined for this block.

You can configure multiple drops, where each drop is computed as an independent probability against the break, and the sum of drops is spawned into the world.

Alternatively, you can indicate only a single drop-type is allowed. In this case a single random number is generated and tested against a probability distribution of possible drops. This allows replication of MC behavior (in terms of how mines are generated).

The chance to drop for each type of drop against a type of broken block is configurable.

A block can be configured to match all subtypes or just a specific set of subtypes (e.g. not regular stone but both andesite and diorite would be possible).

You can apply biome-level chance, level, and amount modifiers.

Drops can be restricted to specific Y levels and specific tools.

Included is a default config that effectively mirrors Minecraft Vanilla orespawn; you can make a world without ores using WorldPainter and with this plugin allow effectively normal vanilla richness. Consider it the ultimate XRay defense; you cannot see what literally doesn't exist.

Supports tracking of breaks to prevent "gaming" the system for more drops. Extra event handlers watch for game attempts and directly penalize that "chunk".

Currently you cannot specify more then one config for a particular base type of Material (block type).

You can specify custom messages for specific types of drops, allowing "uber"-finds to have a unique message

You can turn on or off the debug using /hiddenore debug true or false. Be warned, if people are digging, this will spam the console badly.

Supports saving and loading of the tracking database, and fully adheres to /reload with no difficulties.

Break down of the Config:

prefix: You found a hidden ore!

This one is pretty simple, it's the message displayed to the user when they successfully rolled a win after breaking a block.

alert_user: true

Set this to false if you don't want an in-chat alert sent to the user when they find an ore.

list_drops: true

Set this to false if you don't want the user getting the name of the items they just won.

blocks:
STONE:
allTypes: false
types:
- 0
dropMultiple: false

This section is where the magic happens. List the Bukkit material name of the item you want to break first. In this case, STONE.

The next part is 'allTypes' this specifies if you want items with data types, like Granite (0:1, instead of 0:0 which is stone) to be broken as well for rewards. You can directly specify types below in the types section. For this example config, only breaking stone will roll for a reward.

If dropMultiple: false, then it's out of the cumulative chance. If dropMultiple: true then it's independent chance

So for dropMultiple false, what that means is, we stack up all the "chances" for each drop type, based on biome, tool, and block broken; we choose a random number, and see if it is within the "probability range" cut out by those stacked up chances.

e.g. if diamond, lapis, and redstone are all "possible" drops, then if the random number is between 0 and 0.0001 the diamond drops. 0.0001 and 0.0024 the lapis drops. 0.0024 and 0.005 the redstone drops. (using pretend numbers). If the random number is above 0.005, nothing hidden drops(edited)

vs. with dropMultiple true, we pick a random number for each possible drop. If the new random number is < 0.0001, the diamond drops. Then we pick a new random. If < 0.0023, the lapis drops. Then we pick a new random. If < 0.0026, the redstone drops.

drops:
EMERALD_ORE:
tools:
- IRON_PICKAXE
- DIAMOND_PICKAXE
minY: 1
maxY: 32
chance: 0.0
minAmount: 1
maxAmount: 2
biomes:
EXTREME_HILLS:
chance: 0.001437
EXTREME_HILLS_MOUNTAINS:
chance: 0.001437
EXTREME_HILLS_PLUS:
chance: 0.001437
EXTREME_HILLS_PLUS_MOUNTAINS:
chance: 0.001437

The drops section handles what the rewards are. Specify the Bukkit material name of the item you want dropped first, in this case, Emerald Ore. Next specify the type of tool you must mine with to get this material. minY and maxY determine the ranges a player must mine in to get the drop.

Chance is the % chance that a block broken will give the reward item. In this example it is set to 0 so we can specify which biomes will give the reward.

Min and max amounts determine how many of the reward block are given to the player when the win a roll.

Biomes lets you set specific biomes where the reward will be given and different chances. In this case there is a 0.1437% chance of getting a drop when you mine stone.

pretty_names:
DIAMOND: Diamond
IRON_INGOT: Iron ingot
GOLD_INGOT: Gold ingot
QUARTZ: Quartz
EMERALD: Emerald
PRISMARINE_SHARD: Prismarine Shard
REDSTONE: Redstone
DIAMOND_ORE: Diamond Ore
IRON_ORE: Iron Ore
GOLD_ORE: Gold Ore
QUARTZ_ORE: Quartz Ore
EMERALD_ORE: Emerald Ore
PRISMARINE: Prismarine
REDSTONE_ORE: Redstone Ore
LAPIS_ORE: Lapis Lazuli Ore
COAL_ORE: Coal Ore
COAL: Coal
NETHERRACK: Netherrack
INK_SACK:
4: Lapis Lazuli

This section is simply renaming Bukkit materials to more user friendly names.


Comments

Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    99094
  • Created
    Apr 7, 2016
  • Last Released File
    Jun 25, 2016
  • Total Downloads
    1,849
  • License

Categories

Members

Recent Files