Skip to content

Commit

Permalink
v1.0.0 for 1.17.1
Browse files Browse the repository at this point in the history
@ 2021-12-24
  • Loading branch information
Youmiel authored Dec 23, 2021
0 parents commit 0540729
Show file tree
Hide file tree
Showing 42 changed files with 1,603 additions and 0 deletions.
58 changes: 58 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# FASBingoWorldgen
World generation datapack for Bingo game.

## Changes to Vanilla worldgen
- Overwrite overworld biome settings with "multi_noise".
- Only reserve 29 essential biomes in overworld, see [29 Essential Biomes Reserved](##29%20Essential%20Biomes%20Reserved).
- Make biomes in overworld and the nether a lot smaller to keep up with the fast pace of Bingo game.
- Make structures generate more in overworld, the nether and the end, see [Modified Structures](##Modified%20Structures).

## Changes to Vanilla Mechanic
- Replace loot table of piglin bartering with 1.16.1 one.
- Enderman drops at leat 1 ender pearl.

## 29 Essential Biomes Reserved
- minecraft:ocean
- minecraft:deep_ocean
- minecraft:warm_ocean
- minecraft:frozen_ocean
- minecraft:plains
- minecraft:sunflower_plains
- minecraft:snowy_tundra
- minecraft:desert
- minecraft:desert_lakes
- minecraft:mountains
- minecraft:snowy_mountains
- minecraft:forest
- minecraft:flower_forest
- minecraft:birch_forest
- minecraft:dark_forest
- minecraft:taiga
- minecraft:snowy_taiga
- minecraft:swamp
- minecraft:river
- minecraft:frozen_river
- minecraft:mushroom_fields
- minecraft:beach
- minecraft:jungle
- minecraft:bamboo_jungle
- minecraft:savanna
- minecraft:badlands
- minecraft:ice_spikes
- minecraft:dripstone_caves
- minecraft:lush_caves

## Modified Structures
- minecraft:stronghold
- minecraft:monster_room
- minecraft:village
- minecraft:desert_pyramid
- minecraft:igloo
- minecraft:buried_treasure
- minecraft:ocean_ruin
- minecraft:jungle_pyramid
- minecraft:shipwreck
- minecraft:ruined_portal
- minecraft:fortress
- minecraft:bastion_remnant
- minecraft:endcity
30 changes: 30 additions & 0 deletions biomes.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
,Altitude,Temperature,Humidity,Weirdness,Offset
ocean,-1,0,-1,0,0
deep_ocean,-1,0,-1,-1,0
warm_ocean,-1,1,-1,0,0.1
frozen_ocean,-1,-1,-1,0,0
plains,0,0,0,0,0.4
sunflower_plains,0,0,0,1,0
snowy_tundra,0,-1,0,0,0
desert,0,1,-1,0,0
desert_lakes,0,1,-1,-1,0
mountains,1,-1,0,0,0
snowy_mountains,1.5,-1,0,0,0
forest,0,0,1,-0.25,0
flower_forest,0,0,1,0.75,0
birch_forest,0,0,1,0.25,0
dark_forest,0,0,1,-1,0
taiga,0,-1,-1,0,0
snowy_taiga,1,-1,-1,-1,0
swamp,-1,1,1,0,0
river,-1,0,1,0,0
frozen_river,-1,-1,1,0,0
mushroom_fields,0,1,0,0,0
beach,-1,0,0,0,0
jungle,0,1,1,0,0
bamboo_jungle,0,1,1.5,0,0
savanna,1,0,-1,0,0
badlands,1,1,-1,0,0
ice_spikes,1,-1,0,-1,0.35
dripstone_caves,1,1,1,1,0
lush_caves,1,1,1,0,0
157 changes: 157 additions & 0 deletions convert_biome.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [],
"source": [
"import csv\n",
"import os\n",
"import json\n",
"import math\n"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[['ocean', '-1', '0', '-1', '0', '0'], ['deep_ocean', '-1', '0', '-1', '-1', '0'], ['warm_ocean', '-1', '1', '-1', '0', '0.1'], ['frozen_ocean', '-1', '-1', '-1', '0', '0'], ['plains', '0', '0', '0', '0', '0.4'], ['sunflower_plains', '0', '0', '0', '1', '0'], ['snowy_tundra', '0', '-1', '0', '0', '0'], ['desert', '0', '1', '-1', '0', '0'], ['desert_lakes', '0', '1', '-1', '-1', '0'], ['mountains', '1', '-1', '0', '0', '0'], ['snowy_mountains', '1.5', '-1', '0', '0', '0'], ['forest', '0', '0', '1', '-0.25', '0'], ['flower_forest', '0', '0', '1', '0.75', '0'], ['birch_forest', '0', '0', '1', '0.25', '0'], ['dark_forest', '0', '0', '1', '-1', '0'], ['taiga', '0', '-1', '-1', '0', '0'], ['snowy_taiga', '1', '-1', '-1', '-1', '0'], ['swamp', '-1', '1', '1', '0', '0'], ['river', '-1', '0', '1', '0', '0'], ['frozen_river', '-1', '-1', '1', '0', '0'], ['mushroom_fields', '0', '1', '0', '0', '0'], ['beach', '-1', '0', '0', '0', '0'], ['jungle', '0', '1', '1', '0', '0'], ['bamboo_jungle', '0', '1', '1.5', '0', '0'], ['savanna', '1', '0', '-1', '0', '0'], ['badlands', '1', '1', '-1', '0', '0'], ['ice_spikes', '1', '-1', '0', '-1', '0.35'], ['dripstone_caves', '1', '1', '1', '1', '0'], ['lush_caves', '1', '1', '1', '0', '0']]\n"
]
}
],
"source": [
"def read_csv(path: os.PathLike) -> tuple[list[list[str]], list[str]]:\n",
" with open(path, newline='') as file:\n",
" reader = csv.reader(file)\n",
" head_line = next(reader)\n",
" body = []\n",
" for info in reader:\n",
" body.append(info)\n",
" return (body, head_line)\n",
"\n",
"biome_list, _ = read_csv('./biomes.csv')\n",
"print(biome_list)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"```json\n",
"{\n",
" \"parameters\": {\n",
" \"altitude\": 0.0,\n",
" \"temperature\": 0.0,\n",
" \"humidity\": 0.0,\n",
" \"weirdness\": 0.0,\n",
" \"offset\": 0.0\n",
" },\n",
" \"biome\": \"minecraft:nether_wastes\"\n",
"}\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[{'parameters': {'altitude': -0.565685424949238, 'temperature': 0.0, 'humidity': -0.565685424949238, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:ocean'}, {'parameters': {'altitude': -0.46188021535170065, 'temperature': 0.0, 'humidity': -0.46188021535170065, 'weirdness': -0.46188021535170065, 'offset': 0.0}, 'biome': 'minecraft:deep_ocean'}, {'parameters': {'altitude': -0.46188021535170065, 'temperature': 0.46188021535170065, 'humidity': -0.46188021535170065, 'weirdness': 0.0, 'offset': 0.1}, 'biome': 'minecraft:warm_ocean'}, {'parameters': {'altitude': -0.46188021535170065, 'temperature': -0.46188021535170065, 'humidity': -0.46188021535170065, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:frozen_ocean'}, {'parameters': {'altitude': 0.0, 'temperature': 0.0, 'humidity': 0.0, 'weirdness': 0.0, 'offset': 0.4}, 'biome': 'minecraft:plains'}, {'parameters': {'altitude': 0.0, 'temperature': 0.0, 'humidity': 0.0, 'weirdness': 0.8, 'offset': 0.0}, 'biome': 'minecraft:sunflower_plains'}, {'parameters': {'altitude': 0.0, 'temperature': -0.8, 'humidity': 0.0, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:snowy_tundra'}, {'parameters': {'altitude': 0.0, 'temperature': 0.565685424949238, 'humidity': -0.565685424949238, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:desert'}, {'parameters': {'altitude': 0.0, 'temperature': 0.46188021535170065, 'humidity': -0.46188021535170065, 'weirdness': -0.46188021535170065, 'offset': 0.0}, 'biome': 'minecraft:desert_lakes'}, {'parameters': {'altitude': 0.565685424949238, 'temperature': -0.565685424949238, 'humidity': 0.0, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:mountains'}, {'parameters': {'altitude': 0.665640235470275, 'temperature': -0.4437601569801833, 'humidity': 0.0, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:snowy_mountains'}, {'parameters': {'altitude': 0.0, 'temperature': 0.0, 'humidity': 0.7761140001162655, 'weirdness': -0.19402850002906638, 'offset': 0.0}, 'biome': 'minecraft:forest'}, {'parameters': {'altitude': 0.0, 'temperature': 0.0, 'humidity': 0.64, 'weirdness': 0.48, 'offset': 0.0}, 'biome': 'minecraft:flower_forest'}, {'parameters': {'altitude': 0.0, 'temperature': 0.0, 'humidity': 0.7761140001162655, 'weirdness': 0.19402850002906638, 'offset': 0.0}, 'biome': 'minecraft:birch_forest'}, {'parameters': {'altitude': 0.0, 'temperature': 0.0, 'humidity': 0.565685424949238, 'weirdness': -0.565685424949238, 'offset': 0.0}, 'biome': 'minecraft:dark_forest'}, {'parameters': {'altitude': 0.0, 'temperature': -0.565685424949238, 'humidity': -0.565685424949238, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:taiga'}, {'parameters': {'altitude': 0.4, 'temperature': -0.4, 'humidity': -0.4, 'weirdness': -0.4, 'offset': 0.0}, 'biome': 'minecraft:snowy_taiga'}, {'parameters': {'altitude': -0.46188021535170065, 'temperature': 0.46188021535170065, 'humidity': 0.46188021535170065, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:swamp'}, {'parameters': {'altitude': -0.565685424949238, 'temperature': 0.0, 'humidity': 0.565685424949238, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:river'}, {'parameters': {'altitude': -0.46188021535170065, 'temperature': -0.46188021535170065, 'humidity': 0.46188021535170065, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:frozen_river'}, {'parameters': {'altitude': 0.0, 'temperature': 0.8, 'humidity': 0.0, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:mushroom_fields'}, {'parameters': {'altitude': -0.8, 'temperature': 0.0, 'humidity': 0.0, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:beach'}, {'parameters': {'altitude': 0.0, 'temperature': 0.565685424949238, 'humidity': 0.565685424949238, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:jungle'}, {'parameters': {'altitude': 0.0, 'temperature': 0.4437601569801833, 'humidity': 0.665640235470275, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:bamboo_jungle'}, {'parameters': {'altitude': 0.565685424949238, 'temperature': 0.0, 'humidity': -0.565685424949238, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:savanna'}, {'parameters': {'altitude': 0.46188021535170065, 'temperature': 0.46188021535170065, 'humidity': -0.46188021535170065, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:badlands'}, {'parameters': {'altitude': 0.46188021535170065, 'temperature': -0.46188021535170065, 'humidity': 0.0, 'weirdness': -0.46188021535170065, 'offset': 0.35}, 'biome': 'minecraft:ice_spikes'}, {'parameters': {'altitude': 0.4, 'temperature': 0.4, 'humidity': 0.4, 'weirdness': 0.4, 'offset': 0.0}, 'biome': 'minecraft:dripstone_caves'}, {'parameters': {'altitude': 0.46188021535170065, 'temperature': 0.46188021535170065, 'humidity': 0.46188021535170065, 'weirdness': 0.0, 'offset': 0.0}, 'biome': 'minecraft:lush_caves'}]\n"
]
}
],
"source": [
"class BiomeLocation():\n",
" def __init__(self, name: str, altitude: float, temperature: float, humidity: float, weirdness: float, offset: float) -> None:\n",
" self.biome_name = name\n",
" self.altitude = altitude\n",
" self.temperature = temperature\n",
" self.humidity = humidity\n",
" self.weirdness = weirdness\n",
" self.offset = offset\n",
" self.normalize()\n",
"\n",
" def normalize(self):\n",
" vec_len_sq = self.altitude ** 2\n",
" vec_len_sq += self.temperature ** 2\n",
" vec_len_sq += self.humidity ** 2\n",
" vec_len_sq += self.weirdness ** 2\n",
" if vec_len_sq > 0:\n",
" vec_len = math.sqrt(vec_len_sq) * 1.25\n",
" self.altitude /= vec_len\n",
" self.temperature /= vec_len\n",
" self.humidity /= vec_len\n",
" self.weirdness /= vec_len\n",
"\n",
" def to_dict(self) -> dict:\n",
" dic = {}\n",
" dic['parameters'] = {}\n",
" dic['parameters']['altitude'] = self.altitude\n",
" dic['parameters']['temperature'] = self.temperature\n",
" dic['parameters']['humidity'] = self.humidity\n",
" dic['parameters']['weirdness'] = self.weirdness\n",
" dic['parameters']['offset'] = self.offset\n",
" if os.name.startswith('minecraft:'):\n",
" dic['biome'] = self.biome_name\n",
" else:\n",
" dic['biome'] = 'minecraft:' + self.biome_name\n",
" return dic\n",
"\n",
"dict_list = []\n",
"for biome in biome_list:\n",
" biome_info = BiomeLocation(biome[0], float(biome[1]), float(biome[2]), float(biome[3]), float(biome[4]), float(biome[5]))\n",
" dict_list.append(biome_info.to_dict())\n",
"\n",
"print(dict_list)"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [],
"source": [
"def write_to_json(obj, path='output.json') -> None:\n",
" with open(path, 'w') as jsonfile:\n",
" json.dump(obj, jsonfile, indent=4)\n",
"\n",
"write_to_json(dict_list)"
]
}
],
"metadata": {
"interpreter": {
"hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1"
},
"kernelspec": {
"display_name": "Python 3.9.2 64-bit",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.2"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}
Loading

0 comments on commit 0540729

Please sign in to comment.