Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ mod_name=MMD OreSpawn
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
mod_license=LGPL-2.1
# The mod version. See https://semver.org/
mod_version=4.0.3
mod_version=4.0.4
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
# This should match the base package used for the mod sources.
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,22 @@ protected void init() {
int top = 54;
int row = 0;
if (session.hasTerrainRules()) {
addRenderableWidget(OreSpawnScreenLayout.plainButton(left, top + (row++ * 28), 310, 20,
addRenderableWidget(OreSpawnScreenLayout.explain(OreSpawnScreenLayout.plainButton(
left, top + (row++ * 28), 310, 20,
Component.translatable("button.orespawn.formation_details"),
button -> openNumeric("formations.custom", NumericConfigScreen.FORMATION_FIELDS)));
addRenderableWidget(OreSpawnScreenLayout.plainButton(left, top + (row++ * 28), 310, 20,
button -> openNumeric("formations.custom", NumericConfigScreen.FORMATION_FIELDS)),
"tooltip.orespawn.advanced.formations"));
addRenderableWidget(OreSpawnScreenLayout.explain(OreSpawnScreenLayout.plainButton(
left, top + (row++ * 28), 310, 20,
Component.translatable("button.orespawn.cyano_details"),
button -> openNumeric("cyano", NumericConfigScreen.CYANO_FIELDS)));
button -> openNumeric("cyano", NumericConfigScreen.CYANO_FIELDS)),
"tooltip.orespawn.advanced.cyano"));
}
addRenderableWidget(OreSpawnScreenLayout.plainButton(left, top + (row * 28), 310, 20,
addRenderableWidget(OreSpawnScreenLayout.explain(OreSpawnScreenLayout.plainButton(
left, top + (row * 28), 310, 20,
Component.translatable("button.orespawn.fluid_deposit_details"),
button -> minecraft.setScreen(new FluidDepositListScreen(this, session))));
button -> minecraft.setScreen(new FluidDepositListScreen(this, session))),
"tooltip.orespawn.advanced.fluid_deposits"));
addRenderableWidget(OreSpawnScreenLayout.plainButton(width / 2 - 75, OreSpawnScreenLayout.footerY(height), 150, 20,
CommonComponents.GUI_DONE, button -> onClose()));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ protected void init() {
left, 64, contentWidth, 20,
Component.translatable("option.orespawn.enabled"),
(button, value) -> placement.addProperty("enabled", value)),
"guide.orespawn.biomes.1"));
"tooltip.orespawn.enabled"));
if (tab == Tab.PLACEMENT) initPlacement(left, half, placement);
else if (tab == Tab.CLIMATE) initClimate(left, half, placement);
else initSurface(left, contentWidth, placement);
Expand All @@ -73,7 +73,7 @@ protected void init() {
private void initPlacement(int left, int half, JsonObject placement) {
int y = 90;
weight = field(left + half + 5, y, half, decimal(placement, "weight", 1.0D));
OreSpawnScreenLayout.explain(weight, "guide.orespawn.biomes.3");
OreSpawnScreenLayout.explain(weight, "tooltip.orespawn.weight");
label(left, y + 6, half, "option.orespawn.weight");
y += 28;
addRenderableWidget(OreSpawnScreenLayout.explain(OreSpawnScreenLayout.button(
Expand All @@ -82,36 +82,36 @@ private void initPlacement(int left, int half, JsonObject placement) {
array(placement, "similar_biomes").size()),
button -> { saveFields(); minecraft.setScreen(new BiomeReferenceScreen(
this, session, placement, "similar_biomes")); }),
"guide.orespawn.biomes.3"));
"tooltip.orespawn.biome.similar_biomes"));
addRenderableWidget(OreSpawnScreenLayout.explain(OreSpawnScreenLayout.button(
this, font, left + half + 5, y,
half, 20, Component.translatable("button.orespawn.required_biomes",
array(placement, "required_similar_biomes").size()),
button -> { saveFields(); minecraft.setScreen(new BiomeReferenceScreen(
this, session, placement, "required_similar_biomes")); }),
"guide.orespawn.biomes.3"));
"tooltip.orespawn.biome.required_similar_biomes"));
}

private void initClimate(int left, int half, JsonObject placement) {
int y = 90;
minTemperature = field(left + half + 5, y, half,
decimal(placement, "min_temperature", -2.0D));
OreSpawnScreenLayout.explain(minTemperature, "guide.orespawn.biomes.3");
OreSpawnScreenLayout.explain(minTemperature, "tooltip.orespawn.biome.min_temperature");
label(left, y + 6, half, "option.orespawn.min_temperature");
y += 24;
maxTemperature = field(left + half + 5, y, half,
decimal(placement, "max_temperature", 2.0D));
OreSpawnScreenLayout.explain(maxTemperature, "guide.orespawn.biomes.3");
OreSpawnScreenLayout.explain(maxTemperature, "tooltip.orespawn.biome.max_temperature");
label(left, y + 6, half, "option.orespawn.max_temperature");
y += 24;
minDownfall = field(left + half + 5, y, half,
decimal(placement, "min_downfall", 0.0D));
OreSpawnScreenLayout.explain(minDownfall, "guide.orespawn.biomes.3");
OreSpawnScreenLayout.explain(minDownfall, "tooltip.orespawn.biome.min_downfall");
label(left, y + 6, half, "option.orespawn.min_downfall");
y += 24;
maxDownfall = field(left + half + 5, y, half,
decimal(placement, "max_downfall", 1.0D));
OreSpawnScreenLayout.explain(maxDownfall, "guide.orespawn.biomes.3");
OreSpawnScreenLayout.explain(maxDownfall, "tooltip.orespawn.biome.max_downfall");
label(left, y + 6, half, "option.orespawn.max_downfall");
}

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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ protected void init() {
addRenderableWidget(CycleButton.builder(this::dimensionName)
.withValues(dimensions).withInitialValue(dimension)
.withTooltip(value -> net.minecraft.client.gui.components.Tooltip.create(
Component.literal(value)))
OreSpawnScreenLayout.tooltip(Arrays.asList(
Component.literal(value),
Component.translatable("tooltip.orespawn.biome.dimension")))))
.create(left, 34, contentWidth, 20,
Component.translatable("option.orespawn.dimension"),
(button, value) -> { dimension = value; rebuildWidgets(); }));
Expand All @@ -48,23 +50,23 @@ protected void init() {
int y = 64;
addRenderableWidget(CycleButton.onOffBuilder(active)
.withTooltip(value -> net.minecraft.client.gui.components.Tooltip.create(
Component.translatable("guide.orespawn.biomes.1")))
Component.translatable("tooltip.orespawn.biome.palette_enabled")))
.create(left, y, contentWidth, 20,
Component.translatable("option.orespawn.biome_palette"),
(button, value) -> setPaletteEnabled(value)));
y += 26;
addRenderableWidget(CycleButton.builder(this::modeName)
.withValues(Arrays.asList("augment", "replace")).withInitialValue(mode)
.withTooltip(value -> net.minecraft.client.gui.components.Tooltip.create(
Component.translatable("guide.orespawn.biomes.1")))
Component.translatable("tooltip.orespawn.biome.mode")))
.create(left, y, half, 20,
Component.translatable("option.orespawn.biome_mode"),
(button, value) -> setPalette("mode", value)));
addRenderableWidget(CycleButton.builder(this::scopeName)
.withValues(Arrays.asList("all", "minecraft_only", "selected_namespaces"))
.withInitialValue(scope)
.withTooltip(value -> net.minecraft.client.gui.components.Tooltip.create(
Component.translatable("guide.orespawn.biomes.2")))
Component.translatable("tooltip.orespawn.biome.scope")))
.create(left + half + 5, y, half, 20,
Component.translatable("option.orespawn.biome_scope"),
(button, value) -> setPalette("scope", value)));
Expand All @@ -73,7 +75,7 @@ protected void init() {
.withValues(Arrays.asList("tiny", "small", "average", "large", "huge"))
.withInitialValue(size)
.withTooltip(value -> net.minecraft.client.gui.components.Tooltip.create(
Component.translatable("guide.orespawn.biomes.3")))
Component.translatable("tooltip.orespawn.biome.region_size")))
.create(left, y, contentWidth, 20,
Component.translatable("option.orespawn.biome_region_size"),
(button, value) -> setPalette("region_size", value)));
Expand All @@ -83,18 +85,18 @@ protected void init() {
Component.translatable("button.orespawn.biome_palette_count",
session.biomePlacementIds(dimension).size()),
button -> minecraft.setScreen(new BiomePaletteScreen(this, session, dimension))),
"guide.orespawn.biomes.3"));
"tooltip.orespawn.biome.entries"));
addRenderableWidget(OreSpawnScreenLayout.explain(OreSpawnScreenLayout.button(
this, font, left + half + 5, y, half, 20,
Component.translatable("button.orespawn.dimension_materials"),
button -> minecraft.setScreen(new DimensionMaterialsScreen(this, session, dimension))),
"guide.orespawn.materials.1"));
"tooltip.orespawn.biome.dimension_materials"));
y += 26;
addRenderableWidget(OreSpawnScreenLayout.explain(OreSpawnScreenLayout.button(
this, font, left, y, contentWidth, 20,
Component.translatable("button.orespawn.geome_influences"),
button -> minecraft.setScreen(new GeomeBiomeScreen(this, session))),
"guide.orespawn.rocks.1"));
"tooltip.orespawn.biome.geome_influences"));
addRenderableWidget(OreSpawnScreenLayout.plainButton(width / 2 - 75, OreSpawnScreenLayout.footerY(height),
150, 20, CommonComponents.GUI_DONE, button -> onClose()));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,20 +26,23 @@ final class BlockAssignmentScreen extends OreSpawnScreen {
protected void init() {
int left = width / 2 - 155;
int right = width / 2 + 5;
addRenderableWidget(OreSpawnScreenLayout.plainButton(left, 70, 150, 20, Component.translatable("tab.orespawn.sedimentary"),
button -> assignRock(RockFamily.SEDIMENTARY)));
addRenderableWidget(OreSpawnScreenLayout.plainButton(right, 70, 150, 20, Component.translatable("tab.orespawn.metamorphic"),
button -> assignRock(RockFamily.METAMORPHIC)));
addRenderableWidget(OreSpawnScreenLayout.plainButton(left, 98, 150, 20, Component.translatable("value.orespawn.intrusive"),
button -> assignRock(RockFamily.IGNEOUS_INTRUSIVE)));
addRenderableWidget(OreSpawnScreenLayout.plainButton(right, 98, 150, 20, Component.translatable("value.orespawn.volcanic"),
button -> assignRock(RockFamily.IGNEOUS_VOLCANIC)));
addRenderableWidget(OreSpawnScreenLayout.plainButton(left, 126, 310, 20, Component.translatable("tab.orespawn.ores"),
button -> assignOre()));
addRockButton(left, 70, "tab.orespawn.sedimentary", RockFamily.SEDIMENTARY);
addRockButton(right, 70, "tab.orespawn.metamorphic", RockFamily.METAMORPHIC);
addRockButton(left, 98, "value.orespawn.intrusive", RockFamily.IGNEOUS_INTRUSIVE);
addRockButton(right, 98, "value.orespawn.volcanic", RockFamily.IGNEOUS_VOLCANIC);
addRenderableWidget(OreSpawnScreenLayout.explain(OreSpawnScreenLayout.plainButton(
left, 126, 310, 20, Component.translatable("tab.orespawn.ores"), button -> assignOre()),
"tooltip.orespawn.assignment.ore"));
addRenderableWidget(OreSpawnScreenLayout.plainButton(width / 2 - 75, height - 28, 150, 20, CommonComponents.GUI_CANCEL,
button -> onClose()));
}

private void addRockButton(int x, int y, String labelKey, RockFamily family) {
addRenderableWidget(OreSpawnScreenLayout.explain(OreSpawnScreenLayout.plainButton(
x, y, 150, 20, Component.translatable(labelKey), button -> assignRock(family)),
"tooltip.orespawn.assignment.rock_family"));
}

private void assignRock(RockFamily family) {
session.assignRock(blockId, family);
if (session.section("rocks").has(blockId)) minecraft.setScreen(parent);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,16 @@ protected void init() {

List<String> namespaces = session.installedBlockNamespaces();
if (!namespaces.contains(namespace)) namespace = "";
addRenderableWidget(CycleButton.builder(this::namespaceName)
addRenderableWidget(OreSpawnScreenLayout.explain(CycleButton.builder(this::namespaceName)
.withValues(namespaces).withInitialValue(namespace)
.create(left, 58, 150, 20, Component.translatable("option.orespawn.mod_filter"),
(button, value) -> { namespace = value; page = 0; rebuildWidgets(); }));
addRenderableWidget(OreSpawnScreenLayout.plainButton(left + 160, 58, 150, 20,
(button, value) -> { namespace = value; page = 0; rebuildWidgets(); }),
"tooltip.orespawn.picker.mod_filter"));
addRenderableWidget(OreSpawnScreenLayout.explain(OreSpawnScreenLayout.plainButton(
left + 160, 58, 150, 20,
Component.translatable(showAll ? "button.orespawn.safe_only" : "button.orespawn.show_all"),
button -> { showAll = !showAll; page = 0; rebuildWidgets(); }));
button -> { showAll = !showAll; page = 0; rebuildWidgets(); }),
showAll ? "tooltip.orespawn.material.safe_only" : "tooltip.orespawn.material.show_all"));

List<String> ids = session.availableBlockIds(searchText, namespace, showAll);
int listTop = 84;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ protected void init() {
deepY = addRenderableWidget(new EditBox(font, left + contentWidth / 2, y,
contentWidth / 2, 20, Component.translatable("option.orespawn.deep_aquifer_y")));
deepY.setValue(Integer.toString(integer(materials, "deep_aquifer_max_y", -54)));
OreSpawnScreenLayout.explain(deepY, "guide.orespawn.materials.2");
OreSpawnScreenLayout.explain(deepY, "tooltip.orespawn.material.deep_aquifer_y");
Button deepLabel = addRenderableWidget(OreSpawnScreenLayout.plainButton(
left, y, contentWidth / 2 - 5, 20,
Component.translatable("option.orespawn.deep_aquifer_y"), button -> { }));
Expand Down Expand Up @@ -66,11 +66,7 @@ private int materialRow(int left, int y, int width, JsonObject materials,
}

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

private Component label(String key, String value) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ protected void init() {
CycleButton.onOffBuilder(enabled).create(left, 42, columnWidth, 20,
Component.translatable("option.orespawn.enabled"),
(button, value) -> enabled = value),
"guide.orespawn.fluids.1"));
"tooltip.orespawn.enabled"));
addRenderableWidget(OreSpawnScreenLayout.button(this, font, right, 42, columnWidth, 20,
Component.translatable("button.orespawn.remove_dimension"), button -> removeDimension()));
int tabWidth = (contentWidth - 10) / 3;
Expand Down Expand Up @@ -128,7 +128,7 @@ protected void init() {
Component.translatable("value.orespawn.family." + family.configName),
(button, selected) -> {
if (selected) families.add(family); else families.remove(family);
}), "guide.orespawn.fluids.3")));
}), "tooltip.orespawn.host_family")));
}

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

Expand All @@ -166,7 +166,7 @@ private EditBox hostField(int index, String key, String value) {
int x = index == 0 ? left : left + columnWidth + 5;
EditBox box = new EditBox(font, x, 106, columnWidth, 20, Component.literal(key));
box.setValue(value); box.setMaxLength(1024);
OreSpawnScreenLayout.explain(box, "guide.orespawn.fluids.3");
OreSpawnScreenLayout.explain(box, "tooltip.orespawn." + key);
hostWidgets.add(addRenderableWidget(box));
return box;
}
Expand All @@ -176,17 +176,13 @@ private EditBox biomeField(int index, String key, String value) {
int y = 106 + ((index / 2) * 44);
EditBox box = new EditBox(font, x, y, columnWidth, 20, Component.literal(key));
box.setValue(value); box.setMaxLength(1024);
OreSpawnScreenLayout.explain(box, "guide.orespawn.fluids.3");
OreSpawnScreenLayout.explain(box, "tooltip.orespawn.fluid." + key);
biomeWidgets.add(addRenderableWidget(box));
return box;
}

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

private void showPage(Page selected) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,13 @@ protected void init() {
JsonObject dimensions = dimensions();
List<String> ids = new ArrayList<>(dimensions.keySet());
Collections.sort(ids);
addRenderableWidget(CycleButton.onOffBuilder(enabled).create(left, 46, column, 20,
Component.translatable("option.orespawn.enabled"),
(button, value) -> { enabled = value; session.fluidDeposit(depositId).addProperty("enabled", value); }));
addRenderableWidget(OreSpawnScreenLayout.explain(
CycleButton.onOffBuilder(enabled).create(left, 46, column, 20,
Component.translatable("option.orespawn.enabled"),
(button, value) -> {
enabled = value;
session.fluidDeposit(depositId).addProperty("enabled", value);
}), "tooltip.orespawn.enabled"));
addRenderableWidget(OreSpawnScreenLayout.button(this, font, left + column + 5, 46, column, 20,
Component.translatable("button.orespawn.reset"), button -> reset()));

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

int listTop = 98;
Expand Down Expand Up @@ -89,7 +93,7 @@ protected void init() {
.withTooltip(value -> net.minecraft.client.gui.components.Tooltip.create(
OreSpawnScreenLayout.tooltip(Arrays.asList(
Component.literal(value),
Component.translatable("guide.orespawn.fluids.3")))))
Component.translatable("tooltip.orespawn.fluid.available_dimension")))))
.create(left, pickerY, contentWidth, 20,
Component.translatable("option.orespawn.available_dimension"),
(button, value) -> addDimension(value)));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,11 @@ protected void init() {
previous.active = page > 0;
next.active = page + 1 < pageCount;
int addWidth = Math.min(150, contentWidth - 105);
addRenderableWidget(OreSpawnScreenLayout.button(this, font,
addRenderableWidget(OreSpawnScreenLayout.explain(OreSpawnScreenLayout.button(this, font,
left + contentWidth - addWidth, controlsY, addWidth, 20,
Component.translatable("button.orespawn.add"), button ->
minecraft.setScreen(new FluidBlockPickerScreen(this, session))));
minecraft.setScreen(new FluidBlockPickerScreen(this, session))),
"tooltip.orespawn.fluid.add_deposit"));
addRenderableWidget(OreSpawnScreenLayout.plainButton(width / 2 - 75, height - 28, 150, 20,
CommonComponents.GUI_DONE, button -> onClose()));
}
Expand Down
Loading
Loading