-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
@ 2021-12-24
- Loading branch information
0 parents
commit 0540729
Showing
42 changed files
with
1,603 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
} |
Oops, something went wrong.