diff --git a/src/app/Utils.ts b/src/app/Utils.ts
index 272e6478..aec45f3e 100644
--- a/src/app/Utils.ts
+++ b/src/app/Utils.ts
@@ -21,6 +21,14 @@ export function randomSeed() {
export function newSeed(model: DataModel) {
const seed = Math.floor(Math.random() * (4294967296)) - 2147483648
+ const dimensions = model.get(new Path(['dimensions']))
+ model.set(new Path(['seed']), seed, true)
+ if (typeof dimensions === 'object' && dimensions !== null) {
+ Object.keys(dimensions).forEach(id => {
+ model.set(new Path(['dimensions', id, 'generator', 'seed']), seed, true)
+ model.set(new Path(['dimensions', id, 'generator', 'biome_source', 'seed']), seed, true)
+ })
+ }
model.set(new Path(['generator', 'seed']), seed, true)
model.set(new Path(['generator', 'biome_source', 'seed']), seed)
}
diff --git a/src/app/components/SourcePanel.tsx b/src/app/components/SourcePanel.tsx
index 1c387a04..fdd61a1d 100644
--- a/src/app/components/SourcePanel.tsx
+++ b/src/app/components/SourcePanel.tsx
@@ -116,7 +116,7 @@ export function SourcePanel({ lang, name, model, blockStates, doCopy, doDownload
)}
-
+
>
}
diff --git a/src/app/schema/renderHtml.tsx b/src/app/schema/renderHtml.tsx
index 909021ae..a3d4b916 100644
--- a/src/app/schema/renderHtml.tsx
+++ b/src/app/schema/renderHtml.tsx
@@ -320,6 +320,7 @@ function BooleanSuffix({ path, node, value, lang }: NodeProps
function NumberSuffix({ path, config, integer, value, lang }: NodeProps) {
const [text, setText] = useState(value ?? '')
+ const [editing, setEditing] = useState(false)
const commitTimeout = useRef()
const commitValue = useRef()
const scheduleCommit = (newValue: number) => {
@@ -328,6 +329,7 @@ function NumberSuffix({ path, config, integer, value, lang }: NodeProps {
path.model.set(path, commitValue.current)
commitValue.current = undefined
+ setEditing(false)
}, 500)
}
const onChange = (evt: Event) => {
@@ -336,7 +338,11 @@ function NumberSuffix({ path, config, integer, value, lang }: NodeProps {
+ setEditing(true)
+ }
const onBlur = () => {
+ if (commitValue === undefined) setEditing(false)
setText(commitValue.current ?? value ?? '')
}
const onColor = (evt: Event) => {
@@ -346,9 +352,9 @@ function NumberSuffix({ path, config, integer, value, lang }: NodeProps
-
+
{config?.color && }
- {path.equals(new Path(['generator', 'seed'])) && }
+ {['dimension.generator.seed', 'dimension.generator.biome_source.seed', 'world_settings.seed'].includes(path.getContext().join('.')) && }
>
}