返回提交历史
Modified
build.gradle
+12
-1
Modified
gradle.properties
+1
-1
Modified
src/main/java/com/xfestudio/mydimension/client/RiftActionScreen.java
+17
-16
Modified
src/main/java/com/xfestudio/mydimension/item/RiftAction.java
+5
-0
Modified
src/main/java/com/xfestudio/mydimension/item/RiftItem.java
+56
-6
Modified
src/main/java/com/xfestudio/mydimension/world/ModDimensions.java
+16
-3
Modified
src/main/resources/assets/mydimension/lang/en_us.json
+6
-0
Modified
src/main/resources/assets/mydimension/lang/zh_cn.json
+6
-0
Modified
src/main/resources/data/mydimension/dimension/nature_mind.json
+1
-1
Added
src/main/resources/data/mydimension/dimension/soaring_mind.json
+11
-0
Added
src/main/resources/data/mydimension/dimension_type/soaring_mind.json
+25
-0
Modified
src/main/resources/data/mydimension/worldgen/biome/nature_mind.json
+23
-2
XFEstudio/MyDimension
新增翱翔心境 优化自然心境的地形生成
ee49262
代码差异
12 个文件
+179
-30
@@ -109,7 +109,7 @@ tasks.register('generatePlayerMindDimensions') {
109
109
type : 'minecraft:flat',
110
110
settings: [
111
111
biome : 'mydimension:nature_mind',
112
features : false,
112
features : true,
113
113
lakes : false,
114
114
layers : [
115
115
[block: 'minecraft:stone', height: 50],
@@ -119,6 +119,17 @@ tasks.register('generatePlayerMindDimensions') {
119
119
structure_overrides: []
120
120
]
121
121
]
122
],
123
soaring_mind : [
124
type : 'mydimension:soaring_mind',
125
generator: [
126
type : 'mydimension:no_structure_noise',
127
biome_source: [
128
type : 'minecraft:multi_noise',
129
preset: 'minecraft:overworld'
130
],
131
settings : 'minecraft:floating_islands'
132
]
122
133
]
123
134
]
124
135
@@ -11,7 +11,7 @@ loader_version_range=[47,)
11
11
mod_id=mydimension
12
12
mod_name=\u6211\u7684\u7ef4\u5ea6
13
13
mod_license=CC0-1.0
14
mod_version=2.0.2
14
mod_version=2.1.0
15
15
mod_group_id=com.xfestudio.mydimension
16
16
maven_group=com.xfestudio
17
17
archives_base_name=mydimension
@@ -47,9 +47,9 @@ public class RiftActionScreen extends Screen {
47
47
int centerX = width / 2;
48
48
int centerY = height / 2;
49
49
addTabs(centerX, centerY - 108);
50
addActionGrid(currentActions(), centerY - 32);
50
addActionGrid(currentActions(), centerY - 36);
51
51
if (inMindDimension) {
52
addCenteredActionButton(RiftAction.SET_ANCHOR, centerY + 78);
52
addCenteredActionButton(RiftAction.SET_ANCHOR, centerY + 88);
53
53
}
54
54
}
55
55
@@ -88,21 +88,22 @@ public class RiftActionScreen extends Screen {
88
88
89
89
private RiftAction[] currentActions() {
90
90
return switch (page) {
91
case TRAVEL_PRIVATE -> new RiftAction[] {RiftAction.ETHEREAL_MIND, RiftAction.MIRROR_MIND, RiftAction.WATER_MIND, RiftAction.NATURE_MIND};
92
case TRAVEL_SHARED -> new RiftAction[] {RiftAction.SHARED_ETHEREAL_MIND, RiftAction.SHARED_MIRROR_MIND, RiftAction.SHARED_WATER_MIND, RiftAction.SHARED_NATURE_MIND};
93
case MOB_PRIVATE -> new RiftAction[] {RiftAction.SEND_MOB_ETHEREAL, RiftAction.SEND_MOB_MIRROR, RiftAction.SEND_MOB_WATER, RiftAction.SEND_MOB_NATURE};
94
case MOB_SHARED -> new RiftAction[] {RiftAction.SEND_MOB_SHARED_ETHEREAL, RiftAction.SEND_MOB_SHARED_MIRROR, RiftAction.SEND_MOB_SHARED_WATER, RiftAction.SEND_MOB_SHARED_NATURE};
95
case COPY_SHARED -> new RiftAction[] {RiftAction.COPY_SHARED_ETHEREAL, RiftAction.COPY_SHARED_MIRROR, RiftAction.COPY_SHARED_WATER, RiftAction.COPY_SHARED_NATURE};
91
case TRAVEL_PRIVATE -> new RiftAction[] {RiftAction.ETHEREAL_MIND, RiftAction.MIRROR_MIND, RiftAction.WATER_MIND, RiftAction.NATURE_MIND, RiftAction.SOARING_MIND};
92
case TRAVEL_SHARED -> new RiftAction[] {RiftAction.SHARED_ETHEREAL_MIND, RiftAction.SHARED_MIRROR_MIND, RiftAction.SHARED_WATER_MIND, RiftAction.SHARED_NATURE_MIND, RiftAction.SHARED_SOARING_MIND};
93
case MOB_PRIVATE -> new RiftAction[] {RiftAction.SEND_MOB_ETHEREAL, RiftAction.SEND_MOB_MIRROR, RiftAction.SEND_MOB_WATER, RiftAction.SEND_MOB_NATURE, RiftAction.SEND_MOB_SOARING};
94
case MOB_SHARED -> new RiftAction[] {RiftAction.SEND_MOB_SHARED_ETHEREAL, RiftAction.SEND_MOB_SHARED_MIRROR, RiftAction.SEND_MOB_SHARED_WATER, RiftAction.SEND_MOB_SHARED_NATURE, RiftAction.SEND_MOB_SHARED_SOARING};
95
case COPY_SHARED -> new RiftAction[] {RiftAction.COPY_SHARED_ETHEREAL, RiftAction.COPY_SHARED_MIRROR, RiftAction.COPY_SHARED_WATER, RiftAction.COPY_SHARED_NATURE, RiftAction.COPY_SHARED_SOARING};
96
96
};
97
97
}
98
98
99
99
private void addActionGrid(RiftAction[] actions, int top) {
100
int buttonWidth = rowButtonWidth(2);
101
int totalWidth = buttonWidth * 2 + BUTTON_GAP;
100
int columns = 3;
101
int buttonWidth = rowButtonWidth(columns);
102
int totalWidth = buttonWidth * columns + BUTTON_GAP * (columns - 1);
102
103
int left = width / 2 - totalWidth / 2;
103
104
for (int i = 0; i < actions.length; i++) {
104
int x = left + (i % 2) * (buttonWidth + BUTTON_GAP);
105
int y = top + (i / 2) * 42;
105
int x = left + (i % columns) * (buttonWidth + BUTTON_GAP);
106
int y = top + (i / columns) * 42;
106
107
addRenderableWidget(new ActionButton(x, y, buttonWidth, actions[i], getSelectedAction() == actions[i]));
107
108
}
108
109
}
@@ -115,21 +116,21 @@ public class RiftActionScreen extends Screen {
115
116
private int rowButtonWidth(int columns) {
116
117
int available = Math.max(96, width - 64);
117
118
int maxByWidth = (available - (columns - 1) * BUTTON_GAP) / columns;
118
return Mth.clamp(maxByWidth, 116, 178);
119
return Mth.clamp(maxByWidth, 64, 150);
119
120
}
120
121
121
122
private void renderCenterPanel(GuiGraphics graphics) {
122
123
int centerX = width / 2;
123
124
int centerY = height / 2;
124
int left = centerX - 120;
125
int left = centerX - 180;
125
126
int top = centerY - 72;
126
int right = centerX + 120;
127
int bottom = centerY + 64;
127
int right = centerX + 180;
128
int bottom = centerY + 72;
128
129
129
130
fillRoundedRect(graphics, left, top, right, bottom, 7, 0x99060A12);
130
131
drawRoundedBorder(graphics, left, top, right, bottom, 7, 0xFF85D6F7);
131
132
graphics.drawCenteredString(font, title, centerX, centerY - 61, 0xFFEAFBFF);
132
graphics.drawCenteredString(font, page.title(), centerX, centerY + 43, page == Page.COPY_SHARED ? 0xFFB8FFD2 : 0xFF9DDBFF);
133
graphics.drawCenteredString(font, page.title(), centerX, centerY + 52, page == Page.COPY_SHARED ? 0xFFB8FFD2 : 0xFF9DDBFF);
133
134
}
134
135
135
136
private RiftAction getSelectedAction() {
@@ -12,22 +12,27 @@ public enum RiftAction {
12
12
MIRROR_MIND("mirror_mind", "action.mydimension.mirror_mind", ModDimensions.MIRROR_MIND, false, false, false),
13
13
WATER_MIND("water_mind", "action.mydimension.water_mind", ModDimensions.WATER_MIND, false, false, false),
14
14
NATURE_MIND("nature_mind", "action.mydimension.nature_mind", ModDimensions.NATURE_MIND, false, false, false),
15
SOARING_MIND("soaring_mind", "action.mydimension.soaring_mind", ModDimensions.SOARING_MIND, false, false, false),
15
16
SHARED_ETHEREAL_MIND("shared_ethereal_mind", "action.mydimension.shared_ethereal_mind", ModDimensions.ETHEREAL_MIND, false, true, false),
16
17
SHARED_MIRROR_MIND("shared_mirror_mind", "action.mydimension.shared_mirror_mind", ModDimensions.MIRROR_MIND, false, true, false),
17
18
SHARED_WATER_MIND("shared_water_mind", "action.mydimension.shared_water_mind", ModDimensions.WATER_MIND, false, true, false),
18
19
SHARED_NATURE_MIND("shared_nature_mind", "action.mydimension.shared_nature_mind", ModDimensions.NATURE_MIND, false, true, false),
20
SHARED_SOARING_MIND("shared_soaring_mind", "action.mydimension.shared_soaring_mind", ModDimensions.SOARING_MIND, false, true, false),
19
21
SEND_MOB_ETHEREAL("send_mob_ethereal", "action.mydimension.send_mob_ethereal", ModDimensions.ETHEREAL_MIND, true, false, false),
20
22
SEND_MOB_MIRROR("send_mob_mirror", "action.mydimension.send_mob_mirror", ModDimensions.MIRROR_MIND, true, false, false),
21
23
SEND_MOB_WATER("send_mob_water", "action.mydimension.send_mob_water", ModDimensions.WATER_MIND, true, false, false),
22
24
SEND_MOB_NATURE("send_mob_nature", "action.mydimension.send_mob_nature", ModDimensions.NATURE_MIND, true, false, false),
25
SEND_MOB_SOARING("send_mob_soaring", "action.mydimension.send_mob_soaring", ModDimensions.SOARING_MIND, true, false, false),
23
26
SEND_MOB_SHARED_ETHEREAL("send_mob_shared_ethereal", "action.mydimension.send_mob_shared_ethereal", ModDimensions.ETHEREAL_MIND, true, true, false),
24
27
SEND_MOB_SHARED_MIRROR("send_mob_shared_mirror", "action.mydimension.send_mob_shared_mirror", ModDimensions.MIRROR_MIND, true, true, false),
25
28
SEND_MOB_SHARED_WATER("send_mob_shared_water", "action.mydimension.send_mob_shared_water", ModDimensions.WATER_MIND, true, true, false),
26
29
SEND_MOB_SHARED_NATURE("send_mob_shared_nature", "action.mydimension.send_mob_shared_nature", ModDimensions.NATURE_MIND, true, true, false),
30
SEND_MOB_SHARED_SOARING("send_mob_shared_soaring", "action.mydimension.send_mob_shared_soaring", ModDimensions.SOARING_MIND, true, true, false),
27
31
COPY_SHARED_ETHEREAL("copy_shared_ethereal", "action.mydimension.copy_shared_ethereal", ModDimensions.ETHEREAL_MIND, false, false, true),
28
32
COPY_SHARED_MIRROR("copy_shared_mirror", "action.mydimension.copy_shared_mirror", ModDimensions.MIRROR_MIND, false, false, true),
29
33
COPY_SHARED_WATER("copy_shared_water", "action.mydimension.copy_shared_water", ModDimensions.WATER_MIND, false, false, true),
30
34
COPY_SHARED_NATURE("copy_shared_nature", "action.mydimension.copy_shared_nature", ModDimensions.NATURE_MIND, false, false, true),
35
COPY_SHARED_SOARING("copy_shared_soaring", "action.mydimension.copy_shared_soaring", ModDimensions.SOARING_MIND, false, false, true),
31
36
SET_ANCHOR("set_anchor", "action.mydimension.set_anchor", null, false, false, false);
32
37
33
38
private final String id;
@@ -162,7 +162,10 @@ public class RiftItem extends Item {
162
162
163
163
double x = player.getX();
164
164
double z = player.getZ();
165
double y = returningFromSelectedMind ? overworldSpawnY(targetLevel) : safeEntryY(targetLevel, actualTargetDimension, x, z);
165
EntryPoint entryPoint = returningFromSelectedMind ? new EntryPoint(x, overworldSpawnY(targetLevel), z) : safeEntryPoint(targetLevel, actualTargetDimension, x, z);
166
x = entryPoint.x();
167
double y = entryPoint.y();
168
z = entryPoint.z();
166
169
float yRot = player.getYRot();
167
170
float xRot = player.getXRot();
168
171
@@ -208,14 +211,57 @@ public class RiftItem extends Item {
208
211
}
209
212
210
213
private static double safeEntryY(ServerLevel level, ResourceKey<Level> dimension, double x, double z) {
214
return safeEntryPoint(level, dimension, x, z).y();
215
}
216
217
private static EntryPoint safeEntryPoint(ServerLevel level, ResourceKey<Level> dimension, double x, double z) {
211
218
int blockX = (int) Math.floor(x);
212
219
int blockZ = (int) Math.floor(z);
213
220
int height = level.getHeight(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, blockX, blockZ);
214
221
if (height > level.getMinBuildHeight()) {
215
return height + 1.0D;
222
return new EntryPoint(x, height + 1.0D, z);
223
}
224
225
if (ModDimensions.SOARING_MIND.equals(ModDimensions.baseMindDimension(dimension))) {
226
EntryPoint nearby = findNearbySurface(level, blockX, blockZ);
227
if (nearby != null) {
228
return nearby;
229
}
216
230
}
217
231
218
return ModDimensions.entryHeight(dimension);
232
return new EntryPoint(x, ModDimensions.entryHeight(dimension), z);
233
}
234
235
private static EntryPoint findNearbySurface(ServerLevel level, int centerX, int centerZ) {
236
for (int radius = 8; radius <= 128; radius += 8) {
237
EntryPoint best = null;
238
int bestDistance = Integer.MAX_VALUE;
239
for (int dx = -radius; dx <= radius; dx += 8) {
240
for (int dz = -radius; dz <= radius; dz += 8) {
241
if (Math.abs(dx) != radius && Math.abs(dz) != radius) {
242
continue;
243
}
244
245
int x = centerX + dx;
246
int z = centerZ + dz;
247
int height = level.getHeight(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, x, z);
248
if (height <= level.getMinBuildHeight()) {
249
continue;
250
}
251
252
int distance = dx * dx + dz * dz;
253
if (distance < bestDistance) {
254
bestDistance = distance;
255
best = new EntryPoint(x + 0.5D, height + 1.0D, z + 0.5D);
256
}
257
}
258
}
259
if (best != null) {
260
return best;
261
}
262
}
263
264
return null;
219
265
}
220
266
221
267
public static boolean sendToMind(ServerPlayer player, LivingEntity target, ItemStack stack, RiftAction action) {
@@ -232,9 +278,10 @@ public class RiftItem extends Item {
232
278
target.ejectPassengers();
233
279
234
280
AnchorPoint anchor = readAnchor(player, actualTargetDimension);
235
double targetX = anchor != null ? anchor.x() : player.getX();
236
double targetY = anchor != null ? anchor.y() : safeEntryY(targetLevel, actualTargetDimension, targetX, player.getZ());
237
double targetZ = anchor != null ? anchor.z() : player.getZ();
281
EntryPoint targetEntryPoint = safeEntryPoint(targetLevel, actualTargetDimension, player.getX(), player.getZ());
282
double targetX = anchor != null ? anchor.x() : targetEntryPoint.x();
283
double targetY = anchor != null ? anchor.y() : targetEntryPoint.y();
284
double targetZ = anchor != null ? anchor.z() : targetEntryPoint.z();
238
285
239
286
if (target.level().dimension().equals(actualTargetDimension)) {
240
287
player.displayClientMessage(Component.translatable("message.mydimension.already_in_target_mind"), true);
@@ -492,6 +539,9 @@ public class RiftItem extends Item {
492
539
private record ReturnPoint(ResourceKey<Level> dimension, double x, double y, double z, float yRot, float xRot) {
493
540
}
494
541
542
private record EntryPoint(double x, double y, double z) {
543
}
544
495
545
public record AnchorPoint(ResourceKey<Level> dimension, double x, double y, double z) {
496
546
}
497
547
@@ -51,25 +51,38 @@ public class ModDimensions {
51
51
new ResourceLocation(MyDimension.MOD_ID, "nature_mind")
52
52
);
53
53
54
public static final ResourceKey<Level> SOARING_MIND = ResourceKey.create(
55
Registries.DIMENSION,
56
new ResourceLocation(MyDimension.MOD_ID, "soaring_mind")
57
);
58
59
public static final ResourceKey<DimensionType> SOARING_MIND_TYPE = ResourceKey.create(
60
Registries.DIMENSION_TYPE,
61
new ResourceLocation(MyDimension.MOD_ID, "soaring_mind")
62
);
63
54
64
private static final Set<ResourceKey<Level>> MIND_DIMENSIONS = Set.of(
55
65
ETHEREAL_MIND,
56
66
MIRROR_MIND,
57
67
WATER_MIND,
58
NATURE_MIND
68
NATURE_MIND,
69
SOARING_MIND
59
70
);
60
71
61
72
private static final Map<ResourceKey<Level>, Double> ENTRY_HEIGHTS = Map.of(
62
73
ETHEREAL_MIND, 66.0D,
63
74
MIRROR_MIND, 80.0D,
64
75
WATER_MIND, 76.0D,
65
NATURE_MIND, 61.0D
76
NATURE_MIND, 61.0D,
77
SOARING_MIND, 128.0D
66
78
);
67
79
68
80
private static final Map<String, ResourceKey<Level>> MIND_IDS = Map.of(
69
81
"ethereal_mind", ETHEREAL_MIND,
70
82
"mirror_mind", MIRROR_MIND,
71
83
"water_mind", WATER_MIND,
72
"nature_mind", NATURE_MIND
84
"nature_mind", NATURE_MIND,
85
"soaring_mind", SOARING_MIND
73
86
);
74
87
75
88
public static boolean isMindDimension(ResourceKey<Level> dimension) {
@@ -4,6 +4,7 @@
4
4
"dimension.mydimension.mirror_mind": "Mirror Mind",
5
5
"dimension.mydimension.water_mind": "Water Mind",
6
6
"dimension.mydimension.nature_mind": "Nature Mind",
7
"dimension.mydimension.soaring_mind": "Soaring Mind",
7
8
"screen.mydimension.rift_actions": "Rift",
8
9
"screen.mydimension.rift_actions.travel": "Travel",
9
10
"screen.mydimension.rift_actions.mob": "Send Mob",
@@ -20,22 +21,27 @@
20
21
"action.mydimension.mirror_mind": "Go to Mirror Mind",
21
22
"action.mydimension.water_mind": "Go to Water Mind",
22
23
"action.mydimension.nature_mind": "Go to Nature Mind",
24
"action.mydimension.soaring_mind": "Go to Soaring Mind",
23
25
"action.mydimension.shared_ethereal_mind": "Go to Shared Ethereal",
24
26
"action.mydimension.shared_mirror_mind": "Go to Shared Mirror",
25
27
"action.mydimension.shared_water_mind": "Go to Shared Water",
26
28
"action.mydimension.shared_nature_mind": "Go to Shared Nature",
29
"action.mydimension.shared_soaring_mind": "Go to Shared Soaring",
27
30
"action.mydimension.send_mob_ethereal": "Send Mob to Ethereal",
28
31
"action.mydimension.send_mob_mirror": "Send Mob to Mirror",
29
32
"action.mydimension.send_mob_water": "Send Mob to Water",
30
33
"action.mydimension.send_mob_nature": "Send Mob to Nature",
34
"action.mydimension.send_mob_soaring": "Send Mob to Soaring",
31
35
"action.mydimension.send_mob_shared_ethereal": "Send Mob to Shared Ethereal",
32
36
"action.mydimension.send_mob_shared_mirror": "Send Mob to Shared Mirror",
33
37
"action.mydimension.send_mob_shared_water": "Send Mob to Shared Water",
34
38
"action.mydimension.send_mob_shared_nature": "Send Mob to Shared Nature",
39
"action.mydimension.send_mob_shared_soaring": "Send Mob to Shared Soaring",
35
40
"action.mydimension.copy_shared_ethereal": "Copy Shared Ethereal",
36
41
"action.mydimension.copy_shared_mirror": "Copy Shared Mirror",
37
42
"action.mydimension.copy_shared_water": "Copy Shared Water",
38
43
"action.mydimension.copy_shared_nature": "Copy Shared Nature",
44
"action.mydimension.copy_shared_soaring": "Copy Shared Soaring",
39
45
"action.mydimension.set_anchor": "Set Teleport Anchor",
40
46
"message.mydimension.already_in_target_mind": "That mob is already in the target mind dimension",
41
47
"message.mydimension.anchor_only_mind": "Teleport anchors can only be set in mind dimensions",
@@ -4,6 +4,7 @@
4
4
"dimension.mydimension.mirror_mind": "镜之心境",
5
5
"dimension.mydimension.water_mind": "水之心境",
6
6
"dimension.mydimension.nature_mind": "自然心境",
7
"dimension.mydimension.soaring_mind": "翱翔心境",
7
8
"screen.mydimension.rift_actions": "裂罅",
8
9
"screen.mydimension.rift_actions.travel": "前往心境",
9
10
"screen.mydimension.rift_actions.mob": "传送生物",
@@ -20,22 +21,27 @@
20
21
"action.mydimension.mirror_mind": "前往镜之心境",
21
22
"action.mydimension.water_mind": "前往水之心境",
22
23
"action.mydimension.nature_mind": "前往自然心境",
24
"action.mydimension.soaring_mind": "前往翱翔心境",
23
25
"action.mydimension.shared_ethereal_mind": "前往共享空灵",
24
26
"action.mydimension.shared_mirror_mind": "前往共享镜",
25
27
"action.mydimension.shared_water_mind": "前往共享水",
26
28
"action.mydimension.shared_nature_mind": "前往共享自然",
29
"action.mydimension.shared_soaring_mind": "前往共享翱翔",
27
30
"action.mydimension.send_mob_ethereal": "传送生物到空灵",
28
31
"action.mydimension.send_mob_mirror": "传送生物到镜",
29
32
"action.mydimension.send_mob_water": "传送生物到水",
30
33
"action.mydimension.send_mob_nature": "传送生物到自然",
34
"action.mydimension.send_mob_soaring": "传送生物到翱翔",
31
35
"action.mydimension.send_mob_shared_ethereal": "传送生物到共享空灵",
32
36
"action.mydimension.send_mob_shared_mirror": "传送生物到共享镜",
33
37
"action.mydimension.send_mob_shared_water": "传送生物到共享水",
34
38
"action.mydimension.send_mob_shared_nature": "传送生物到共享自然",
39
"action.mydimension.send_mob_shared_soaring": "传送生物到共享翱翔",
35
40
"action.mydimension.copy_shared_ethereal": "复制公共空灵",
36
41
"action.mydimension.copy_shared_mirror": "复制公共镜",
37
42
"action.mydimension.copy_shared_water": "复制公共水",
38
43
"action.mydimension.copy_shared_nature": "复制公共自然",
44
"action.mydimension.copy_shared_soaring": "复制公共翱翔",
39
45
"action.mydimension.set_anchor": "设置传送锚点",
40
46
"message.mydimension.already_in_target_mind": "该生物已经在目标心境中",
41
47
"message.mydimension.anchor_only_mind": "只能在心境维度中设置传送锚点",
@@ -4,7 +4,7 @@
4
4
"type": "minecraft:flat",
5
5
"settings": {
6
6
"biome": "mydimension:nature_mind",
7
"features": false,
7
"features": true,
8
8
"lakes": false,
9
9
"layers": [
10
10
{
@@ -0,0 +1,11 @@
1
{
2
"type": "mydimension:soaring_mind",
3
"generator": {
4
"type": "mydimension:no_structure_noise",
5
"biome_source": {
6
"type": "minecraft:multi_noise",
7
"preset": "minecraft:overworld"
8
},
9
"settings": "minecraft:floating_islands"
10
}
11
}
@@ -0,0 +1,25 @@
1
{
2
"ambient_light": 0.0,
3
"bed_works": true,
4
"coordinate_scale": 1.0,
5
"effects": "minecraft:overworld",
6
"has_ceiling": false,
7
"has_raids": false,
8
"has_skylight": true,
9
"height": 256,
10
"infiniburn": "#minecraft:infiniburn_overworld",
11
"logical_height": 256,
12
"min_y": 0,
13
"monster_spawn_block_light_limit": 0,
14
"monster_spawn_light_level": {
15
"type": "minecraft:uniform",
16
"value": {
17
"max_inclusive": 0,
18
"min_inclusive": 0
19
}
20
},
21
"natural": true,
22
"piglin_safe": false,
23
"respawn_anchor_works": false,
24
"ultrawarm": false
25
}
@@ -1,6 +1,6 @@
1
1
{
2
2
"temperature": 0.8,
3
"downfall": 0.4,
3
"downfall": 0.5,
4
4
"has_precipitation": true,
5
5
"effects": {
6
6
"sky_color": 7907327,
@@ -22,5 +22,26 @@
22
22
},
23
23
"spawn_costs": {},
24
24
"carvers": {},
25
"features": []
25
"features": [
26
[],
27
[],
28
[],
29
[],
30
[],
31
[],
32
[],
33
[],
34
[],
35
[
36
"minecraft:trees_plains",
37
"minecraft:flower_plains",
38
"minecraft:patch_grass_plain",
39
"minecraft:patch_tall_grass_2",
40
"minecraft:brown_mushroom_normal",
41
"minecraft:red_mushroom_normal",
42
"minecraft:patch_sugar_cane",
43
"minecraft:patch_pumpkin"
44
],
45
[]
46
]
26
47
}