mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
Added biome maps for existing resources
This commit is contained in:
parent
074571ac22
commit
4ba36a7dab
@ -27,7 +27,7 @@ import io.github.thebusybiscuit.slimefun4.utils.biomes.BiomeMap;
|
|||||||
* @author TheBusyBiscuit
|
* @author TheBusyBiscuit
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
abstract class SlimefunResource implements GEOResource {
|
abstract class AbstractResource implements GEOResource {
|
||||||
|
|
||||||
private final NamespacedKey key;
|
private final NamespacedKey key;
|
||||||
private final String defaultName;
|
private final String defaultName;
|
||||||
@ -36,7 +36,7 @@ abstract class SlimefunResource implements GEOResource {
|
|||||||
private final boolean geoMiner;
|
private final boolean geoMiner;
|
||||||
|
|
||||||
@ParametersAreNonnullByDefault
|
@ParametersAreNonnullByDefault
|
||||||
SlimefunResource(String key, String defaultName, ItemStack item, int maxDeviation, boolean geoMiner) {
|
AbstractResource(String key, String defaultName, ItemStack item, int maxDeviation, boolean geoMiner) {
|
||||||
Validate.notNull(key, "NamespacedKey cannot be null!");
|
Validate.notNull(key, "NamespacedKey cannot be null!");
|
||||||
Validate.notNull(defaultName, "The default name cannot be null!");
|
Validate.notNull(defaultName, "The default name cannot be null!");
|
||||||
Validate.notNull(item, "item cannot be null!");
|
Validate.notNull(item, "item cannot be null!");
|
||||||
@ -81,14 +81,14 @@ abstract class SlimefunResource implements GEOResource {
|
|||||||
* a resource file.
|
* a resource file.
|
||||||
*
|
*
|
||||||
* @param resource
|
* @param resource
|
||||||
* The {@link SlimefunResource} instance
|
* The {@link AbstractResource} instance
|
||||||
* @param path
|
* @param path
|
||||||
* The path to our biome map file
|
* The path to our biome map file
|
||||||
*
|
*
|
||||||
* @return A {@link BiomeMap} for this resource
|
* @return A {@link BiomeMap} for this resource
|
||||||
*/
|
*/
|
||||||
@ParametersAreNonnullByDefault
|
@ParametersAreNonnullByDefault
|
||||||
static final @Nonnull BiomeMap<Integer> getBiomeMap(SlimefunResource resource, String path) {
|
static final @Nonnull BiomeMap<Integer> getBiomeMap(AbstractResource resource, String path) {
|
||||||
Validate.notNull(resource, "Resource cannot be null");
|
Validate.notNull(resource, "Resource cannot be null");
|
||||||
Validate.notNull(path, "Path cannot be null");
|
Validate.notNull(path, "Path cannot be null");
|
||||||
|
|
@ -5,6 +5,7 @@ import org.bukkit.block.Biome;
|
|||||||
|
|
||||||
import io.github.thebusybiscuit.slimefun4.api.geo.GEOResource;
|
import io.github.thebusybiscuit.slimefun4.api.geo.GEOResource;
|
||||||
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
|
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
|
||||||
|
import io.github.thebusybiscuit.slimefun4.utils.biomes.BiomeMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link GEOResource} which consists of nether ice.
|
* A {@link GEOResource} which consists of nether ice.
|
||||||
@ -13,15 +14,25 @@ import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
|
|||||||
* @author TheBusyBiscuit
|
* @author TheBusyBiscuit
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
class NetherIceResource extends SlimefunResource {
|
class NetherIceResource extends AbstractResource {
|
||||||
|
|
||||||
|
private static final int DEFAULT_NETHER_VALUE = 32;
|
||||||
|
|
||||||
|
private final BiomeMap<Integer> biomes;
|
||||||
|
|
||||||
NetherIceResource() {
|
NetherIceResource() {
|
||||||
super("nether_ice", "Nether Ice", SlimefunItems.NETHER_ICE, 6, true);
|
super("nether_ice", "Nether Ice", SlimefunItems.NETHER_ICE, 6, true);
|
||||||
|
|
||||||
|
biomes = getBiomeMap(this, "/biome-maps/nether_ice.json");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getDefaultSupply(Environment environment, Biome biome) {
|
public int getDefaultSupply(Environment environment, Biome biome) {
|
||||||
return environment == Environment.NETHER ? 32 : 0;
|
if (environment != Environment.NETHER) {
|
||||||
|
return 0;
|
||||||
|
} else {
|
||||||
|
return biomes.getOrDefault(biome, DEFAULT_NETHER_VALUE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ import io.github.thebusybiscuit.slimefun4.api.geo.GEOResource;
|
|||||||
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
|
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
|
||||||
import io.github.thebusybiscuit.slimefun4.implementation.items.geo.GEOMiner;
|
import io.github.thebusybiscuit.slimefun4.implementation.items.geo.GEOMiner;
|
||||||
import io.github.thebusybiscuit.slimefun4.implementation.items.geo.OilPump;
|
import io.github.thebusybiscuit.slimefun4.implementation.items.geo.OilPump;
|
||||||
|
import io.github.thebusybiscuit.slimefun4.utils.biomes.BiomeMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link GEOResource} which consists of buckets of Oil.
|
* A {@link GEOResource} which consists of buckets of Oil.
|
||||||
@ -18,70 +19,24 @@ import io.github.thebusybiscuit.slimefun4.implementation.items.geo.OilPump;
|
|||||||
* @see OilPump
|
* @see OilPump
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
class OilResource extends SlimefunResource {
|
class OilResource extends AbstractResource {
|
||||||
|
|
||||||
|
private static final int DEFAULT_OVERWORLD_VALUE = 10;
|
||||||
|
|
||||||
|
private final BiomeMap<Integer> biomes;
|
||||||
|
|
||||||
OilResource() {
|
OilResource() {
|
||||||
super("oil", "Oil", SlimefunItems.OIL_BUCKET, 8, false);
|
super("oil", "Oil", SlimefunItems.OIL_BUCKET, 8, false);
|
||||||
|
|
||||||
|
biomes = getBiomeMap(this, "/biome-maps/oil.json");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getDefaultSupply(Environment environment, Biome biome) {
|
public int getDefaultSupply(Environment environment, Biome biome) {
|
||||||
|
|
||||||
if (environment != Environment.NORMAL) {
|
if (environment != Environment.NORMAL) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
} else {
|
||||||
|
return biomes.getOrDefault(biome, DEFAULT_OVERWORLD_VALUE);
|
||||||
switch (biome) {
|
|
||||||
case SNOWY_BEACH:
|
|
||||||
case STONE_SHORE:
|
|
||||||
case BEACH:
|
|
||||||
return 6;
|
|
||||||
|
|
||||||
case DESERT:
|
|
||||||
case DESERT_HILLS:
|
|
||||||
case DESERT_LAKES:
|
|
||||||
return 45;
|
|
||||||
|
|
||||||
case MOUNTAINS:
|
|
||||||
case GRAVELLY_MOUNTAINS:
|
|
||||||
case MOUNTAIN_EDGE:
|
|
||||||
case RIVER:
|
|
||||||
return 17;
|
|
||||||
|
|
||||||
case SNOWY_MOUNTAINS:
|
|
||||||
case SNOWY_TUNDRA:
|
|
||||||
case ICE_SPIKES:
|
|
||||||
case FROZEN_OCEAN:
|
|
||||||
case FROZEN_RIVER:
|
|
||||||
return 14;
|
|
||||||
|
|
||||||
case BADLANDS:
|
|
||||||
case BADLANDS_PLATEAU:
|
|
||||||
case WOODED_BADLANDS_PLATEAU:
|
|
||||||
case ERODED_BADLANDS:
|
|
||||||
case MODIFIED_BADLANDS_PLATEAU:
|
|
||||||
case MODIFIED_WOODED_BADLANDS_PLATEAU:
|
|
||||||
case MUSHROOM_FIELDS:
|
|
||||||
case MUSHROOM_FIELD_SHORE:
|
|
||||||
return 24;
|
|
||||||
|
|
||||||
case DEEP_OCEAN:
|
|
||||||
case OCEAN:
|
|
||||||
case COLD_OCEAN:
|
|
||||||
case DEEP_COLD_OCEAN:
|
|
||||||
case DEEP_FROZEN_OCEAN:
|
|
||||||
case DEEP_LUKEWARM_OCEAN:
|
|
||||||
case DEEP_WARM_OCEAN:
|
|
||||||
case LUKEWARM_OCEAN:
|
|
||||||
case WARM_OCEAN:
|
|
||||||
return 62;
|
|
||||||
|
|
||||||
case SWAMP:
|
|
||||||
case SWAMP_HILLS:
|
|
||||||
return 20;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return 10;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@ import org.bukkit.block.Biome;
|
|||||||
|
|
||||||
import io.github.thebusybiscuit.slimefun4.api.geo.GEOResource;
|
import io.github.thebusybiscuit.slimefun4.api.geo.GEOResource;
|
||||||
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
|
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
|
||||||
|
import io.github.thebusybiscuit.slimefun4.utils.biomes.BiomeMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link GEOResource} which consists of Salt.
|
* A {@link GEOResource} which consists of Salt.
|
||||||
@ -12,48 +13,28 @@ import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
|
|||||||
* @author TheBusyBiscuit
|
* @author TheBusyBiscuit
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
class SaltResource extends SlimefunResource {
|
class SaltResource extends AbstractResource {
|
||||||
|
|
||||||
|
private static final int DEFAULT_OVERWORLD_VALUE = 6;
|
||||||
|
private static final int DEFAULT_NETHER_VALUE = 8;
|
||||||
|
|
||||||
|
private final BiomeMap<Integer> biomes;
|
||||||
|
|
||||||
SaltResource() {
|
SaltResource() {
|
||||||
super("salt", "Salt", SlimefunItems.SALT, 18, true);
|
super("salt", "Salt", SlimefunItems.SALT, 18, true);
|
||||||
|
|
||||||
|
biomes = getBiomeMap(this, "/biome-maps/salt.json");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getDefaultSupply(Environment environment, Biome biome) {
|
public int getDefaultSupply(Environment environment, Biome biome) {
|
||||||
|
if (environment == Environment.NORMAL) {
|
||||||
if (environment != Environment.NORMAL) {
|
return biomes.getOrDefault(biome, DEFAULT_OVERWORLD_VALUE);
|
||||||
|
} else if (environment == Environment.NETHER) {
|
||||||
|
return biomes.getOrDefault(biome, DEFAULT_NETHER_VALUE);
|
||||||
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (biome) {
|
|
||||||
case SNOWY_BEACH:
|
|
||||||
case STONE_SHORE:
|
|
||||||
case BEACH:
|
|
||||||
case DESERT_LAKES:
|
|
||||||
case RIVER:
|
|
||||||
case ICE_SPIKES:
|
|
||||||
case FROZEN_RIVER:
|
|
||||||
return 40;
|
|
||||||
|
|
||||||
case DEEP_OCEAN:
|
|
||||||
case OCEAN:
|
|
||||||
case COLD_OCEAN:
|
|
||||||
case DEEP_COLD_OCEAN:
|
|
||||||
case DEEP_FROZEN_OCEAN:
|
|
||||||
case DEEP_LUKEWARM_OCEAN:
|
|
||||||
case DEEP_WARM_OCEAN:
|
|
||||||
case FROZEN_OCEAN:
|
|
||||||
case LUKEWARM_OCEAN:
|
|
||||||
case WARM_OCEAN:
|
|
||||||
return 60;
|
|
||||||
|
|
||||||
case SWAMP:
|
|
||||||
case SWAMP_HILLS:
|
|
||||||
return 20;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return 6;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import org.bukkit.block.Biome;
|
|||||||
|
|
||||||
import io.github.thebusybiscuit.slimefun4.api.geo.GEOResource;
|
import io.github.thebusybiscuit.slimefun4.api.geo.GEOResource;
|
||||||
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
|
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
|
||||||
|
import io.github.thebusybiscuit.slimefun4.utils.biomes.BiomeMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link GEOResource} which consists of small chunks of Uranium.
|
* A {@link GEOResource} which consists of small chunks of Uranium.
|
||||||
@ -12,19 +13,25 @@ import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
|
|||||||
* @author TheBusyBiscuit
|
* @author TheBusyBiscuit
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
class UraniumResource extends SlimefunResource {
|
class UraniumResource extends AbstractResource {
|
||||||
|
|
||||||
|
private static final int DEFAULT_OVERWORLD_VALUE = 4;
|
||||||
|
|
||||||
|
private final BiomeMap<Integer> biomes;
|
||||||
|
|
||||||
UraniumResource() {
|
UraniumResource() {
|
||||||
super("uranium", "Small Chunks of Uranium", SlimefunItems.SMALL_URANIUM, 2, true);
|
super("uranium", "Small Chunks of Uranium", SlimefunItems.SMALL_URANIUM, 2, true);
|
||||||
|
|
||||||
|
biomes = getBiomeMap(this, "/biome-maps/uranium.json");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getDefaultSupply(Environment environment, Biome biome) {
|
public int getDefaultSupply(Environment environment, Biome biome) {
|
||||||
if (environment == Environment.NORMAL) {
|
if (environment != Environment.NORMAL) {
|
||||||
return 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
} else {
|
||||||
|
return biomes.getOrDefault(biome, DEFAULT_OVERWORLD_VALUE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
2
src/main/resources/biome-maps/nether_ice.json
Normal file
2
src/main/resources/biome-maps/nether_ice.json
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
[
|
||||||
|
]
|
89
src/main/resources/biome-maps/oil.json
Normal file
89
src/main/resources/biome-maps/oil.json
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"value" : 6,
|
||||||
|
"biomes" : [
|
||||||
|
"minecraft:beach",
|
||||||
|
"minecraft:stone_shore"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value" : 16,
|
||||||
|
"biomes" : [
|
||||||
|
"minecraft:river"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value" : 20,
|
||||||
|
"biomes" : [
|
||||||
|
"minecraft:swamp",
|
||||||
|
"minecraft:swamp_hills"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value" : 24,
|
||||||
|
"biomes" : [
|
||||||
|
"minecraft:ice_spikes",
|
||||||
|
"minecraft:frozen_ocean",
|
||||||
|
"minecraft:frozen_river"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value" : 40,
|
||||||
|
"biomes" : [
|
||||||
|
"minecraft:badlands",
|
||||||
|
"minecraft:badlands_plateau",
|
||||||
|
"minecraft:wooded_badlands_plateau",
|
||||||
|
"minecraft:eroded_badlands",
|
||||||
|
"minecraft:modified_badlands_plateau",
|
||||||
|
"minecraft:modified_wooded_badlands_plateau"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value" : 45,
|
||||||
|
"biomes" : [
|
||||||
|
"minecraft:desert",
|
||||||
|
"minecraft:desert_hills",
|
||||||
|
"minecraft:desert_lakes"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value" : 64,
|
||||||
|
"biomes" : [
|
||||||
|
"minecraft:ocean",
|
||||||
|
"minecraft:cold_ocean",
|
||||||
|
"minecraft:warm_ocean",
|
||||||
|
"minecraft:lukewarm_ocean"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value" : 72,
|
||||||
|
"biomes" : [
|
||||||
|
"minecraft:deep_ocean",
|
||||||
|
"minecraft:deep_cold_ocean",
|
||||||
|
"minecraft:deep_warm_ocean",
|
||||||
|
"minecraft:deep_lukewarm_ocean"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value" : 20,
|
||||||
|
"biomes" : [
|
||||||
|
"minecraft:mountains",
|
||||||
|
"minecraft:gravelly_mountains",
|
||||||
|
"minecraft:mountain_edge"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value" : 16,
|
||||||
|
"biomes" : [
|
||||||
|
"minecraft:snowy_mountains",
|
||||||
|
"minecraft:snowy_tundra"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value" : 20,
|
||||||
|
"biomes" : [
|
||||||
|
"minecraft:mushroom_fields",
|
||||||
|
"minecraft:mushroom_field_shore"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
30
src/main/resources/biome-maps/salt.json
Normal file
30
src/main/resources/biome-maps/salt.json
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"value" : 20,
|
||||||
|
"biomes" : [
|
||||||
|
"minecraft:swamp",
|
||||||
|
"minecraft:swamp_hills"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value" : 40,
|
||||||
|
"biomes" : [
|
||||||
|
"minecraft:beach",
|
||||||
|
"minecraft:gravelly_mountains",
|
||||||
|
"minecraft:stone_shore"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value" : 60,
|
||||||
|
"biomes" : [
|
||||||
|
"minecraft:ocean",
|
||||||
|
"minecraft:cold_ocean",
|
||||||
|
"minecraft:warm_ocean",
|
||||||
|
"minecraft:lukewarm_ocean",
|
||||||
|
"minecraft:deep_ocean",
|
||||||
|
"minecraft:deep_cold_ocean",
|
||||||
|
"minecraft:deep_warm_ocean",
|
||||||
|
"minecraft:deep_lukewarm_ocean"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
2
src/main/resources/biome-maps/uranium.json
Normal file
2
src/main/resources/biome-maps/uranium.json
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
[
|
||||||
|
]
|
Loading…
Reference in New Issue
Block a user