
DiscAI Based Horror.jar
DiscAI is a horror mod that adds a new dimension of fear, unique abilities, and terrifying creatures. Transform your gameplay with a customizable totem, explore the Horror Dimension accessed through mysterious doors, and let your growing fear physically af
1.9
Compatibility
Changes
Changelog β DiscAI Mod (Forge 1.20.1) Added The /horrorspider enable|disable command
Allows operators to enable or disable spawn of horror spiders (SpiderEntity) in caves.
The status is saved in the config (horrorSpiderEnabled), it is not reset on restart.
Team /discai fear toggle
The player can completely disable the mechanics of fear for themselves (stored in personal data).
The status is synchronized with the client via the FearToggleSyncPacket package.
All fear handlers (FearFromMobsHandler, FearOnDamageHandler, CaveEventManager, FearTickHandler) check this flag and do not change the fear if it is disabled.
Batch synchronization of fear
Added a FearToggleSyncPacket to synchronize the state of the fear switch when entering the world and when commanded.
The FearPlayerSyncHandler event sends the current state to the client when the player logs in.
Tunnels (TunnelSpawner / TunnelGenerator)
If a block that is part of an existing tunnel is destroyed (NETHERRACK or CRIMSON_NYLIUM blocks), a new tunnel may appear with a 30% chance (instead of the usual chance from the config).
Added a cooldown of 5 seconds per player β repeated destruction will not trigger a new tunnel too often.
The new tunnel has a 50% chance of using an alternative wall material β CRIMSON_NYLIUM (instead of NETHERRACK).
Distortion of trees (TreeDistortion)
Now the tree is distorted when it grows from the seedling (the SaplingGrowTreeEvent event).
A delay of 100 ms has been added so that the tree has time to fully form.
35% of the trunk and foliage blocks turn into NETHERRACK, 15% into OBSIDIAN.
Added detailed logging (info, warn, debug) to track work.
Improved / Fixed The fear system
FearFromMobsHandler now checks for fearEnabled and does not increase fear if the player has disabled it.
FearOnDamageHandler added a similar check β damage from horror mobs does not increase fear when the switch is off.
CaveEventManager β the spawn of spiders in caves now takes into account horrorSpiderEnabled, and the cooldown is made individual for each player (it was common).
Portals
Added the PortalFrameBreakHandler, which removes the interior of the portal when the frame block is destroyed.
Fixed type compatibility (LevelAccessor β Level) in the destruction handler.
Configuration
New fields have been added to ModConfig:
horrorSpiderEnabled β control the spawn of horror spiders (true by default).
The parameters for the tunnels (width, height, length, chance, pit depth) have already been set, and now cooldown and alternative materials are used.
Various
All classes related to fear's usability (FearToggleCapability, FearToggle, IFearToggle, FearToggleProvider) now correctly save the player's state via ICapabilitySerializable.
The duplicate FearToggleCommand class has been removed (the command has been merged with ReactorCommand or left separate, but the conflict has been resolved).
Fixed a compilation error in PortalFrameBreakHandler (converting LevelAccessor to Level).
The Portal (Horror Portal) Changed the behavior when destroying the portal and the frame:
When a portal block (HORROR_PORTAL or HORROR_PORTAL_BACK) is destroyed, only all portal blocks within a radius of 5 blocks are removed, and the NETHER_BRICKS/NETHERRACK frame remains intact.
When the frame block (NETHER_BRICKS or NETHERRACK) is destroyed, the entire frame and all portal blocks are deleted.
Added detailed logging of the PortalFrameBreakHandler handler.
Fixed an error comparing RegistryObject<Block> with Block β now using .get().
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:Ncqq4Q9M:Ur1KyYyv"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Ncqq4Q9M:Ur1KyYyv"
}
