-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtestStructures.py
More file actions
91 lines (76 loc) · 3.48 KB
/
testStructures.py
File metadata and controls
91 lines (76 loc) · 3.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
from generation.resources import *
from generation.chestGeneration import *
from generation.structures.structures import *
from generation.structureManager import *
from generation.floodFill import *
import generation.resourcesLoader as resLoader
import utils.util as util
from utils.worldModification import *
import utils.argumentParser as argParser
import lib.interfaceUtils as iu
import generation.loremaker as loremaker
import utils.book as book
import lib.toolbox as toolbox
import copy
file = "temp.txt"
interface = interfaceUtils.Interface(buffering=True, caching = True)
interface.setCaching(True)
interface.setBuffering(True)
iu.setCaching(True)
iu.setBuffering(True)
worldModif = WorldModification(interface)
args, parser = argParser.giveArgsAndParser()
area = argParser.getBuildArea(args)
if area == -1:
exit()
if not args.remove:
resources = Resources()
resLoader.loadAllResources(resources)
chestGeneration = ChestGeneration(resources, interface)
structure = resources.structures["basichouse1"]
info = structure.info
buildingCondition = BaseStructure.createBuildingCondition()
buildingInfo = structure.setupInfoAndGetCorners()
buildingCondition["flip"] = 1
buildingCondition["rotation"] = 0
buildingInfo = structure.getNextBuildingInformation( buildingCondition["flip"], buildingCondition["rotation"])
buildingCondition["position"] = [4787, 69, 6095]
buildingCondition["referencePoint"] = buildingInfo["entry"]["position"]
buildingCondition["size"] = buildingInfo["size"]
buildingCondition["replaceAllAir"] = 3
structureBiomeId = util.getBiome(buildingCondition["position"][0], buildingCondition["position"][2], 1, 1)
structureBiomeName = resources.biomeMinecraftId[int(structureBiomeId)]
structureBiomeBlockId = str(resources.biomesBlockId[structureBiomeName])
if structureBiomeBlockId == "-1" :
structureBiomeBlockId = "0"
settlementData = {}
settlementData["materialsReplacement"] = {}
settlementData["materialsReplacement"]["villageName"] = "TestLand"
loremaker.voteForColor(settlementData)
buildingCondition["replacements"] = copy.deepcopy(settlementData["materialsReplacement"])
# Load block for structure biome
for aProperty in resources.biomesBlocks[structureBiomeBlockId]:
if aProperty in resources.biomesBlocks["rules"]["village"]:
buildingCondition["replacements"][aProperty] = resources.biomesBlocks[structureBiomeBlockId][aProperty]
# Load block for structure biome
for aProperty in resources.biomesBlocks[structureBiomeBlockId]:
if aProperty in resources.biomesBlocks["rules"]["structure"]:
buildingCondition["replacements"][aProperty] = resources.biomesBlocks[structureBiomeBlockId][aProperty]
settlementData = {
"villagerNames" : ["rodriguez sdfsd", "sdfsdfsdf"],
"structures" : [
{"name" : "basichouse1", "villagersId" : [0]},
{"name" : "basichouse1", "villagersId" : [1]}
]
}
buildingCondition["special"]["bedroomhouse"] = ["minecraft:written_book" + toolbox.writeBook(
book.createBookForVillager(settlementData, 0)[0],
title="jean ", author="SDQS", description="QSSDD" )]
structure.build(worldModif, buildingCondition, chestGeneration)
worldModif.saveToFile(file)
else :
if args.remove == "r" :
worldModif.loadFromFile(file)
else :
worldModif.loadFromFile(args.remove)
worldModif.undoAllModification()