Tags
Creators
Details
Licensed ARR
Published 4 months ago
Updated 2 weeks ago
All versions
1.1.1
Release
NeoHouse 1.1.13 weeks ago 2
Compatibility
Minecraft: Java Edition
1.21.11
Platform
Fabric
Supported environments
Client-side
Changes
Changes that can affect existing scripts
- NeoForge is no longer supported; NeoHouse is Fabric only.
const function(andconst loop/event/command/menu) is removed;- Multi-call mode now defaults to Error.
$can no longer be used in your own variable, parameter or function names (it marks compiler-made names).%,-x,x++andx--on an untypedvarare errors; cast with(long)or(double)first.- An import no longer sees the other imports of the file that imported it (imports of imports still work).
- The built-in library's working variables are renamed and declared (
p.trigTemp,p.doubleTemp,p.longTemp, ...). speedandtopare reserved command names.
Language
!=comparisons.%and%=. This creates quite a few more actions, so be aware of that.- Hexadecimal, binary and underscore-separated numbers:
0xFF00,0b1010,1_000. 1d/1Dmakes a whole number a double.ph.x() == p.varis compiled without a temporary variable, unless the placeholder is compared with a constant.playSoundaccepts any Minecraft sound id through Custom Sound.
Compiler
- Arithmetic on constants is computed while compiling:
p.x = 1.0 / 2.0becomesp.x = 0.5. - Fewer actions are spent on compiler-made variables; your own variables keep every write.
- Compile errors are reported for more than 20 conditions of one type in an
if, and for scripts over Housing's limits (300 functions, 50 commands, 200 menus). - Errors in imported files name the file; the editor underlines the import that pulled it in.
- Commented-out imports are ignored.
- Readable error messages in chat.
- Fixed: a function called inside an expression could overwrite the caller's partial result (
p.a * 2 + sq(p.b)gave a wrong value). - Fixed: weighted random (
10*{...}) only added a weighted branch once. - Fixed:
return (a + b) * c;failed to parse. - Fixed: functions with long names and parameters failed with "variable is too long".
Running scripts
- New override mode Override If Empty (the default): existing functions, events, commands and menus are only filled when they're still empty.
- Lists of functions, commands and menus are read once up front, and a run stops early if the house would go over its limits.
- Before anything else, a run checks that the teams, layouts and groups the script uses exist.
- Chat inputs are used for every text field; a run stops with a message if Housing opens an anvil instead.
- Waits for Housing menus to load, and waits longer on a laggy server, instead of failing with "Could not find ...".
- Fixed: under lag a page turn could look finished too early, so searches missed existing items and list reads stopped after the first page.
- Empty functions, commands, menus and events are no longer opened just to be filled.
Editor
- Ctrl+/ comments lines, Ctrl+D duplicates them, Alt+Up/Down moves them.
- Ctrl+click or F12 on a function name goes to its definition.
- Parameter hints appear as soon as
,or(is typed, and on multi-line calls. - Every event is suggested right after typing
event. - Shift+click selects; horizontal scrollbar for long lines.
- Fixed: the find bar stole shortcuts like Ctrl+A, and hints showed on unrelated lines.
Help and settings
- New help: guide and reference topics in a sidebar, search across everything, and a Copy button on every example. The reference lists each action's and condition's arguments, allowed values and where it can be used.
- New settings: Undeclared variables (Allow / Warn / Error) and Ban the var type.
- The settings screen scrolls when it doesn't fit.
Files and music
- One file browser for scripts (.nh), music (.nhm) and files to import (.mid, .midi, .nbs), with an icon per type. Files from the old music folder are moved in.
- Browse Folder opens the current folder in your system's file manager.
- Note Block Studio (.nbs) import.
- Music editor: click or drag the ruler above the notes to choose where playback starts.
- Export writes the song as a .nh function next to it.
Library
getFacingVector()intrig.nh.- Fixed:
atan2used a wrong value of pi. - Library files are updated on existing installs unless you edited them.
Minecraft versions
- Supports 1.21.2 to 1.21.11 and 26.1, 26.2 and 26.3.
Interface
- Back buttons on screens opened by command lead to the home screen; the red X buttons are gone.
- Discarding unsaved changes no longer brings them back.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:hTHPfI2S:XWINlHQF"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:hTHPfI2S:XWINlHQF"
}

