Tags
Creators
Details
Licensed MIT for Code and CC BY NC 4.0 for Art Assets
Published 3 years ago
Updated 2 years ago
All versions
1.20.1-2.1.3
Release
ULTRACRAFT 1.20.1-2.1.32 years ago 5,756
Compatibility
Minecraft: Java Edition
1.20.1
Platform
Fabric
Supported environments
Client and server
Required content
Changes
Major Changes
- Added an OST composed by various Ultrakill Fan//UST Composers
- Prelude 1 -
Beyond the Fireby Triage - Prelude 2 -
Infernoby Efefski - Prelude 3 -
Wardens of Hellby Psykomatic - Limbo 1 (intro) -
Mirage of Paradiseby Oxblood - Limbo 1 -
Truth of the Broken Screenby Oxblood - Limbo 2 -
Blamelessby Efefski - Cybergrind -
Infiniteby Efefski - And more Tracks to come!! (very exciting)
- All Tracks have Music disks for both their calm and combat version (if applicable)
- These currently cannot be obtained in survival. I'll think of something for that.
- Everyone involved has done a fantastic Job and were a joy to work with. If you like their work, please consider supporting them!
- Prelude 1 -
- Remade limbo2
- Made slight changes to limbo1
- Fixed a soft-lock in prelude1
- Fixed the Level Unlock Trigger in prelude1 being too big
- Major Improvements to the Music System
- When the Game is paused or the local player is dead, the music will lower in pitch and volume
- Combat Music is now triggered by all Hostile entities, not just ultracraft enemies
- It's now possible to set multiple Tracks per Level
- Added a Popup that shows up whenever a new Track starts playing, and it has sufficient metadata
- It says the Name and Author of the Track along with a neat colored stripe
- To add credit pop-ups for non-ultracraft music, make a resourcepack containing a
music.jsonfile in the same directory that thesounds.jsonwould go in
- Music will fade out when the Level is finished (or in other words, when a Force Travel Trigger is entered)
- For more info on the specifics, refer to the
Resource ChangesSegment
- Added Music to Cybergrind
- You can put your own cybergrind playlist in the game using a Resourcepack that replaces the sound
ultracraft:music.cybergrind
- You can put your own cybergrind playlist in the game using a Resourcepack that replaces the sound
- Added Support for Custom Layers // Level Collections using Datapacks
- Rage is now a Potion Effect
- Doesn't alter any stats by itself
- Makes any living entity have the rage halo
- Makes any living entity red
- except for those in the entity type tag
ultracraft:no_rage_tint
- except for those in the entity type tag
- If applicable, Enemies Enraged Behavior will be used while having the Effect, regardless of other requirements like Health
- Added Emissive Layer to Hideous Mass Enraged and Dying Textures
- Added separate Emissive Texture for Enraged Swordsmachine
- Changed Pixel [42,45] of the Uncracked Cerberus Entity Texture from #7c7c7c to #7d7d7d
- Added New Progression Unlock Items
- Feedbacker - Unlocks the Feedbacker Arm
- Hivel Wings - Unlocks Ability to toggle High Velocity Mode
- Absorbant Plating - Unlocks Blood Healing Ability
- All of these Items are unobtainable in Survival per default; They were just added for map and modpack creators pretty much
- If Trinkets is installed, these Items lose their Progression Unlock Functionality and are used as equippable Trinkets instead.
- If the Gamerule
ultra-startAsV1is enabled, then the basic mechanics always work regardless of whether the Trinkets are equipped or not!
- If the Gamerule
- Added Trinkets Support (optional)
- This is mainly for Modpack Creators that want more control over ultracraft core mechanic unlocking//progression.
- Added Fancy Carpet Variants in all Colors
- Fixed players that kept their inventory due to a checkpoint still dropping XP
- Added System that automatically detects whether a damage type is applied every tick
- This only affects IFrames in Hivel Mode
- The List of detected Damage Types isn't saved; it'll be cleared when the server//world is closed
- Damage Types that were detected as per tick will use iframes as if the player wasn't in hivel
- Schisms can now be interrupted by punching them with the feedbacker while they're firing; this kills them instantly
- Fixed the
carry onMod allowing picking up and placing blocks within modification suppressed areas - Edit Mode Blocks can no longer be picked up using the
carry onMod - Changed how respawning is handled again
- Fixed the
You're in Grave DangerMod still clearing the Inventory and placing a Grave for Players in Levels or with an active Checkpoint - When being rescued from a Level (which shouldn't normally be necessary), you now get teleported to your own Spawn Point instead of World Spawn
- Added Fake Leaves Block
- Fixed Swordsmachine seething with rage so hard that it doesn't actually do anything
- Replaced all leaves and.. "leaves" in limbo dimension and structures belonging there with Fake Leaves
- This change doesn't change old worlds retrospectively ofc
- Replaced all Levels kill planes with the new Edit Mode Abyss Triggers
- aside from the abyss at the end of prelude3 because funi
- Fixed Tundra//Agony stun animation not playing
- Fixed Thrown Machineswords not saving Sword Item data
- Fixed Swordsmachine getting stuck in a interruptible state when interrupted
Settings & Config
- Added Server Config
DisableModificationSuppressionwhich allows disabling Edit Mode Room Modification Suppression; Default isfalse- Or in other Words, it lets you break and place Blocks in otherwise protected Areas, like Levels
- Added Server Config
ProtectNaturewhich disables natural blocks like flowers and grass to be broken by ultracraft explosions; Default isfalse - Changed default value for
UnlockCustomLevelsServer Config tofalse- If your Server//World is set to the old default value, the config will update to reflect this change automatically upon loading next.
- Added a new Gamerule
ultra-startAsV1; Default istrue- Whether Hivel Wings, Blood Healing and the Feedbacker are unlocked per default
- This Gamerule can be used in conjunction with the new Progression Unlock Items to add more progression to maps//modpacks
- Added Client Setting
armSkinFirstPerson; Default istrue- Whether the First Person offhand arm skin is replaced by that of the equipped ultracraft arm
- Added Client Setting
onlyShowarmWhilePunching; Default isfalse- Whether the First Person offhand arm is always visible when holding an item and an ultracraft arm is equipped
- Added Client Setting
hideVanillaHotbar; Default isfalse- Whether the Vanilla Hotbar is hidden; all other HUD elements stay.
- Due to an Internal name change, your Third Person ultracraft Arm Skin Setting might be reset to its default value
Commands
- Added new Debug Command
/ultracraft debug clearLikelyPerTickDamageTypes- Clears the List of automatically identified per-tick damage types
Tweaks
- Nerfed Nailgun Damage a little
- Heatsink Nails against Enemies (0.3 -> 0.25)
- Heatsink Nails against Players (0.3 -> 0.1875)
- Regular Nails against Players (0.3 -> 0.225)
Minor Changes
- Crops now break from slamming//explosions
- Slam block breaking area was extended upwards by one Block
- Made Bright Panels actually bright (they now emit Light Level 6)
- Removed Clair de Lune Music Disc from V2s Loot Table
- Fixed Wing Customization Screen messing up FoV Effect Scale Setting
- Progression Unlock Items now don't get consumed upon use while in creative
- Progression Unlock Items now use Ultracraft Titles instead of Vanilla ones
- Knuckleblaster Unlcok Item is no longer Stackable
- Edit Mode HUD now renders behind chat
- Fancy Carpet is no longer Waterloggable
- Fancy Carpet is no longer Flammable
- Added Band-Aid fix for sky block textures getting messed up when using Sodium
- Shaders still make the skybox invisible tho unfortunately
- Finally added some missing Icons to the
/ultracraft configscreen - Changed Interruptable Charge rendering
- Changed Schism Interruption-Explosion positioning slightly
- Changed Stray Interruption-Explosion positioning slightly
- Added Dispenser Behavior to Blood Buckets
- You'd think that stuff would just kinda work automatically, but I guess not
- Fancy Carpet now doesn't break when placement conditions aren't met anymore
- Fancy Carpet can now be placed on any Block that isn't Air
- Machinesword is no longer a two-handed weapon when using Better Combat
- Hideous Mass doesn't contribute to the Music State while it's hidden
Edit Mode Changes
- Rooms can now be Parented to Rooms (yay, recursion)
- Added
/edit config recursiveRooms, which toggles whether Rooms you place while having another Room focused, will be parented to the selected Room or just be placed as new Root. - Focusing a Room that's part of a Room Hierarchy, the entire Hierarchy is rendered
- Added
/edit config showRelations, which toggles whether colored lines between related Rooms are shown (default: true)
- Added
- Rooms will tick regardless of whether their parent room is active (or in other words, the hierarchy doesn't affect Rooms Ticking)
- Recoursive Rooms are disabled by default for convenience
- Added
- Changed the Edit Mode Renderer a lot to make rendering the Room Hierarchies easier//possible without more bloat
- Added new Edit Mode Blocks to control Music in Levels
- Music Listener
- Changes the currently playing Soundtrack Key of everyone in the Room while the bound local flag activates
- If
stopOnDisableis enabled, the currently playing Soundtrack Key of Players will be cleared (meaning the music stops) upon the bound local flag deactivating.
- Music Trigger
- Changes the currently playing Soundtrack Key of Players that enter its Area IF the bound local flag is active
- If the Track Key is already playing for the Player, it won't do anything
- To stop the currently playing music, either set the key to an unused value, or leave it empty
- When a Track Switches, the last one will fade out and the next one will Fade in to make for a smooth transition
- Music Listener
- Added Attribute
forceDestinationto ForceTravelTriggers- If this value is set, the player won't get a choice on where they travel
- If
openRankingis enabled, they'll still be shown the Ranking Screen; however, the next Level button will always lead to the forced Destination and the Select Level Button is Disabled - If
openRankingis disabled, they'll travel to the forced Destination immediately after the Travel Screen intro Animation finished - It takes an Identifier being either a level or layer dimension id (in other words a valid destination) and its Default Value is
none - The Default value can be restored by setting it to any of the following: [
null,none,default]
- Improved Edit Mode Block removal handling
- In other words, all children // the parent of a broken Block now immediately know that it was removed
- Added new Edit Mode Block "Abyss"
- Acts as a Trigger that applies damage and teleports players that enter its Area to its Block Position (or rather the first solid Block below it (in a range of 16 Blocks))
Resource Changes
- The Icon for the Sound Listener Mapping Block is now used for Music Listeners instead
- Changed how Music in the Level Metadata works
- You can now set multiple Tracks for the same Level
- Their Key (value in quotes
""before the colon:) will be their Track ID - Any String works as a track Key. If you set the key to be
default, it will start playing immediately upon entering the level
- Their Key (value in quotes
- Added
title,authorandcolorFields- These will be used for a pop-up that shows up whenever the Track starts playing, IF an author is set
- Added
combat-thresholdField- The music will automatically switch to the combat version if there are more enemies than the combat-threshold around the local player
- Default is 0, so if there's 1 Enemy, the Combat track variant will play
- Added
no-calmdownField- Setting this to true makes it so that once the combat track is playing, it won't go back to the calm track anymore
- This is used in Limbo3 for example
- You can now set multiple Tracks for the same Level
- Added
unlockedField to Level Metadata- This defines whether a Level should always be unlocked. The default is
false
- This defines whether a Level should always be unlocked. The default is
- Changed the order Clair de Lunes Music disc description to be more uniform with minecraft (it's now
Author - Titleand not the other way around) - Added
fragile_natureBlock Tag- Fragile Plants like Flowers and Leaves were separated into this tag to allow for nature to be protected from ultracarnage using the new
ProtectNatureServer Config
- Fragile Plants like Flowers and Leaves were separated into this tag to allow for nature to be protected from ultracarnage using the new
- Crops were added to the
fragile_natureBlock Tag - Translation Keys for Layer Buttons changed (
screen.ultracraft.travel.layer<index>->layer.ultracraft.<layer-name>) - Clair de Lune (Music Disc) Identifier changed (
ultracraft:clair_de_lune->ultracraft:disc/clair_de_lune) - Changed Progression Item Tooltip color (
item.ultracraft.progression-item.lore| §8 -> §7) - Renamed Fancy Carpet Block (
block.ultracraft.carpet|Fancy Carpet->Blue Fancy Carpet) - Added missing translation key for Server-Join-Info (
message.ultracraft.parry-chaining) - Fixed typo in translation key for Server-Join-Info (
message.ultracraft.fall-drowning->message.ultracraft.drowning) - Changed Level Rescue Messages
- Fixed Culling issue in Pedestal Model
Optional dependencies
Supplementary resources
| File | Type | Size | |
|---|---|---|---|
| ultracraft-1.20.1-2.1.3-sources.jar | Unknown | 91.14 MiB |
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:JGAiUYbt:rrpkI19y"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:JGAiUYbt:rrpkI19y"
}






