Skip to content

Commit 4f3249c

Browse files
committed
Fix config tooltips and release 4.0.4
1 parent 3bfe589 commit 4f3249c

26 files changed

Lines changed: 1192 additions & 58 deletions

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ mod_name=MMD OreSpawn
3030
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
3131
mod_license=LGPL-2.1
3232
# The mod version. See https://semver.org/
33-
mod_version=4.0.3
33+
mod_version=4.0.4
3434
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
3535
# This should match the base package used for the mod sources.
3636
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html

src/main/java/zone/moddev/mc/orespawn/client/BiomePlacementScreen.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ protected void init() {
5757
left, 64, contentWidth, 20,
5858
Component.translatable("option.orespawn.enabled"),
5959
(button, value) -> placement.addProperty("enabled", value)),
60-
"guide.orespawn.biomes.1"));
60+
"tooltip.orespawn.enabled"));
6161
if (tab == Tab.PLACEMENT) initPlacement(left, half, placement);
6262
else if (tab == Tab.CLIMATE) initClimate(left, half, placement);
6363
else initSurface(left, contentWidth, placement);
@@ -73,7 +73,7 @@ protected void init() {
7373
private void initPlacement(int left, int half, JsonObject placement) {
7474
int y = 90;
7575
weight = field(left + half + 5, y, half, decimal(placement, "weight", 1.0D));
76-
OreSpawnScreenLayout.explain(weight, "guide.orespawn.biomes.3");
76+
OreSpawnScreenLayout.explain(weight, "tooltip.orespawn.weight");
7777
label(left, y + 6, half, "option.orespawn.weight");
7878
y += 28;
7979
addRenderableWidget(OreSpawnScreenLayout.explain(OreSpawnScreenLayout.button(
@@ -82,36 +82,36 @@ private void initPlacement(int left, int half, JsonObject placement) {
8282
array(placement, "similar_biomes").size()),
8383
button -> { saveFields(); minecraft.setScreen(new BiomeReferenceScreen(
8484
this, session, placement, "similar_biomes")); }),
85-
"guide.orespawn.biomes.3"));
85+
"tooltip.orespawn.biome.similar_biomes"));
8686
addRenderableWidget(OreSpawnScreenLayout.explain(OreSpawnScreenLayout.button(
8787
this, font, left + half + 5, y,
8888
half, 20, Component.translatable("button.orespawn.required_biomes",
8989
array(placement, "required_similar_biomes").size()),
9090
button -> { saveFields(); minecraft.setScreen(new BiomeReferenceScreen(
9191
this, session, placement, "required_similar_biomes")); }),
92-
"guide.orespawn.biomes.3"));
92+
"tooltip.orespawn.biome.required_similar_biomes"));
9393
}
9494

9595
private void initClimate(int left, int half, JsonObject placement) {
9696
int y = 90;
9797
minTemperature = field(left + half + 5, y, half,
9898
decimal(placement, "min_temperature", -2.0D));
99-
OreSpawnScreenLayout.explain(minTemperature, "guide.orespawn.biomes.3");
99+
OreSpawnScreenLayout.explain(minTemperature, "tooltip.orespawn.biome.min_temperature");
100100
label(left, y + 6, half, "option.orespawn.min_temperature");
101101
y += 24;
102102
maxTemperature = field(left + half + 5, y, half,
103103
decimal(placement, "max_temperature", 2.0D));
104-
OreSpawnScreenLayout.explain(maxTemperature, "guide.orespawn.biomes.3");
104+
OreSpawnScreenLayout.explain(maxTemperature, "tooltip.orespawn.biome.max_temperature");
105105
label(left, y + 6, half, "option.orespawn.max_temperature");
106106
y += 24;
107107
minDownfall = field(left + half + 5, y, half,
108108
decimal(placement, "min_downfall", 0.0D));
109-
OreSpawnScreenLayout.explain(minDownfall, "guide.orespawn.biomes.3");
109+
OreSpawnScreenLayout.explain(minDownfall, "tooltip.orespawn.biome.min_downfall");
110110
label(left, y + 6, half, "option.orespawn.min_downfall");
111111
y += 24;
112112
maxDownfall = field(left + half + 5, y, half,
113113
decimal(placement, "max_downfall", 1.0D));
114-
OreSpawnScreenLayout.explain(maxDownfall, "guide.orespawn.biomes.3");
114+
OreSpawnScreenLayout.explain(maxDownfall, "tooltip.orespawn.biome.max_downfall");
115115
label(left, y + 6, half, "option.orespawn.max_downfall");
116116
}
117117

@@ -127,7 +127,7 @@ private void initSurface(int left, int width, JsonObject placement) {
127127
saveFields();
128128
minecraft.setScreen(new MaterialBlockPickerScreen(this, session,
129129
false, id -> surface.addProperty(key, id)));
130-
}), "guide.orespawn.biomes.3"));
130+
}), "tooltip.orespawn.biome." + key));
131131
Button clear = addRenderableWidget(OreSpawnScreenLayout.plainButton(
132132
left + width - 60, y, 60, 20,
133133
Component.translatable("button.orespawn.clear"),
@@ -137,7 +137,7 @@ private void initSurface(int left, int width, JsonObject placement) {
137137
}
138138
fillerDepth = field(left + width / 2, y, width / 2,
139139
integer(surface, "filler_depth", 3));
140-
OreSpawnScreenLayout.explain(fillerDepth, "guide.orespawn.biomes.3");
140+
OreSpawnScreenLayout.explain(fillerDepth, "tooltip.orespawn.biome.filler_depth");
141141
label(left, y + 6, width / 2 - 5, "option.orespawn.filler_depth");
142142
}
143143

src/main/java/zone/moddev/mc/orespawn/client/BiomeWorldMaterialsScreen.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@ protected void init() {
3535
addRenderableWidget(CycleButton.builder(this::dimensionName, dimension)
3636
.withValues(dimensions)
3737
.withTooltip(value -> net.minecraft.client.gui.components.Tooltip.create(
38-
Component.literal(value)))
38+
OreSpawnScreenLayout.tooltip(Arrays.asList(
39+
Component.literal(value),
40+
Component.translatable("tooltip.orespawn.biome.dimension")))))
3941
.create(left, 34, contentWidth, 20,
4042
Component.translatable("option.orespawn.dimension"),
4143
(button, value) -> { dimension = value; rebuildWidgets(); }));
@@ -48,30 +50,30 @@ protected void init() {
4850
int y = 64;
4951
addRenderableWidget(CycleButton.onOffBuilder(active)
5052
.withTooltip(value -> net.minecraft.client.gui.components.Tooltip.create(
51-
Component.translatable("guide.orespawn.biomes.1")))
53+
Component.translatable("tooltip.orespawn.biome.palette_enabled")))
5254
.create(left, y, contentWidth, 20,
5355
Component.translatable("option.orespawn.biome_palette"),
5456
(button, value) -> setPaletteEnabled(value)));
5557
y += 26;
5658
addRenderableWidget(CycleButton.builder(this::modeName, mode)
5759
.withValues(Arrays.asList("augment", "replace"))
5860
.withTooltip(value -> net.minecraft.client.gui.components.Tooltip.create(
59-
Component.translatable("guide.orespawn.biomes.1")))
61+
Component.translatable("tooltip.orespawn.biome.mode")))
6062
.create(left, y, half, 20,
6163
Component.translatable("option.orespawn.biome_mode"),
6264
(button, value) -> setPalette("mode", value)));
6365
addRenderableWidget(CycleButton.builder(this::scopeName, scope)
6466
.withValues(Arrays.asList("all", "minecraft_only", "selected_namespaces"))
6567
.withTooltip(value -> net.minecraft.client.gui.components.Tooltip.create(
66-
Component.translatable("guide.orespawn.biomes.2")))
68+
Component.translatable("tooltip.orespawn.biome.scope")))
6769
.create(left + half + 5, y, half, 20,
6870
Component.translatable("option.orespawn.biome_scope"),
6971
(button, value) -> setPalette("scope", value)));
7072
y += 26;
7173
addRenderableWidget(CycleButton.builder(this::regionName, size)
7274
.withValues(Arrays.asList("tiny", "small", "average", "large", "huge"))
7375
.withTooltip(value -> net.minecraft.client.gui.components.Tooltip.create(
74-
Component.translatable("guide.orespawn.biomes.3")))
76+
Component.translatable("tooltip.orespawn.biome.region_size")))
7577
.create(left, y, contentWidth, 20,
7678
Component.translatable("option.orespawn.biome_region_size"),
7779
(button, value) -> setPalette("region_size", value)));
@@ -81,18 +83,18 @@ protected void init() {
8183
Component.translatable("button.orespawn.biome_palette_count",
8284
session.biomePlacementIds(dimension).size()),
8385
button -> minecraft.setScreen(new BiomePaletteScreen(this, session, dimension))),
84-
"guide.orespawn.biomes.3"));
86+
"tooltip.orespawn.biome.entries"));
8587
addRenderableWidget(OreSpawnScreenLayout.explain(OreSpawnScreenLayout.button(
8688
this, font, left + half + 5, y, half, 20,
8789
Component.translatable("button.orespawn.dimension_materials"),
8890
button -> minecraft.setScreen(new DimensionMaterialsScreen(this, session, dimension))),
89-
"guide.orespawn.materials.1"));
91+
"tooltip.orespawn.biome.dimension_materials"));
9092
y += 26;
9193
addRenderableWidget(OreSpawnScreenLayout.explain(OreSpawnScreenLayout.button(
9294
this, font, left, y, contentWidth, 20,
9395
Component.translatable("button.orespawn.geome_influences"),
9496
button -> minecraft.setScreen(new GeomeBiomeScreen(this, session))),
95-
"guide.orespawn.rocks.1"));
97+
"tooltip.orespawn.biome.geome_influences"));
9698
addRenderableWidget(OreSpawnScreenLayout.plainButton(width / 2 - 75, OreSpawnScreenLayout.footerY(height),
9799
150, 20, CommonComponents.GUI_DONE, button -> onClose()));
98100
}

src/main/java/zone/moddev/mc/orespawn/client/DimensionMaterialsScreen.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ protected void init() {
3333
deepY = addRenderableWidget(new EditBox(font, left + contentWidth / 2, y,
3434
contentWidth / 2, 20, Component.translatable("option.orespawn.deep_aquifer_y")));
3535
deepY.setValue(Integer.toString(integer(materials, "deep_aquifer_max_y", -54)));
36-
OreSpawnScreenLayout.explain(deepY, "guide.orespawn.materials.2");
36+
OreSpawnScreenLayout.explain(deepY, "tooltip.orespawn.material.deep_aquifer_y");
3737
Button deepLabel = addRenderableWidget(OreSpawnScreenLayout.plainButton(
3838
left, y, contentWidth / 2 - 5, 20,
3939
Component.translatable("option.orespawn.deep_aquifer_y"), button -> { }));
@@ -66,11 +66,7 @@ private int materialRow(int left, int y, int width, JsonObject materials,
6666
}
6767

6868
private static String materialHelp(String key) {
69-
return switch (key) {
70-
case "default_fluid", "deep_aquifer_fluid" -> "guide.orespawn.materials.2";
71-
case "snow_block", "ice_block" -> "guide.orespawn.materials.3";
72-
default -> "guide.orespawn.materials.1";
73-
};
69+
return "tooltip.orespawn.material." + key;
7470
}
7571

7672
private Component label(String key, String value) {

src/main/java/zone/moddev/mc/orespawn/client/FluidDepositDimensionScreen.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ protected void init() {
9292
CycleButton.onOffBuilder(enabled).create(left, 42, columnWidth, 20,
9393
Component.translatable("option.orespawn.enabled"),
9494
(button, value) -> enabled = value),
95-
"guide.orespawn.fluids.1"));
95+
"tooltip.orespawn.enabled"));
9696
addRenderableWidget(OreSpawnScreenLayout.button(this, font, right, 42, columnWidth, 20,
9797
Component.translatable("button.orespawn.remove_dimension"), button -> removeDimension()));
9898
int tabWidth = (contentWidth - 10) / 3;
@@ -128,7 +128,7 @@ protected void init() {
128128
Component.translatable("value.orespawn.family." + family.configName),
129129
(button, selected) -> {
130130
if (selected) families.add(family); else families.remove(family);
131-
}), "guide.orespawn.fluids.3")));
131+
}), "tooltip.orespawn.host_family")));
132132
}
133133

134134
biomeIds = biomeField(0, "biome_ids", join(rule.get("biome_ids"), ""));
@@ -139,7 +139,7 @@ protected void init() {
139139
Button weights = addRenderableWidget(OreSpawnScreenLayout.button(this, font, left, 180,
140140
contentWidth, 20, Component.translatable("button.orespawn.geome_weights"),
141141
button -> openWeights()));
142-
OreSpawnScreenLayout.explain(weights, "guide.orespawn.fluids.3");
142+
OreSpawnScreenLayout.explain(weights, "tooltip.orespawn.geome_weights");
143143
weights.active = "minecraft:overworld".equals(dimensionId) && !session.geomeIds().isEmpty();
144144
biomeWidgets.add(weights);
145145

@@ -166,7 +166,7 @@ private EditBox hostField(int index, String key, String value) {
166166
int x = index == 0 ? left : left + columnWidth + 5;
167167
EditBox box = new EditBox(font, x, 106, columnWidth, 20, Component.literal(key));
168168
box.setValue(value); box.setMaxLength(1024);
169-
OreSpawnScreenLayout.explain(box, "guide.orespawn.fluids.3");
169+
OreSpawnScreenLayout.explain(box, "tooltip.orespawn." + key);
170170
hostWidgets.add(addRenderableWidget(box));
171171
return box;
172172
}
@@ -176,17 +176,13 @@ private EditBox biomeField(int index, String key, String value) {
176176
int y = 106 + ((index / 2) * 44);
177177
EditBox box = new EditBox(font, x, y, columnWidth, 20, Component.literal(key));
178178
box.setValue(value); box.setMaxLength(1024);
179-
OreSpawnScreenLayout.explain(box, "guide.orespawn.fluids.3");
179+
OreSpawnScreenLayout.explain(box, "tooltip.orespawn.fluid." + key);
180180
biomeWidgets.add(addRenderableWidget(box));
181181
return box;
182182
}
183183

184184
private static String placementHelp(String key) {
185-
return switch (key) {
186-
case "min_y", "max_y" -> "guide.orespawn.fluids.1";
187-
case "min_solid_cover", "min_solid_shell" -> "guide.orespawn.fluids.3";
188-
default -> "guide.orespawn.fluids.2";
189-
};
185+
return "tooltip.orespawn.fluid." + key;
190186
}
191187

192188
private void showPage(Page selected) {

src/main/java/zone/moddev/mc/orespawn/client/FluidDepositEntryScreen.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,13 @@ protected void init() {
4848
JsonObject dimensions = dimensions();
4949
List<String> ids = new ArrayList<>(dimensions.keySet());
5050
Collections.sort(ids);
51-
addRenderableWidget(CycleButton.onOffBuilder(enabled).create(left, 46, column, 20,
52-
Component.translatable("option.orespawn.enabled"),
53-
(button, value) -> { enabled = value; session.fluidDeposit(depositId).addProperty("enabled", value); }));
51+
addRenderableWidget(OreSpawnScreenLayout.explain(
52+
CycleButton.onOffBuilder(enabled).create(left, 46, column, 20,
53+
Component.translatable("option.orespawn.enabled"),
54+
(button, value) -> {
55+
enabled = value;
56+
session.fluidDeposit(depositId).addProperty("enabled", value);
57+
}), "tooltip.orespawn.enabled"));
5458
addRenderableWidget(OreSpawnScreenLayout.button(this, font, left + column + 5, 46, column, 20,
5559
Component.translatable("button.orespawn.reset"), button -> reset()));
5660

@@ -59,7 +63,7 @@ protected void init() {
5963
if (!ids.isEmpty()) minecraft.setScreen(
6064
new FluidDepositDimensionScreen(this, session, depositId, ids.get(0)));
6165
}));
62-
OreSpawnScreenLayout.explain(output, "guide.orespawn.fluids.1");
66+
OreSpawnScreenLayout.explain(output, "tooltip.orespawn.fluid.dimension_settings");
6367
output.active = !ids.isEmpty();
6468

6569
int listTop = 98;
@@ -89,7 +93,7 @@ protected void init() {
8993
.withTooltip(value -> net.minecraft.client.gui.components.Tooltip.create(
9094
OreSpawnScreenLayout.tooltip(Arrays.asList(
9195
Component.literal(value),
92-
Component.translatable("guide.orespawn.fluids.3")))))
96+
Component.translatable("tooltip.orespawn.fluid.available_dimension")))))
9397
.create(left, pickerY, contentWidth, 20,
9498
Component.translatable("option.orespawn.available_dimension"),
9599
(button, value) -> addDimension(value)));

src/main/java/zone/moddev/mc/orespawn/client/OreDimensionScreen.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ protected void init() {
126126
CycleButton.onOffBuilder(enabled).create(left, 32, contentWidth, 20,
127127
Component.translatable("option.orespawn.enabled"),
128128
(button, value) -> enabled = value),
129-
"guide.orespawn.ores.1"));
129+
"tooltip.orespawn.enabled"));
130130
int tabWidth = (contentWidth - 10) / 3;
131131
pageButtons.add(addRenderableWidget(OreSpawnScreenLayout.button(this, font, left, 56, tabWidth, 20,
132132
Component.translatable("tab.orespawn.placement"), button -> showPage(Page.PLACEMENT))));
@@ -172,13 +172,13 @@ protected void init() {
172172
if (externalPattern) {
173173
Button external = OreSpawnScreenLayout.button(this, font, left, 80, contentWidth, 20,
174174
Component.literal("Pattern: " + externalPatternId), button -> { });
175-
OreSpawnScreenLayout.explain(external, "guide.orespawn.patterns.1");
175+
OreSpawnScreenLayout.explain(external, "message.orespawn.external_pattern_read_only");
176176
external.active = false;
177177
patternButton = addRenderableWidget(external);
178178
} else {
179179
patternButton = addRenderableWidget(CycleButton.builder(this::patternName, pattern)
180180
.withValues(Arrays.asList(OrePattern.values()))
181-
.withTooltip(value -> tooltip("guide.orespawn.patterns.1"))
181+
.withTooltip(value -> tooltip("tooltip.orespawn.ore.pattern"))
182182
.create(left, 80, contentWidth, 20, Component.translatable("option.orespawn.pattern"),
183183
(button, value) -> {
184184
pattern = value;
@@ -188,7 +188,7 @@ protected void init() {
188188
patternWidgets.add(patternButton);
189189
patternWidgets.add(addRenderableWidget(CycleButton.builder(this::distributionName, heightDistribution)
190190
.withValues(Arrays.asList(OreHeightDistribution.values()))
191-
.withTooltip(value -> tooltip("guide.orespawn.patterns.2"))
191+
.withTooltip(value -> tooltip("tooltip.orespawn.ore.height_distribution"))
192192
.create(left, 104, contentWidth, 20,
193193
Component.translatable("option.orespawn.height_distribution"),
194194
(button, value) -> heightDistribution = value)));
@@ -203,7 +203,7 @@ protected void init() {
203203
Button weights = addRenderableWidget(OreSpawnScreenLayout.button(this, font,
204204
left, 144, columnWidth, 20,
205205
Component.translatable("button.orespawn.geome_weights"), button -> openWeights()));
206-
OreSpawnScreenLayout.explain(weights, "guide.orespawn.ores.3");
206+
OreSpawnScreenLayout.explain(weights, "tooltip.orespawn.geome_weights");
207207
weights.active = "minecraft:overworld".equals(dimensionId) || dimensionSelector;
208208
hostWidgets.add(weights);
209209
hostWidgets.add(addRenderableWidget(OreSpawnScreenLayout.button(this, font,
@@ -220,7 +220,7 @@ protected void init() {
220220
Component.translatable("value.orespawn.family." + family.configName),
221221
(button, selected) -> {
222222
if (selected) families.add(family); else families.remove(family);
223-
}), "guide.orespawn.ores.3")));
223+
}), "tooltip.orespawn.host_family")));
224224
}
225225

226226
int bottom = height - 28;
@@ -251,7 +251,7 @@ private EditBox addHostField(int x, int y, String key, String value) {
251251
EditBox box = new EditBox(font, x, y, contentWidth, 20, Component.literal(key));
252252
box.setValue(value);
253253
box.setMaxLength(1024);
254-
OreSpawnScreenLayout.explain(box, "guide.orespawn.ores.3");
254+
OreSpawnScreenLayout.explain(box, "tooltip.orespawn." + key);
255255
hostWidgets.add(addRenderableWidget(box));
256256
return box;
257257
}
@@ -260,14 +260,13 @@ private EditBox addPatternField(int x, int y, String key, String value) {
260260
EditBox box = new EditBox(font, x, y, columnWidth, 20, Component.literal(key));
261261
box.setValue(value);
262262
box.setMaxLength(32);
263-
OreSpawnScreenLayout.explain(box, "guide.orespawn.patterns.1");
263+
OreSpawnScreenLayout.explain(box, "tooltip.orespawn.ore." + key);
264264
patternWidgets.add(addRenderableWidget(box));
265265
return box;
266266
}
267267

268268
private static String placementHelp(String key) {
269-
return "discard_air_exposure".equals(key)
270-
? "guide.orespawn.patterns.3" : "guide.orespawn.ores.2";
269+
return "tooltip.orespawn.ore." + key;
271270
}
272271

273272
private void showPage(Page selected) {

src/main/java/zone/moddev/mc/orespawn/client/OreEntryScreen.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,12 @@ protected void init() {
4242
JsonObject ore = session.ore(oreId);
4343
JsonObject dimensions = dimensions(ore);
4444
JsonObject selectors = selectors(ore);
45-
addRenderableWidget(CycleButton.onOffBuilder(enabled).create(width / 2 - 155, 48, 150, 20,
46-
Component.translatable("option.orespawn.enabled"), (button, value) -> {
47-
enabled = value; ore.addProperty("enabled", value);
48-
}));
45+
addRenderableWidget(OreSpawnScreenLayout.explain(
46+
CycleButton.onOffBuilder(enabled).create(width / 2 - 155, 48, 150, 20,
47+
Component.translatable("option.orespawn.enabled"), (button, value) -> {
48+
enabled = value;
49+
ore.addProperty("enabled", value);
50+
}), "tooltip.orespawn.enabled"));
4951
addRenderableWidget(OreSpawnScreenLayout.plainButton(width / 2 + 5, 48, 150, 20,
5052
Component.translatable("button.orespawn.reset"), button -> reset()));
5153

@@ -81,6 +83,7 @@ protected void init() {
8183
if (dimensionText.isEmpty()) dimensionText = selectedDimension;
8284
dimensionId.setValue(dimensionText);
8385
dimensionId.setResponder(value -> dimensionText = value);
86+
OreSpawnScreenLayout.explain(dimensionId, "tooltip.orespawn.available_dimension");
8487
addRenderableWidget(CycleButton.builder(this::dimensionName, selectedDimension)
8588
.withValues(availableDimensions)
8689
.withTooltip(value -> tooltip("tooltip.orespawn.available_dimension"))

0 commit comments

Comments
 (0)