1.20 backport
This commit is contained in:
1 parent
f7e7bebac3
commit
d54264c6c8
4681 files changed
+61551
-78441
No files matched your search
+25
-16
@@ -17,19 +17,17 @@ java {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven { url = 'https://maven.minecraftforge.net' }
|
||||
maven { url = 'https://maven.architectury.dev/' }
|
||||
maven { url = 'https://maven.parchmentmc.org' }
|
||||
maven { url = 'https://repo.spongepowered.org/repository/maven-public/' }
|
||||
maven { url = 'https://www.cursemaven.com' }
|
||||
maven { url = 'https://maven.blamejared.com' }
|
||||
maven { url = 'https://jitpack.io' }
|
||||
exclusiveContent {
|
||||
forRepository {
|
||||
maven {
|
||||
name = "GeckoLib"
|
||||
url = "https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/"
|
||||
}
|
||||
}
|
||||
filter {
|
||||
flatDir { dirs file('../anthology_jars'), file('../infinite_dimensions_jars'), file('../integrated_api_jars') }
|
||||
maven {
|
||||
name = "GeckoLib"
|
||||
url = "https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/"
|
||||
content {
|
||||
includeGroup("software.bernie.geckolib")
|
||||
includeGroup("com.eliotlash.mclib")
|
||||
}
|
||||
@@ -71,6 +69,10 @@ minecraft {
|
||||
}
|
||||
|
||||
server {
|
||||
jvmArgs(
|
||||
"-Dmixin.env.remapRefMap=true",
|
||||
"-Dmixin.env.refMapRemappingFile=${projectDir}/build/createSrgToMcp/output.srg"
|
||||
)
|
||||
args '--nogui'
|
||||
}
|
||||
}
|
||||
@@ -93,27 +95,34 @@ sourceSets {
|
||||
dependencies {
|
||||
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
|
||||
|
||||
implementation "software.bernie.geckolib:geckolib-forge-${minecraft_version}:${geckolib_version}"
|
||||
implementation fg.deobf("software.bernie.geckolib:geckolib-forge-${minecraft_version}:${geckolib_version}")
|
||||
|
||||
implementation fg.deobf("com.craisinlord:anthology:${anthology_version}+1.20.1-forge")
|
||||
|
||||
compileOnly("curse.maven:sizeable_foliage-${sizeable_foliage_curseforge_id}:${sizeable_foliage_curseforge_file_id_forge}")
|
||||
runtimeOnly("curse.maven:sizeable_foliage-${sizeable_foliage_curseforge_id}:${sizeable_foliage_curseforge_file_id_forge}")
|
||||
runtimeOnly fg.deobf("curse.maven:sizeable_foliage-${sizeable_foliage_curseforge_id}:${sizeable_foliage_curseforge_file_id_forge}")
|
||||
|
||||
compileOnly("curse.maven:intapi-${intapi_curseforge_id}:${intapi_curseforge_file_id_forge}")
|
||||
runtimeOnly("curse.maven:intapi-${intapi_curseforge_id}:${intapi_curseforge_file_id_forge}")
|
||||
compileOnly fg.deobf("blank:antos-forge-1.20.1:1.4.0")
|
||||
runtimeOnly fg.deobf("blank:antos-forge-1.20.1:1.4.0")
|
||||
|
||||
compileOnly fg.deobf("blank:integrated_api-forge-1.20.1:1.9.1")
|
||||
runtimeOnly(files("$rootDir/../integrated_api_jars/integrated_api-forge-1.20.1-1.9.1-dev-shadow.jar"))
|
||||
|
||||
compileOnly("curse.maven:pehkui-${pehkui_curseforge_id}:${pehkui_curseforge_file_id_forge}")
|
||||
runtimeOnly("curse.maven:pehkui-${pehkui_curseforge_id}:${pehkui_curseforge_file_id_forge}")
|
||||
runtimeOnly fg.deobf("curse.maven:pehkui-${pehkui_curseforge_id}:${pehkui_curseforge_file_id_forge}")
|
||||
|
||||
compileOnly(files("$rootDir/../infinite_dimensions_jars/infinity-2.7.2+1.20.1-forge.jar"))
|
||||
runtimeOnly(files("$rootDir/../infinite_dimensions_jars/infinity-2.7.2+1.20.1-forge.jar"))
|
||||
runtimeOnly fg.deobf("blank:infinity:2.7.2+1.20.1-forge")
|
||||
runtimeOnly fg.deobf("dev.architectury:architectury-forge:9.2.14")
|
||||
|
||||
compileOnly "mezz.jei:jei-${minecraft_version}-common-api:${jei_version}"
|
||||
compileOnly "mezz.jei:jei-${minecraft_version}-forge-api:${jei_version}"
|
||||
runtimeOnly "mezz.jei:jei-${minecraft_version}-forge:${jei_version}"
|
||||
runtimeOnly fg.deobf("mezz.jei:jei-${minecraft_version}-forge:${jei_version}")
|
||||
|
||||
annotationProcessor 'org.spongepowered:mixin:0.8.5:processor'
|
||||
|
||||
implementation(annotationProcessor("io.github.llamalad7:mixinextras-common:${mixin_extras}"))
|
||||
compileOnly(annotationProcessor("io.github.llamalad7:mixinextras-common:${mixin_extras}"))
|
||||
implementation "io.github.llamalad7:mixinextras-forge:${mixin_extras}"
|
||||
}
|
||||
|
||||
mixin {
|
||||
|
||||
@@ -17,7 +17,8 @@ parchment_version=2023.09.03-1.20.1
|
||||
|
||||
jei_version=15.20.0.104
|
||||
geckolib_version=4.8.4
|
||||
mixin_extras=0.5.0
|
||||
mixin_extras=0.4.1
|
||||
anthology_version=1.0.0
|
||||
|
||||
sizeable_foliage_curseforge_id=1601832
|
||||
sizeable_foliage_curseforge_file_id_forge=8468688
|
||||
|
||||
+272
-86
@@ -1,10 +1,11 @@
|
||||
package com.craisinlord.antarchy.forge;
|
||||
|
||||
import com.craisinlord.antarchy.config.AntarchySettings;
|
||||
import com.craisinlord.antarchy.content.network.ImpactShakeSync;
|
||||
import com.craisinlord.antarchy.config.ConfigResetGuard;
|
||||
import com.craisinlord.antarchy.content.network.HerculesBeetleImpactShakePayload;
|
||||
import com.craisinlord.antarchy.content.network.HerculesBeetleImpactShakeSync;
|
||||
import com.craisinlord.antarchy.content.network.KingJudgmentFlashPayload;
|
||||
import com.craisinlord.antarchy.content.network.KingJudgmentFlashSync;
|
||||
import com.craisinlord.antarchy.content.network.HordeIntensitySync;
|
||||
import java.nio.file.Path;
|
||||
import net.minecraftforge.fml.loading.FMLPaths;
|
||||
@@ -18,7 +19,7 @@ public final class AntarchyConfigModuleForge {
|
||||
|
||||
public static void init() {
|
||||
Path configDir = FMLPaths.CONFIGDIR.get().resolve("antarchy");
|
||||
ConfigResetGuard.wipeIfNeeded(
|
||||
ConfigResetGuard.migrateIfNeeded(
|
||||
configDir,
|
||||
configDir.resolve("antarchy_mobs.toml"),
|
||||
configDir.resolve("antarchy_tools.toml"),
|
||||
@@ -28,7 +29,7 @@ public final class AntarchyConfigModuleForge {
|
||||
ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, AntarchyToolsConfig.SPEC, "antarchy/antarchy_tools.toml");
|
||||
ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, AntarchyMiscConfig.SPEC, "antarchy/antarchy_misc.toml");
|
||||
HerculesBeetleImpactShakeSync.setSink((player, ticks) -> AntarchyForgeNetworkCore.sendToPlayer(player, new HerculesBeetleImpactShakePayload(ticks)));
|
||||
ImpactShakeSync.setSink(AntarchyForgeNetworkCore::sendToPlayer);
|
||||
KingJudgmentFlashSync.setSink((player, ticks) -> AntarchyForgeNetworkCore.sendToPlayer(player, new KingJudgmentFlashPayload(ticks)));
|
||||
HordeIntensitySync.setSink(AntarchyForgeNetworkCore::sendToPlayer);
|
||||
AntarchyForge.modEventBusTempHolder.addListener(AntarchyConfigModuleForge::onConfigChange);
|
||||
}
|
||||
@@ -96,16 +97,15 @@ public final class AntarchyConfigModuleForge {
|
||||
AntarchySettings.setBomberExplosionDamage(AntarchyMobsConfig.bomberExplosionDamage());
|
||||
AntarchySettings.setBomberExplosionRadius(AntarchyMobsConfig.bomberExplosionRadius());
|
||||
|
||||
AntarchySettings.setJumpyBugHealth(AntarchyMobsConfig.jumpyBugHealth());
|
||||
AntarchySettings.setJumpyBugPounceDamage(AntarchyMobsConfig.jumpyBugPounceDamage());
|
||||
AntarchySettings.setJumpyBugLatchDamage(AntarchyMobsConfig.jumpyBugLatchDamage());
|
||||
AntarchySettings.setJumpyBugCamouflageAlpha(AntarchyMobsConfig.jumpyBugCamouflageAlpha());
|
||||
AntarchySettings.setSpringbugHealth(AntarchyMobsConfig.springbugHealth());
|
||||
AntarchySettings.setSpringbugPounceDamage(AntarchyMobsConfig.springbugPounceDamage());
|
||||
AntarchySettings.setSpringbugCamouflageAlpha(AntarchyMobsConfig.springbugCamouflageAlpha());
|
||||
|
||||
AntarchySettings.setEmperorScorpionHealth(AntarchyMobsConfig.emperorScorpionHealth());
|
||||
AntarchySettings.setEmperorScorpionAttackDamage(AntarchyMobsConfig.emperorScorpionAttackDamage());
|
||||
AntarchySettings.setEmperorScorpionMovementSpeed(AntarchyMobsConfig.emperorScorpionMovementSpeed());
|
||||
AntarchySettings.setEmperorScorpionArmor(AntarchyMobsConfig.emperorScorpionArmor());
|
||||
AntarchySettings.setEmperorScorpionKnockbackResistance(AntarchyMobsConfig.emperorScorpionKnockbackResistance());
|
||||
AntarchySettings.setEmperorScorpionMovementSpeed(AntarchyMobsConfig.emperorScorpionMovementSpeed());
|
||||
AntarchySettings.setEmperorScorpionFollowRange(AntarchyMobsConfig.emperorScorpionFollowRange());
|
||||
AntarchySettings.setEmperorScorpionXpReward(AntarchyMobsConfig.emperorScorpionXpReward());
|
||||
AntarchySettings.setEmperorScorpionClawAnimTicks(AntarchyMobsConfig.emperorScorpionClawAnimTicks());
|
||||
@@ -123,19 +123,108 @@ public final class AntarchyConfigModuleForge {
|
||||
AntarchySettings.setEmperorScorpionDamageRange(AntarchyMobsConfig.emperorScorpionDamageRange());
|
||||
AntarchySettings.setEmperorScorpionMinDespawnTicks(AntarchyMobsConfig.emperorScorpionMinDespawnTicks());
|
||||
|
||||
AntarchySettings.setScorpionHealth(AntarchyMobsConfig.scorpionHealth());
|
||||
AntarchySettings.setScorpionAttackDamage(AntarchyMobsConfig.scorpionAttackDamage());
|
||||
AntarchySettings.setScorpionMovementSpeed(AntarchyMobsConfig.scorpionMovementSpeed());
|
||||
AntarchySettings.setScorpionArmor(AntarchyMobsConfig.scorpionArmor());
|
||||
AntarchySettings.setScorpionKnockbackResistance(AntarchyMobsConfig.scorpionKnockbackResistance());
|
||||
|
||||
AntarchySettings.setKrakenHealth(AntarchyMobsConfig.krakenHealth());
|
||||
AntarchySettings.setKrakenAttackDamage(AntarchyMobsConfig.krakenAttackDamage());
|
||||
AntarchySettings.setKrakenArmor(AntarchyMobsConfig.krakenArmor());
|
||||
AntarchySettings.setKrakenKnockbackResistance(AntarchyMobsConfig.krakenKnockbackResistance());
|
||||
AntarchySettings.setKrakenMovementSpeed(AntarchyMobsConfig.krakenMovementSpeed());
|
||||
AntarchySettings.setKrakenFlyingSpeed(AntarchyMobsConfig.krakenFlyingSpeed());
|
||||
AntarchySettings.setKrakenBossBarRange(AntarchyMobsConfig.krakenBossBarRange());
|
||||
AntarchySettings.setKrakenLightningDamagePhaseOne((float) AntarchyMobsConfig.krakenLightningDamagePhaseOne());
|
||||
AntarchySettings.setKrakenSquidSpawnEnabled(AntarchyMobsConfig.krakenSquidSpawnEnabled());
|
||||
AntarchySettings.setKrakenMassSpawnEnabled(AntarchyMobsConfig.krakenMassSpawnEnabled());
|
||||
AntarchySettings.setKrakenRequireBadOmenToSummon(AntarchyMobsConfig.krakenRequireBadOmenToSummon());
|
||||
AntarchySettings.setKrakenFollowRange(AntarchyMobsConfig.krakenFollowRange());
|
||||
AntarchySettings.setKrakenDamageRange(AntarchyMobsConfig.krakenDamageRange());
|
||||
AntarchySettings.setKrakenArmor(AntarchyMobsConfig.krakenArmor());
|
||||
AntarchySettings.setKrakenKnockbackResistance(AntarchyMobsConfig.krakenKnockbackResistance());
|
||||
AntarchySettings.setKrakenMovementSpeed(AntarchyMobsConfig.krakenMovementSpeed());
|
||||
AntarchySettings.setKrakenFlyingSpeed(AntarchyMobsConfig.krakenFlyingSpeed());
|
||||
AntarchySettings.setKrakenBossBarRange(AntarchyMobsConfig.krakenBossBarRange());
|
||||
AntarchySettings.setKrakenLightningDamagePhaseOne(AntarchyMobsConfig.krakenLightningDamagePhaseOne());
|
||||
|
||||
AntarchySettings.setKingHealth(AntarchyMobsConfig.kingHealth());
|
||||
AntarchySettings.setQueenHealth(AntarchyMobsConfig.queenHealth());
|
||||
AntarchySettings.setKingAttackDamage(AntarchyMobsConfig.kingAttackDamage());
|
||||
AntarchySettings.setQueenAttackDamage(AntarchyMobsConfig.queenAttackDamage());
|
||||
AntarchySettings.setRoyalBossArmor(AntarchyMobsConfig.royalBossArmor());
|
||||
AntarchySettings.setKingArmor(AntarchyMobsConfig.kingArmor());
|
||||
AntarchySettings.setRoyalBossFollowRange(AntarchyMobsConfig.royalBossFollowRange());
|
||||
AntarchySettings.setRoyalBossMovementSpeed(AntarchyMobsConfig.royalBossMovementSpeed());
|
||||
AntarchySettings.setRoyalBossKnockbackResistance(AntarchyMobsConfig.royalBossKnockbackResistance());
|
||||
AntarchySettings.setRoyalBossStepHeight(AntarchyMobsConfig.royalBossStepHeight());
|
||||
AntarchySettings.setRoyalBossMaxSingleHitDamage(AntarchyMobsConfig.royalBossMaxSingleHitDamage());
|
||||
AntarchySettings.setRoyalBossBiteReach(AntarchyMobsConfig.royalBossBiteReach());
|
||||
AntarchySettings.setRoyalBossBiteDamageMultiplier(AntarchyMobsConfig.royalBossBiteDamageMultiplier());
|
||||
AntarchySettings.setRoyalBossBiteCooldownTicks(AntarchyMobsConfig.royalBossBiteCooldownTicks());
|
||||
AntarchySettings.setRoyalBossMultiplayerScalingEnabled(AntarchyMobsConfig.royalBossMultiplayerScalingEnabled());
|
||||
AntarchySettings.setRoyalBossScalingMaxPlayers(AntarchyMobsConfig.royalBossScalingMaxPlayers());
|
||||
AntarchySettings.setRoyalBossHealthPerAdditionalPlayer(AntarchyMobsConfig.royalBossHealthPerAdditionalPlayer());
|
||||
AntarchySettings.setRoyalBossDamagePerAdditionalPlayer(AntarchyMobsConfig.royalBossDamagePerAdditionalPlayer());
|
||||
AntarchySettings.setRoyalBoundaryRadius(AntarchyMobsConfig.royalBoundaryRadius());
|
||||
AntarchySettings.setRoyalBoundaryWarningRadius(AntarchyMobsConfig.royalBoundaryWarningRadius());
|
||||
AntarchySettings.setRoyalBoundaryGraceTicks(AntarchyMobsConfig.royalBoundaryGraceTicks());
|
||||
AntarchySettings.setQueenBeamDamage(AntarchyMobsConfig.queenBeamDamage());
|
||||
AntarchySettings.setQueenBeamRange(AntarchyMobsConfig.queenBeamRange());
|
||||
AntarchySettings.setQueenBeamMinimumRange(AntarchyMobsConfig.queenBeamMinimumRange());
|
||||
AntarchySettings.setQueenBeamDurationTicks(AntarchyMobsConfig.queenBeamDurationTicks());
|
||||
AntarchySettings.setQueenBeamWindupTicks(AntarchyMobsConfig.queenBeamWindupTicks());
|
||||
AntarchySettings.setQueenBeamTravelTicks(AntarchyMobsConfig.queenBeamTravelTicks());
|
||||
AntarchySettings.setQueenBeamCooldownTicks(AntarchyMobsConfig.queenBeamCooldownTicks());
|
||||
AntarchySettings.setQueenBeamTracking(AntarchyMobsConfig.queenBeamTracking());
|
||||
AntarchySettings.setQueenBeamTerrainRadius(AntarchyMobsConfig.queenBeamTerrainRadius());
|
||||
AntarchySettings.setQueenBeamTerrainCap(AntarchyMobsConfig.queenBeamTerrainCap());
|
||||
AntarchySettings.setQueenBeamPhaseOneCap(AntarchyMobsConfig.queenBeamPhaseOneCap());
|
||||
AntarchySettings.setQueenBeamPhaseTwoCap(AntarchyMobsConfig.queenBeamPhaseTwoCap());
|
||||
AntarchySettings.setQueenBeamPhaseThreeCap(AntarchyMobsConfig.queenBeamPhaseThreeCap());
|
||||
AntarchySettings.setQueenBeamPhaseThreeMaxVolleyChance(AntarchyMobsConfig.queenBeamPhaseThreeMaxVolleyChance());
|
||||
AntarchySettings.setKingBeamDamage(AntarchyMobsConfig.kingBeamDamage());
|
||||
AntarchySettings.setKingBeamRange(AntarchyMobsConfig.kingBeamRange());
|
||||
AntarchySettings.setKingBeamMinimumRange(AntarchyMobsConfig.kingBeamMinimumRange());
|
||||
AntarchySettings.setKingBeamDurationTicks(AntarchyMobsConfig.kingBeamDurationTicks());
|
||||
AntarchySettings.setKingBeamWindupTicks(AntarchyMobsConfig.kingBeamWindupTicks());
|
||||
AntarchySettings.setKingBeamTravelTicks(AntarchyMobsConfig.kingBeamTravelTicks());
|
||||
AntarchySettings.setKingBeamCooldownTicks(AntarchyMobsConfig.kingBeamCooldownTicks());
|
||||
AntarchySettings.setKingBeamTracking(AntarchyMobsConfig.kingBeamTracking());
|
||||
AntarchySettings.setKingBeamTerrainRadius(AntarchyMobsConfig.kingBeamTerrainRadius());
|
||||
AntarchySettings.setKingBeamTerrainCap(AntarchyMobsConfig.kingBeamTerrainCap());
|
||||
AntarchySettings.setRoyalDecreeCooldownTicks(AntarchyMobsConfig.royalDecreeCooldownTicks());
|
||||
AntarchySettings.setKingRoyalMusterCooldownTicks(AntarchyMobsConfig.kingRoyalMusterCooldownTicks());
|
||||
AntarchySettings.setKingRoyalMusterWindupTicks(AntarchyMobsConfig.kingRoyalMusterWindupTicks());
|
||||
AntarchySettings.setKingRoyalMusterDurationTicks(AntarchyMobsConfig.kingRoyalMusterDurationTicks());
|
||||
AntarchySettings.setKingRoyalMusterRadius(AntarchyMobsConfig.kingRoyalMusterRadius());
|
||||
AntarchySettings.setKingRoyalMusterCap(AntarchyMobsConfig.kingRoyalMusterCap());
|
||||
AntarchySettings.setQueenBlackHoleRadius(AntarchyMobsConfig.queenBlackHoleRadius());
|
||||
AntarchySettings.setQueenBlackHoleActiveTicks(AntarchyMobsConfig.queenBlackHoleActiveTicks());
|
||||
AntarchySettings.setQueenBlackHolePullStrength(AntarchyMobsConfig.queenBlackHolePullStrength());
|
||||
AntarchySettings.setQueenBlackHoleBlockSuctionCap(AntarchyMobsConfig.queenBlackHoleBlockSuctionCap());
|
||||
AntarchySettings.setKingFireballDamage(AntarchyMobsConfig.kingFireballDamage());
|
||||
AntarchySettings.setKingFireballRadius(AntarchyMobsConfig.kingFireballRadius());
|
||||
AntarchySettings.setKingFireballCooldownTicks(AntarchyMobsConfig.kingFireballCooldownTicks());
|
||||
AntarchySettings.setKingIceballDamage(AntarchyMobsConfig.kingIceballDamage());
|
||||
AntarchySettings.setKingIceballRadius(AntarchyMobsConfig.kingIceballRadius());
|
||||
AntarchySettings.setKingIceballCooldownTicks(AntarchyMobsConfig.kingIceballCooldownTicks());
|
||||
AntarchySettings.setKingIceSpikeDamage(AntarchyMobsConfig.kingIceSpikeDamage());
|
||||
AntarchySettings.setKingIceSpikeCooldownTicks(AntarchyMobsConfig.kingIceSpikeCooldownTicks());
|
||||
AntarchySettings.setKingElementalTerrainCap(AntarchyMobsConfig.kingElementalTerrainCap());
|
||||
AntarchySettings.setRoyalBossSoundVolume(AntarchyMobsConfig.royalBossSoundVolume());
|
||||
|
||||
AntarchySettings.setRoyalEggHatchChance(AntarchyMobsConfig.royalEggHatchChance());
|
||||
AntarchySettings.setRoyalBoltDamage(AntarchyMobsConfig.royalBoltDamage());
|
||||
AntarchySettings.setPrinceHealth(AntarchyMobsConfig.princeHealth());
|
||||
AntarchySettings.setPrinceAttackDamage(AntarchyMobsConfig.princeAttackDamage());
|
||||
AntarchySettings.setPrinceMovementSpeed(AntarchyMobsConfig.princeMovementSpeed());
|
||||
AntarchySettings.setPrinceFlyingSpeed(AntarchyMobsConfig.princeFlyingSpeed());
|
||||
AntarchySettings.setPrinceArmor(AntarchyMobsConfig.princeArmor());
|
||||
AntarchySettings.setPrinceKnockbackResistance(AntarchyMobsConfig.princeKnockbackResistance());
|
||||
AntarchySettings.setPrinceFollowRange(AntarchyMobsConfig.princeFollowRange());
|
||||
AntarchySettings.setPrincessHealth(AntarchyMobsConfig.princessHealth());
|
||||
AntarchySettings.setPrincessAttackDamage(AntarchyMobsConfig.princessAttackDamage());
|
||||
AntarchySettings.setPrincessMovementSpeed(AntarchyMobsConfig.princessMovementSpeed());
|
||||
AntarchySettings.setPrincessFlyingSpeed(AntarchyMobsConfig.princessFlyingSpeed());
|
||||
AntarchySettings.setPrincessArmor(AntarchyMobsConfig.princessArmor());
|
||||
AntarchySettings.setPrincessKnockbackResistance(AntarchyMobsConfig.princessKnockbackResistance());
|
||||
AntarchySettings.setPrincessFollowRange(AntarchyMobsConfig.princessFollowRange());
|
||||
|
||||
AntarchySettings.setBrutalflyHealth(AntarchyMobsConfig.brutalflyHealth());
|
||||
AntarchySettings.setBrutalflySwipeDamage(AntarchyMobsConfig.brutalflySwipeDamage());
|
||||
@@ -143,9 +232,9 @@ public final class AntarchyConfigModuleForge {
|
||||
AntarchySettings.setBrutalflyDamageRange(AntarchyMobsConfig.brutalflyDamageRange());
|
||||
AntarchySettings.setBrutalflyArmor(AntarchyMobsConfig.brutalflyArmor());
|
||||
AntarchySettings.setBrutalflyArmorToughness(AntarchyMobsConfig.brutalflyArmorToughness());
|
||||
AntarchySettings.setBrutalflyKnockbackResistance(AntarchyMobsConfig.brutalflyKnockbackResistance());
|
||||
AntarchySettings.setBrutalflyMovementSpeed(AntarchyMobsConfig.brutalflyMovementSpeed());
|
||||
AntarchySettings.setBrutalflyFlyingSpeed(AntarchyMobsConfig.brutalflyFlyingSpeed());
|
||||
AntarchySettings.setBrutalflyKnockbackResistance(AntarchyMobsConfig.brutalflyKnockbackResistance());
|
||||
|
||||
AntarchySettings.setMantisHealth(AntarchyMobsConfig.mantisHealth());
|
||||
AntarchySettings.setMantisAttackDamage(AntarchyMobsConfig.mantisAttackDamage());
|
||||
@@ -170,11 +259,47 @@ public final class AntarchyConfigModuleForge {
|
||||
AntarchySettings.setRollyPollyArmor(AntarchyMobsConfig.rollyPollyArmor());
|
||||
AntarchySettings.setRollyPollyRolledArmorBonus(AntarchyMobsConfig.rollyPollyRolledArmorBonus());
|
||||
|
||||
AntarchySettings.setTriffidHealth(AntarchyMobsConfig.triffidHealth());
|
||||
AntarchySettings.setTriffidAttackDamage(AntarchyMobsConfig.triffidAttackDamage());
|
||||
AntarchySettings.setTriffidGrabDamage(AntarchyMobsConfig.triffidGrabDamage());
|
||||
AntarchySettings.setFlytrapHealth(AntarchyMobsConfig.flytrapHealth());
|
||||
AntarchySettings.setFlytrapAttackDamage(AntarchyMobsConfig.flytrapAttackDamage());
|
||||
AntarchySettings.setFlytrapGrabDamage(AntarchyMobsConfig.flytrapGrabDamage());
|
||||
AntarchySettings.setFlytrapSweepHitCooldownTicks(AntarchyMobsConfig.flytrapSweepHitCooldownTicks());
|
||||
|
||||
AntarchySettings.setCaterpillarHealth(AntarchyMobsConfig.caterpillarHealth());
|
||||
AntarchySettings.setCaterpillarMovementSpeed(AntarchyMobsConfig.caterpillarMovementSpeed());
|
||||
AntarchySettings.setCaterpillarPupationTimeSeconds(AntarchyMobsConfig.caterpillarPupationTimeSeconds());
|
||||
AntarchySettings.setFlyingSquirrelHealth(AntarchyMobsConfig.flyingSquirrelHealth());
|
||||
AntarchySettings.setFlyingSquirrelMovementSpeed(AntarchyMobsConfig.flyingSquirrelMovementSpeed());
|
||||
AntarchySettings.setButterflyHealth(AntarchyMobsConfig.butterflyHealth());
|
||||
AntarchySettings.setButterflyMovementSpeed(AntarchyMobsConfig.butterflyMovementSpeed());
|
||||
AntarchySettings.setButterflyFlyingSpeed(AntarchyMobsConfig.butterflyFlyingSpeed());
|
||||
AntarchySettings.setBedBugHealth(AntarchyMobsConfig.bedBugHealth());
|
||||
AntarchySettings.setBedBugAttackDamage(AntarchyMobsConfig.bedBugAttackDamage());
|
||||
AntarchySettings.setBedBugMovementSpeed(AntarchyMobsConfig.bedBugMovementSpeed());
|
||||
AntarchySettings.setBedBugArmor(AntarchyMobsConfig.bedBugArmor());
|
||||
|
||||
AntarchySettings.setStratosharkHealth(AntarchyMobsConfig.stratosharkHealth());
|
||||
AntarchySettings.setStratosharkAttackDamage(AntarchyMobsConfig.stratosharkAttackDamage());
|
||||
AntarchySettings.setStratosharkMovementSpeed(AntarchyMobsConfig.stratosharkMovementSpeed());
|
||||
AntarchySettings.setStratosharkFlyingSpeed(AntarchyMobsConfig.stratosharkFlyingSpeed());
|
||||
AntarchySettings.setStratosharkKnockbackResistance(AntarchyMobsConfig.stratosharkKnockbackResistance());
|
||||
AntarchySettings.setMissileSquidHealth(AntarchyMobsConfig.missileSquidHealth());
|
||||
AntarchySettings.setMissileSquidAttackDamage(AntarchyMobsConfig.missileSquidAttackDamage());
|
||||
AntarchySettings.setMissileSquidMovementSpeed(AntarchyMobsConfig.missileSquidMovementSpeed());
|
||||
AntarchySettings.setMissileSquidFlyingSpeed(AntarchyMobsConfig.missileSquidFlyingSpeed());
|
||||
AntarchySettings.setMissileSquidKnockbackResistance(AntarchyMobsConfig.missileSquidKnockbackResistance());
|
||||
AntarchySettings.setMolewormHealth(AntarchyMobsConfig.molewormHealth());
|
||||
AntarchySettings.setMolewormAttackDamage(AntarchyMobsConfig.molewormAttackDamage());
|
||||
AntarchySettings.setMolewormMovementSpeed(AntarchyMobsConfig.molewormMovementSpeed());
|
||||
AntarchySettings.setMolevoreHealth(AntarchyMobsConfig.molevoreHealth());
|
||||
AntarchySettings.setMolevoreAttackDamage(AntarchyMobsConfig.molevoreAttackDamage());
|
||||
AntarchySettings.setMolevoreSpinTicks(AntarchyMobsConfig.molevoreSpinTicks());
|
||||
AntarchySettings.setMolevoreCooldownTicks(AntarchyMobsConfig.molevoreCooldownTicks());
|
||||
AntarchySettings.setMolevoreChargeSpeed(AntarchyMobsConfig.molevoreChargeSpeed());
|
||||
AntarchySettings.setMolevoreBreakRange(AntarchyMobsConfig.molevoreBreakRange());
|
||||
AntarchySettings.setMolevoreBreakVerticalRange(AntarchyMobsConfig.molevoreBreakVerticalRange());
|
||||
AntarchySettings.setMolevoreBreakHalfWidth(AntarchyMobsConfig.molevoreBreakHalfWidth());
|
||||
AntarchySettings.setOctopusBombHealth(AntarchyMobsConfig.octopusBombHealth());
|
||||
AntarchySettings.setOctopusBombAttackDamage(AntarchyMobsConfig.octopusBombAttackDamage());
|
||||
|
||||
AntarchySettings.setReverieHealth(AntarchyMobsConfig.reverieHealth());
|
||||
AntarchySettings.setReverieInterestRadius(AntarchyMobsConfig.reverieInterestRadius());
|
||||
@@ -194,6 +319,12 @@ public final class AntarchyConfigModuleForge {
|
||||
AntarchySettings.setNightmareMovementSpeed(AntarchyMobsConfig.nightmareMovementSpeed());
|
||||
AntarchySettings.setNightmareWeaknessTicks(AntarchyMobsConfig.nightmareWeaknessTicks());
|
||||
AntarchySettings.setNightmareDreadTicks(AntarchyMobsConfig.nightmareDreadTicks());
|
||||
AntarchySettings.setDimensionalTearLifetimeTicks(AntarchyMobsConfig.dimensionalTearLifetimeTicks());
|
||||
AntarchySettings.setDimensionalTearInvertedDurationTicks(AntarchyMobsConfig.dimensionalTearInvertedDurationTicks());
|
||||
AntarchySettings.setDimensionalTearEmergenceMinIntervalTicks(AntarchyMobsConfig.dimensionalTearEmergenceMinIntervalTicks());
|
||||
AntarchySettings.setDimensionalTearEmergenceMaxIntervalTicks(AntarchyMobsConfig.dimensionalTearEmergenceMaxIntervalTicks());
|
||||
AntarchySettings.setDimensionalTearLucidEventChance(AntarchyMobsConfig.dimensionalTearLucidEventChance());
|
||||
AntarchySettings.setDimensionalTearsSpawnNaturally(AntarchyMobsConfig.dimensionalTearsSpawnNaturally());
|
||||
|
||||
AntarchySettings.setBasiliskPetrifyingGazeEnabled(AntarchyMobsConfig.basiliskPetrifyingGazeEnabled());
|
||||
AntarchySettings.setBasiliskSpawnMaxLightLevel(AntarchyMobsConfig.basiliskSpawnMaxLightLevel());
|
||||
@@ -224,57 +355,21 @@ public final class AntarchyConfigModuleForge {
|
||||
AntarchySettings.setLucidMovementSpeed(AntarchyMobsConfig.lucidMovementSpeed());
|
||||
AntarchySettings.setLucidFlyingSpeed(AntarchyMobsConfig.lucidFlyingSpeed());
|
||||
AntarchySettings.setLucidKnockbackResistance(AntarchyMobsConfig.lucidKnockbackResistance());
|
||||
|
||||
AntarchySettings.setMissileSquidHealth(AntarchyMobsConfig.missileSquidHealth());
|
||||
AntarchySettings.setMissileSquidAttackDamage(AntarchyMobsConfig.missileSquidAttackDamage());
|
||||
AntarchySettings.setMissileSquidMovementSpeed(AntarchyMobsConfig.missileSquidMovementSpeed());
|
||||
AntarchySettings.setMissileSquidFlyingSpeed(AntarchyMobsConfig.missileSquidFlyingSpeed());
|
||||
AntarchySettings.setMissileSquidKnockbackResistance(AntarchyMobsConfig.missileSquidKnockbackResistance());
|
||||
|
||||
AntarchySettings.setOctopusBombHealth(AntarchyMobsConfig.octopusBombHealth());
|
||||
AntarchySettings.setOctopusBombAttackDamage(AntarchyMobsConfig.octopusBombAttackDamage());
|
||||
|
||||
AntarchySettings.setBedBugHealth(AntarchyMobsConfig.bedBugHealth());
|
||||
AntarchySettings.setBedBugAttackDamage(AntarchyMobsConfig.bedBugAttackDamage());
|
||||
AntarchySettings.setBedBugMovementSpeed(AntarchyMobsConfig.bedBugMovementSpeed());
|
||||
AntarchySettings.setBedBugArmor(AntarchyMobsConfig.bedBugArmor());
|
||||
|
||||
AntarchySettings.setCloudSharkHealth(AntarchyMobsConfig.cloudSharkHealth());
|
||||
AntarchySettings.setCloudSharkAttackDamage(AntarchyMobsConfig.cloudSharkAttackDamage());
|
||||
AntarchySettings.setCloudSharkMovementSpeed(AntarchyMobsConfig.cloudSharkMovementSpeed());
|
||||
AntarchySettings.setCloudSharkFlyingSpeed(AntarchyMobsConfig.cloudSharkFlyingSpeed());
|
||||
AntarchySettings.setCloudSharkKnockbackResistance(AntarchyMobsConfig.cloudSharkKnockbackResistance());
|
||||
|
||||
AntarchySettings.setFlyingSquirrelHealth(AntarchyMobsConfig.flyingSquirrelHealth());
|
||||
AntarchySettings.setFlyingSquirrelMovementSpeed(AntarchyMobsConfig.flyingSquirrelMovementSpeed());
|
||||
|
||||
AntarchySettings.setMolevoreHealth(AntarchyMobsConfig.molevoreHealth());
|
||||
AntarchySettings.setMolevoreAttackDamage(AntarchyMobsConfig.molevoreAttackDamage());
|
||||
AntarchySettings.setMolevoreMovementSpeed(AntarchyMobsConfig.molevoreMovementSpeed());
|
||||
AntarchySettings.setMolevoreArmor(AntarchyMobsConfig.molevoreArmor());
|
||||
AntarchySettings.setMolevoreKnockbackResistance(AntarchyMobsConfig.molevoreKnockbackResistance());
|
||||
AntarchySettings.setMolevoreFollowRange(AntarchyMobsConfig.molevoreFollowRange());
|
||||
AntarchySettings.setMolevoreXpReward(AntarchyMobsConfig.molevoreXpReward());
|
||||
AntarchySettings.setMolevoreSpinTicks(AntarchyMobsConfig.molevoreSpinTicks());
|
||||
AntarchySettings.setMolevoreCooldownTicks(AntarchyMobsConfig.molevoreCooldownTicks());
|
||||
AntarchySettings.setMolevoreChargeSpeed(AntarchyMobsConfig.molevoreChargeSpeed());
|
||||
AntarchySettings.setMolevoreBreakRange(AntarchyMobsConfig.molevoreBreakRange());
|
||||
AntarchySettings.setMolevoreBreakVerticalRange(AntarchyMobsConfig.molevoreBreakVerticalRange());
|
||||
AntarchySettings.setMolevoreBreakHalfWidth(AntarchyMobsConfig.molevoreBreakHalfWidth());
|
||||
|
||||
AntarchySettings.setMolewormHealth(AntarchyMobsConfig.molewormHealth());
|
||||
AntarchySettings.setMolewormAttackDamage(AntarchyMobsConfig.molewormAttackDamage());
|
||||
AntarchySettings.setMolewormMovementSpeed(AntarchyMobsConfig.molewormMovementSpeed());
|
||||
|
||||
AntarchySettings.setScorpionHealth(AntarchyMobsConfig.scorpionHealth());
|
||||
AntarchySettings.setScorpionAttackDamage(AntarchyMobsConfig.scorpionAttackDamage());
|
||||
AntarchySettings.setScorpionMovementSpeed(AntarchyMobsConfig.scorpionMovementSpeed());
|
||||
AntarchySettings.setScorpionArmor(AntarchyMobsConfig.scorpionArmor());
|
||||
AntarchySettings.setScorpionKnockbackResistance(AntarchyMobsConfig.scorpionKnockbackResistance());
|
||||
|
||||
AntarchySettings.setButterflyHealth(AntarchyMobsConfig.butterflyHealth());
|
||||
AntarchySettings.setButterflyMovementSpeed(AntarchyMobsConfig.butterflyMovementSpeed());
|
||||
AntarchySettings.setButterflyFlyingSpeed(AntarchyMobsConfig.butterflyFlyingSpeed());
|
||||
AntarchySettings.setVortexHealth(AntarchyMobsConfig.vortexHealth());
|
||||
AntarchySettings.setVortexAttackDamage(AntarchyMobsConfig.vortexAttackDamage());
|
||||
AntarchySettings.setVortexMovementSpeed(AntarchyMobsConfig.vortexMovementSpeed());
|
||||
AntarchySettings.setVortexFlyingSpeed(AntarchyMobsConfig.vortexFlyingSpeed());
|
||||
AntarchySettings.setVortexMaxActiveVortexes(AntarchyMobsConfig.vortexMaxActiveVortexes());
|
||||
AntarchySettings.setWindVortexDurationTicks(AntarchyMobsConfig.windVortexDurationTicks());
|
||||
AntarchySettings.setWindVortexPullStrength(AntarchyMobsConfig.windVortexPullStrength());
|
||||
AntarchySettings.setWindVortexLaunchStrength(AntarchyMobsConfig.windVortexLaunchStrength());
|
||||
AntarchySettings.setVortexLensMinRadius(AntarchyMobsConfig.vortexLensMinRadius());
|
||||
AntarchySettings.setVortexLensMaxRadius(AntarchyMobsConfig.vortexLensMaxRadius());
|
||||
AntarchySettings.setVortexLensMinHeight(AntarchyMobsConfig.vortexLensMinHeight());
|
||||
AntarchySettings.setVortexLensMaxHeight(AntarchyMobsConfig.vortexLensMaxHeight());
|
||||
AntarchySettings.setVortexLensPullStrength(AntarchyMobsConfig.vortexLensPullStrength());
|
||||
AntarchySettings.setVortexLensPushStrength(AntarchyMobsConfig.vortexLensPushStrength());
|
||||
AntarchySettings.setVortexLensLaunchStrength(AntarchyMobsConfig.vortexLensLaunchStrength());
|
||||
|
||||
AntarchySettings.setDreadHallucinationSoundsEnabled(AntarchyMobsConfig.dreadHallucinationSoundsEnabled());
|
||||
AntarchySettings.setDreadHallucinationSoundMinInterval(AntarchyMobsConfig.dreadHallucinationSoundMinInterval());
|
||||
@@ -289,18 +384,23 @@ public final class AntarchyConfigModuleForge {
|
||||
AntarchySettings.setToreterrorJumpAttackKnockback(AntarchyMobsConfig.toreterrorJumpAttackKnockback());
|
||||
AntarchySettings.setToreterrorSpinDamage(AntarchyMobsConfig.toreterrorSpinDamage());
|
||||
AntarchySettings.setToreterrorSpinKnockback(AntarchyMobsConfig.toreterrorSpinKnockback());
|
||||
AntarchySettings.setToreterrorRangedWaterBombChance(AntarchyMobsConfig.toreterrorRangedWaterBombChance());
|
||||
AntarchySettings.setToreterrorProjectileDamageMultiplier(AntarchyMobsConfig.toreterrorProjectileDamageMultiplier());
|
||||
AntarchySettings.setWaterBombDamage(AntarchyMobsConfig.waterBombDamage());
|
||||
AntarchySettings.setWaterBombLifetimeTicks(AntarchyMobsConfig.waterBombLifetimeTicks());
|
||||
AntarchySettings.setWaterBombGravity(AntarchyMobsConfig.waterBombGravity());
|
||||
AntarchySettings.setWaterBombKnockback(AntarchyMobsConfig.waterBombKnockback());
|
||||
AntarchySettings.setWaterCannonCooldownSeconds(AntarchyMobsConfig.waterCannonCooldownSeconds());
|
||||
|
||||
AntarchySettings.setCreepingHorrorHealth(AntarchyMobsConfig.creepingHorrorHealth());
|
||||
AntarchySettings.setCreepingHorrorAttackDamage(AntarchyMobsConfig.creepingHorrorAttackDamage());
|
||||
AntarchySettings.setLurkingTerrorHealth(AntarchyMobsConfig.lurkingTerrorHealth());
|
||||
AntarchySettings.setLurkingTerrorAttackDamage(AntarchyMobsConfig.lurkingTerrorAttackDamage());
|
||||
AntarchySettings.setCrawlingBlightHealth(AntarchyMobsConfig.crawlingBlightHealth());
|
||||
AntarchySettings.setCrawlingBlightAttackDamage(AntarchyMobsConfig.crawlingBlightAttackDamage());
|
||||
AntarchySettings.setSkulkingFrightHealth(AntarchyMobsConfig.skulkingFrightHealth());
|
||||
AntarchySettings.setSkulkingFrightAttackDamage(AntarchyMobsConfig.skulkingFrightAttackDamage());
|
||||
AntarchySettings.setManticoreHealth(AntarchyMobsConfig.manticoreHealth());
|
||||
AntarchySettings.setManticoreAttackDamage(AntarchyMobsConfig.manticoreAttackDamage());
|
||||
AntarchySettings.setManticoreStingPoisonTicks(AntarchyMobsConfig.manticoreStingPoisonTicks());
|
||||
AntarchySettings.setQueenManticoreCap(AntarchyMobsConfig.queenManticoreCap());
|
||||
AntarchySettings.setQueenManticoreSummonCooldownTicks(AntarchyMobsConfig.queenManticoreSummonCooldownTicks());
|
||||
AntarchySettings.setQueenManticoreSummonCount(AntarchyMobsConfig.queenManticoreSummonCount());
|
||||
AntarchySettings.setQueenManticoreSummonRange(AntarchyMobsConfig.queenManticoreSummonRange());
|
||||
AntarchySettings.setJerryInfantHealth(AntarchyMobsConfig.jerryInfantHealth());
|
||||
AntarchySettings.setJerryInfantAttackDamage(AntarchyMobsConfig.jerryInfantAttackDamage());
|
||||
AntarchySettings.setJerryMatureHealth(AntarchyMobsConfig.jerryMatureHealth());
|
||||
@@ -318,7 +418,6 @@ public final class AntarchyConfigModuleForge {
|
||||
AntarchySettings.setHerculesBeetleDamageRange(AntarchyMobsConfig.herculesBeetleDamageRange());
|
||||
AntarchySettings.setOuranwoodDeerHealth(AntarchyMobsConfig.ouranwoodDeerHealth());
|
||||
AntarchySettings.setGlimmerHealth(AntarchyMobsConfig.glimmerHealth());
|
||||
|
||||
AntarchySettings.setAntDanceRadius(AntarchyMobsConfig.antDanceRadius());
|
||||
}
|
||||
|
||||
@@ -351,6 +450,10 @@ public final class AntarchyConfigModuleForge {
|
||||
AntarchySettings.setUltimateCrossbowChargeSpeedMultiplier(AntarchyToolsConfig.ultimateCrossbowChargeSpeedMultiplier());
|
||||
AntarchySettings.setUltimateCrossbowEnchantability(AntarchyToolsConfig.ultimateCrossbowEnchantability());
|
||||
|
||||
AntarchySettings.setUltimateMaceDamageMultiplier(AntarchyToolsConfig.ultimateMaceDamageMultiplier());
|
||||
AntarchySettings.setUltimateMaceAttackSpeed(AntarchyToolsConfig.ultimateMaceAttackSpeed());
|
||||
AntarchySettings.setUltimateMaceEnchantability(AntarchyToolsConfig.ultimateMaceEnchantability());
|
||||
|
||||
AntarchySettings.setUltimateArmorComesEnchanted(AntarchyToolsConfig.ultimateArmorComesEnchanted());
|
||||
AntarchySettings.setUltimateArmorEnchantability(AntarchyToolsConfig.ultimateArmorEnchantability());
|
||||
AntarchySettings.setUltimateHelmetArmorValue(AntarchyToolsConfig.ultimateHelmetArmorValue());
|
||||
@@ -363,6 +466,66 @@ public final class AntarchyConfigModuleForge {
|
||||
AntarchySettings.setUltimateBootsArmorToughness(AntarchyToolsConfig.ultimateBootsArmorToughness());
|
||||
AntarchySettings.setUltimateArmorKnockbackResistance(AntarchyToolsConfig.ultimateArmorKnockbackResistance());
|
||||
|
||||
AntarchySettings.setRoyalArmorComesEnchanted(AntarchyToolsConfig.royalArmorComesEnchanted());
|
||||
AntarchySettings.setRoyalArmorProtectionLevel(AntarchyToolsConfig.royalArmorProtectionLevel());
|
||||
AntarchySettings.setRoyalArmorEnchantability(AntarchyToolsConfig.royalArmorEnchantability());
|
||||
AntarchySettings.setRoyalArmorDurabilityMultiplier(AntarchyToolsConfig.royalArmorDurabilityMultiplier());
|
||||
AntarchySettings.setRoyalGuardianHelmetArmorValue(AntarchyToolsConfig.royalGuardianHelmetArmorValue());
|
||||
AntarchySettings.setRoyalGuardianChestplateArmorValue(AntarchyToolsConfig.royalGuardianChestplateArmorValue());
|
||||
AntarchySettings.setRoyalGuardianLeggingsArmorValue(AntarchyToolsConfig.royalGuardianLeggingsArmorValue());
|
||||
AntarchySettings.setRoyalGuardianBootsArmorValue(AntarchyToolsConfig.royalGuardianBootsArmorValue());
|
||||
AntarchySettings.setRoyalGuardianArmorToughness(AntarchyToolsConfig.royalGuardianArmorToughness());
|
||||
AntarchySettings.setRoyalGuardianArmorKnockbackResistance(AntarchyToolsConfig.royalGuardianArmorKnockbackResistance());
|
||||
AntarchySettings.setRoyalGuardianHelmetJudgmentBonus(AntarchyToolsConfig.royalGuardianHelmetJudgmentBonus());
|
||||
AntarchySettings.setRoyalGuardianChestplateJudgmentBonus(AntarchyToolsConfig.royalGuardianChestplateJudgmentBonus());
|
||||
AntarchySettings.setRoyalGuardianLeggingsJudgmentBonus(AntarchyToolsConfig.royalGuardianLeggingsJudgmentBonus());
|
||||
AntarchySettings.setRoyalGuardianBootsJudgmentBonus(AntarchyToolsConfig.royalGuardianBootsJudgmentBonus());
|
||||
AntarchySettings.setRoyalGuardianJudgmentDurationTicks(AntarchyToolsConfig.royalGuardianJudgmentDurationTicks());
|
||||
AntarchySettings.setRoyalAssailantHelmetArmorValue(AntarchyToolsConfig.royalAssailantHelmetArmorValue());
|
||||
AntarchySettings.setRoyalAssailantChestplateArmorValue(AntarchyToolsConfig.royalAssailantChestplateArmorValue());
|
||||
AntarchySettings.setRoyalAssailantLeggingsArmorValue(AntarchyToolsConfig.royalAssailantLeggingsArmorValue());
|
||||
AntarchySettings.setRoyalAssailantBootsArmorValue(AntarchyToolsConfig.royalAssailantBootsArmorValue());
|
||||
AntarchySettings.setRoyalAssailantArmorToughness(AntarchyToolsConfig.royalAssailantArmorToughness());
|
||||
AntarchySettings.setRoyalAssailantArmorKnockbackResistance(AntarchyToolsConfig.royalAssailantArmorKnockbackResistance());
|
||||
AntarchySettings.setRoyalAssailantHelmetDoubleDamageChance(AntarchyToolsConfig.royalAssailantHelmetDoubleDamageChance());
|
||||
AntarchySettings.setRoyalAssailantChestplateDoubleDamageChance(AntarchyToolsConfig.royalAssailantChestplateDoubleDamageChance());
|
||||
AntarchySettings.setRoyalAssailantLeggingsDoubleDamageChance(AntarchyToolsConfig.royalAssailantLeggingsDoubleDamageChance());
|
||||
AntarchySettings.setRoyalAssailantBootsDoubleDamageChance(AntarchyToolsConfig.royalAssailantBootsDoubleDamageChance());
|
||||
AntarchySettings.setRoyalGuardianSwordAttackDamage(AntarchyToolsConfig.royalGuardianSwordAttackDamage());
|
||||
AntarchySettings.setGiantFryingPanAttackDamage(AntarchyToolsConfig.giantFryingPanAttackDamage());
|
||||
AntarchySettings.setGiantFryingPanCookTimeTicks(AntarchyToolsConfig.giantFryingPanCookTimeTicks());
|
||||
AntarchySettings.setRoyalGuardianSwordAttackSpeed(AntarchyToolsConfig.royalGuardianSwordAttackSpeed());
|
||||
AntarchySettings.setRoyalGuardianSwordElementalCooldownTicks(AntarchyToolsConfig.royalGuardianSwordElementalCooldownTicks());
|
||||
AntarchySettings.setRoyalGuardianSwordFirePrimaryDamage(AntarchyToolsConfig.royalGuardianSwordFirePrimaryDamage());
|
||||
AntarchySettings.setRoyalGuardianSwordFireSplashDamage(AntarchyToolsConfig.royalGuardianSwordFireSplashDamage());
|
||||
AntarchySettings.setRoyalGuardianSwordFrostSpikeDamage(AntarchyToolsConfig.royalGuardianSwordFrostSpikeDamage());
|
||||
AntarchySettings.setRoyalGuardianSwordStormPrimaryDamage(AntarchyToolsConfig.royalGuardianSwordStormPrimaryDamage());
|
||||
AntarchySettings.setRoyalGuardianSwordStormJumpDamage(AntarchyToolsConfig.royalGuardianSwordStormJumpDamage());
|
||||
AntarchySettings.setRoyalGuardianSwordStormMaxJumps(AntarchyToolsConfig.royalGuardianSwordStormMaxJumps());
|
||||
AntarchySettings.setRoyalGuardianSwordStormJumpRange(AntarchyToolsConfig.royalGuardianSwordStormJumpRange());
|
||||
AntarchySettings.setRoyalAssailantBattleAxeAttackDamage(AntarchyToolsConfig.royalAssailantBattleAxeAttackDamage());
|
||||
AntarchySettings.setRoyalAssailantBattleAxeAttackSpeed(AntarchyToolsConfig.royalAssailantBattleAxeAttackSpeed());
|
||||
AntarchySettings.setRoyalWeaponAttackReachBonus(AntarchyToolsConfig.royalWeaponAttackReachBonus());
|
||||
AntarchySettings.setRoyalWeaponAttackKnockbackBonus(AntarchyToolsConfig.royalWeaponAttackKnockbackBonus());
|
||||
AntarchySettings.setRoyalWeaponDurability(AntarchyToolsConfig.royalWeaponDurability());
|
||||
AntarchySettings.setRoyalWeaponEnchantability(AntarchyToolsConfig.royalWeaponEnchantability());
|
||||
AntarchySettings.setRoyalGuardianShieldDurability(AntarchyToolsConfig.royalGuardianShieldDurability());
|
||||
AntarchySettings.setRoyalGuardianMusterRange(AntarchyToolsConfig.royalGuardianMusterRange());
|
||||
AntarchySettings.setRoyalGuardianMusterDurationTicks(AntarchyToolsConfig.royalGuardianMusterDurationTicks());
|
||||
AntarchySettings.setRoyalGuardianMusterCooldownTicks(AntarchyToolsConfig.royalGuardianMusterCooldownTicks());
|
||||
AntarchySettings.setRoyalGuardianMusterMobCap(AntarchyToolsConfig.royalGuardianMusterMobCap());
|
||||
AntarchySettings.setRoyalGuardianMusterDamageReduction(AntarchyToolsConfig.royalGuardianMusterDamageReduction());
|
||||
AntarchySettings.setRoyalGuardianMusterAttackBonus(AntarchyToolsConfig.royalGuardianMusterAttackBonus());
|
||||
AntarchySettings.setRoyalGuardianMusterSpeedBonus(AntarchyToolsConfig.royalGuardianMusterSpeedBonus());
|
||||
AntarchySettings.setRoyalGuardianMusterPassiveDamageFloor(AntarchyToolsConfig.royalGuardianMusterPassiveDamageFloor());
|
||||
AntarchySettings.setRoyalGuardianBoundaryRadius(AntarchyToolsConfig.royalGuardianBoundaryRadius());
|
||||
AntarchySettings.setRoyalGuardianBoundaryDurationTicks(AntarchyToolsConfig.royalGuardianBoundaryDurationTicks());
|
||||
AntarchySettings.setRoyalGuardianBoundaryCooldownTicks(AntarchyToolsConfig.royalGuardianBoundaryCooldownTicks());
|
||||
AntarchySettings.setRoyalGuardianBoundaryStrengthAmplifier(AntarchyToolsConfig.royalGuardianBoundaryStrengthAmplifier());
|
||||
AntarchySettings.setRoyalGuardianBoundaryArrestTicks(AntarchyToolsConfig.royalGuardianBoundaryArrestTicks());
|
||||
AntarchySettings.setRoyalGuardianBoundaryDropTicks(AntarchyToolsConfig.royalGuardianBoundaryDropTicks());
|
||||
AntarchySettings.setRoyalGuardianBoundaryProjectileCap(AntarchyToolsConfig.royalGuardianBoundaryProjectileCap());
|
||||
|
||||
AntarchySettings.setBattleAxeAttackDamage(AntarchyToolsConfig.battleAxeAttackDamage());
|
||||
AntarchySettings.setBattleAxeAttackSpeed(AntarchyToolsConfig.battleAxeAttackSpeed());
|
||||
|
||||
@@ -389,6 +552,7 @@ public final class AntarchyConfigModuleForge {
|
||||
AntarchySettings.setKrakensGraspTentacleSlownessAmplifier(AntarchyToolsConfig.krakensGraspTentacleSlownessAmplifier());
|
||||
AntarchySettings.setKrakensGraspTentacleSlownessRefreshTicks(AntarchyToolsConfig.krakensGraspTentacleSlownessRefreshTicks());
|
||||
AntarchySettings.setScorpionWhipBaseDamage(AntarchyToolsConfig.scorpionWhipBaseDamage());
|
||||
AntarchySettings.setScorpionWhipReachBonus(AntarchyToolsConfig.scorpionWhipReachBonus());
|
||||
AntarchySettings.setScorpionWhipPoisonDurationTicks(AntarchyToolsConfig.scorpionWhipPoisonDurationTicks());
|
||||
AntarchySettings.setScorpionWhipTetherMaxRange(AntarchyToolsConfig.scorpionWhipTetherMaxRange());
|
||||
AntarchySettings.setScorpionWhipSnapBonusDamage(AntarchyToolsConfig.scorpionWhipSnapBonusDamage());
|
||||
@@ -398,6 +562,9 @@ public final class AntarchyConfigModuleForge {
|
||||
AntarchySettings.setBloodCrystalKatanaAttackDamage(AntarchyToolsConfig.bloodCrystalKatanaAttackDamage());
|
||||
AntarchySettings.setBloodCrystalKatanaLaunchStrength(AntarchyToolsConfig.bloodCrystalKatanaLaunchStrength());
|
||||
AntarchySettings.setBloodCrystalKatanaTrailDurationTicks(AntarchyToolsConfig.bloodCrystalKatanaTrailDurationTicks());
|
||||
AntarchySettings.setBloodCrystalKatanaReachBonus(AntarchyToolsConfig.bloodCrystalKatanaReachBonus());
|
||||
AntarchySettings.setBloodCrystalKatanaInvulnTicks(AntarchyToolsConfig.bloodCrystalKatanaInvulnTicks());
|
||||
AntarchySettings.setBloodCrystalKatanaDashCooldownTicks(AntarchyToolsConfig.bloodCrystalKatanaDashCooldownTicks());
|
||||
|
||||
AntarchySettings.setNightmareHelmetArmorValue(AntarchyToolsConfig.nightmareHelmetArmorValue());
|
||||
AntarchySettings.setNightmareChestplateArmorValue(AntarchyToolsConfig.nightmareChestplateArmorValue());
|
||||
@@ -434,8 +601,6 @@ public final class AntarchyConfigModuleForge {
|
||||
AntarchySettings.setShrinkingPotionDelta(AntarchyToolsConfig.shrinkingPotionDelta());
|
||||
AntarchySettings.setGrowthPotionDelta(AntarchyToolsConfig.growthPotionDelta());
|
||||
|
||||
AntarchySettings.setInvertProjectilesFromInvertedPlayers(AntarchyToolsConfig.invertProjectilesFromInvertedPlayers());
|
||||
|
||||
AntarchySettings.setGravityGunEnabled(AntarchyToolsConfig.gravityGunEnabled());
|
||||
AntarchySettings.setGravityGunBlocksEnabled(AntarchyToolsConfig.gravityGunBlocksEnabled());
|
||||
AntarchySettings.setGravityGunEntitiesEnabled(AntarchyToolsConfig.gravityGunEntitiesEnabled());
|
||||
@@ -444,10 +609,23 @@ public final class AntarchyConfigModuleForge {
|
||||
AntarchySettings.setGravityGunBlastStrength(AntarchyToolsConfig.gravityGunBlastStrength());
|
||||
AntarchySettings.setGravityGunCooldownSeconds(AntarchyToolsConfig.gravityGunCooldownSeconds());
|
||||
AntarchySettings.setGravityGunMaxHoldDistance(AntarchyToolsConfig.gravityGunMaxHoldDistance());
|
||||
AntarchySettings.setEyeOfTheStormEnabled(AntarchyToolsConfig.eyeOfTheStormEnabled());
|
||||
AntarchySettings.setEyeOfTheStormUpdraftCooldownTicks(AntarchyToolsConfig.eyeOfTheStormUpdraftCooldownTicks());
|
||||
AntarchySettings.setEyeOfTheStormUpdraftLaunchStrength(AntarchyToolsConfig.eyeOfTheStormUpdraftLaunchStrength());
|
||||
AntarchySettings.setEyeOfTheStormUpdraftHeight(AntarchyToolsConfig.eyeOfTheStormUpdraftHeight());
|
||||
AntarchySettings.setEyeOfTheStormUpdraftRadius(AntarchyToolsConfig.eyeOfTheStormUpdraftRadius());
|
||||
AntarchySettings.setEyeOfTheStormUpdraftDurationTicks(AntarchyToolsConfig.eyeOfTheStormUpdraftDurationTicks());
|
||||
AntarchySettings.setEyeOfTheStormSurgeCooldownTicks(AntarchyToolsConfig.eyeOfTheStormSurgeCooldownTicks());
|
||||
AntarchySettings.setEyeOfTheStormSurgeRange(AntarchyToolsConfig.eyeOfTheStormSurgeRange());
|
||||
AntarchySettings.setEyeOfTheStormSurgeDurationTicks(AntarchyToolsConfig.eyeOfTheStormSurgeDurationTicks());
|
||||
AntarchySettings.setEyeOfTheStormSurgeRadius(AntarchyToolsConfig.eyeOfTheStormSurgeRadius());
|
||||
AntarchySettings.setEyeOfTheStormSurgeHeight(AntarchyToolsConfig.eyeOfTheStormSurgeHeight());
|
||||
AntarchySettings.setEyeOfTheStormSurgePullStrength(AntarchyToolsConfig.eyeOfTheStormSurgePullStrength());
|
||||
AntarchySettings.setEyeOfTheStormSurgeReturnStrength(AntarchyToolsConfig.eyeOfTheStormSurgeReturnStrength());
|
||||
AntarchySettings.setEyeOfTheStormSurgeDamage(AntarchyToolsConfig.eyeOfTheStormSurgeDamage());
|
||||
AntarchySettings.setCritterCageMaxCapturableWidth(AntarchyToolsConfig.critterCageMaxCapturableWidth());
|
||||
AntarchySettings.setCritterCageMaxCapturableHeight(AntarchyToolsConfig.critterCageMaxCapturableHeight());
|
||||
|
||||
|
||||
AntarchySettings.setDuctTapeRepairPercentPerUse(AntarchyToolsConfig.ductTapeRepairPercentPerUse());
|
||||
AntarchySettings.setPotentNyxiteInvertedDurationSeconds(AntarchyToolsConfig.potentNyxiteInvertedDurationSeconds());
|
||||
AntarchySettings.setCorneaEarNightVisionSeconds(AntarchyToolsConfig.corneaEarNightVisionSeconds());
|
||||
@@ -474,22 +652,30 @@ public final class AntarchyConfigModuleForge {
|
||||
AntarchySettings.setDiamondMinecartCoastDeceleration(AntarchyMiscConfig.diamondMinecartCoastDeceleration());
|
||||
AntarchySettings.setDiamondMinecartMobDamageEnabled(AntarchyMiscConfig.diamondMinecartMobDamageEnabled());
|
||||
AntarchySettings.setDiamondMinecartMaxMobDamage(AntarchyMiscConfig.diamondMinecartMaxMobDamage());
|
||||
AntarchySettings.setHoverboardMaxSpeed(AntarchyMiscConfig.hoverboardMaxSpeed());
|
||||
AntarchySettings.setHoverboardAcceleration(AntarchyMiscConfig.hoverboardAcceleration());
|
||||
AntarchySettings.setPermanentPortalsEnabled(AntarchyMiscConfig.permanentPortalsEnabled());
|
||||
AntarchySettings.setPermanentPortalsFlintAndSteelEnabled(AntarchyMiscConfig.permanentPortalsFlintAndSteelEnabled());
|
||||
AntarchySettings.setElythiaPortalEnabled(AntarchyMiscConfig.elythiaPortalEnabled());
|
||||
AntarchySettings.setThoraxisPortalEnabled(AntarchyMiscConfig.thoraxisPortalEnabled());
|
||||
AntarchySettings.setCavarynPortalEnabled(AntarchyMiscConfig.cavarynPortalEnabled());
|
||||
|
||||
|
||||
// Misc
|
||||
AntarchySettings.setPortalGunCanFireThroughGlass(AntarchyMiscConfig.portalGunCanFireThroughGlass());
|
||||
AntarchySettings.setPortalGunCanFireThroughLiquid(AntarchyMiscConfig.portalGunCanFireThroughLiquid());
|
||||
AntarchySettings.setPortalGunCanPortalsResizeWhenCreated(AntarchyMiscConfig.portalGunCanPortalsResizeWhenCreated());
|
||||
AntarchySettings.setPortalGunCanPortalProjectilesChunkload(AntarchyMiscConfig.portalGunCanPortalProjectilesChunkload());
|
||||
AntarchySettings.setPortalGunSeeThroughPortals(AntarchyMiscConfig.portalGunSeeThroughPortals());
|
||||
AntarchySettings.setPortalGunFancyPortals(AntarchyMiscConfig.portalGunFancyPortals());
|
||||
AntarchySettings.setPortalGunMaxShootDistance(AntarchyMiscConfig.portalGunMaxShootDistance());
|
||||
AntarchySettings.setPortalGunMinFloorExitSpeed(AntarchyMiscConfig.portalGunMinFloorExitSpeed());
|
||||
AntarchySettings.setPortalGunMaxLiveViews(AntarchyMiscConfig.portalGunMaxLiveViews());
|
||||
AntarchySettings.setPortalGunMaxExitSpeed(AntarchyMiscConfig.portalGunMaxExitSpeed());
|
||||
AntarchySettings.setPortalGunMoonPullsBlocks(AntarchyMiscConfig.portalGunMoonPullsBlocks());
|
||||
AntarchySettings.setPortalGunMoonPortalSeconds(AntarchyMiscConfig.portalGunMoonPortalSeconds());
|
||||
AntarchySettings.setPortalGunMoonBlockCap(AntarchyMiscConfig.portalGunMoonBlockCap());
|
||||
|
||||
AntarchySettings.setElythiaFireflyParticlesEnabled(AntarchyMiscConfig.elythiaFireflyParticlesEnabled());
|
||||
|
||||
AntarchySettings.setDreamSandEnabled(AntarchyMiscConfig.dreamSandEnabled());
|
||||
AntarchySettings.setDreamSandJumpVelocityMultiplier(AntarchyMiscConfig.dreamSandJumpVelocityMultiplier());
|
||||
AntarchySettings.setDreamSandGravityMultiplier(AntarchyMiscConfig.dreamSandGravityMultiplier());
|
||||
AntarchySettings.setDreamSandFallingBlockGravityMultiplier(AntarchyMiscConfig.dreamSandFallingBlockGravityMultiplier());
|
||||
AntarchySettings.setDreamSandEffectDurationSeconds(AntarchyMiscConfig.dreamSandEffectDurationSeconds());
|
||||
|
||||
AntarchySettings.setIchorWitherEnabled(AntarchyMiscConfig.ichorWitherEnabled());
|
||||
|
||||
|
||||
@@ -1,25 +1,28 @@
|
||||
package com.craisinlord.antarchy.forge;
|
||||
|
||||
import com.craisinlord.anthology.effect.AnthologyEffects;
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.compat.infinity.InfinityCompat;
|
||||
import com.craisinlord.antarchy.compat.infinity.InfinityCompatVersion;
|
||||
import com.craisinlord.antarchy.content.AntarchyGameRules;
|
||||
import com.craisinlord.antarchy.content.AntarchyObjects;
|
||||
import com.craisinlord.antarchy.content.AntarchySoundEvents;
|
||||
import com.craisinlord.antarchy.content.enchantment.AntarchyEnchantments;
|
||||
import com.craisinlord.antarchy.content.advancement.AntarchyAdvancementTriggers;
|
||||
import com.craisinlord.antarchy.content.item.BloodCrystalKatanaItem;
|
||||
import com.craisinlord.antarchy.content.item.ScorpionWhipTetherSync;
|
||||
import com.craisinlord.antarchy.content.network.BloodCrystalKatanaTrailPayload;
|
||||
import com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync;
|
||||
import com.craisinlord.antarchy.content.portal.PermanentPortalType;
|
||||
import com.craisinlord.antarchy.forge.registry.*;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyGravityNetworking;
|
||||
import com.craisinlord.antarchy.content.enchantment.AntarchyEnchantments;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
import net.minecraftforge.common.ForgeMod;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.fml.ModList;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||
|
||||
|
||||
|
||||
@Mod(Antarchy.MODID)
|
||||
public class AntarchyForge {
|
||||
public static IEventBus modEventBusTempHolder = null;
|
||||
@@ -27,24 +30,29 @@ public class AntarchyForge {
|
||||
public AntarchyForge() {
|
||||
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
|
||||
modEventBusTempHolder = modEventBus;
|
||||
AntarchyAdvancementTriggers.register();
|
||||
bootstrapGameRules();
|
||||
AntarchyConfigModuleForge.init();
|
||||
AntarchySoundEvents.bind(
|
||||
AntarchyForgeSounds.SQUIDZOOKA_FIRE,
|
||||
AntarchyForgeSounds.SHRINK_RAY_SOUND,
|
||||
AntarchyForgeSounds.GROWTH_RAY_SOUND,
|
||||
AntarchyForgeSounds.SIZE_RAY_CHARGE,
|
||||
AntarchyForgeSounds.SHRINK_RAY_CHARGE,
|
||||
AntarchyForgeSounds.SHRINK_RAY_LOOP,
|
||||
AntarchyForgeSounds.GROWTH_RAY_CHARGE,
|
||||
AntarchyForgeSounds.GROWTH_RAY_LOOP,
|
||||
AntarchyForgeSounds.SIZE_RAY_WEAKSHOT,
|
||||
AntarchyForgeSounds.SIZE_RAY_MEDIUMSHOT,
|
||||
AntarchyForgeSounds.SIZE_RAY_CRITSHOT,
|
||||
AntarchyForgeSounds.ANT_AMBIENT,
|
||||
AntarchyForgeSounds.ANT_IDLE,
|
||||
AntarchyForgeSounds.ANT_HURT,
|
||||
AntarchyForgeSounds.ANT_BITE,
|
||||
AntarchyForgeSounds.ANT_GATHER,
|
||||
AntarchyForgeSounds.ANT_NEST,
|
||||
AntarchyForgeSounds.CLOUD_SHARK_BITE,
|
||||
AntarchyForgeSounds.CLOUD_SHARK_IDLE,
|
||||
AntarchyForgeSounds.CLOUD_SHARK_HURT,
|
||||
AntarchyForgeSounds.CLOUD_SHARK_DEATH,
|
||||
AntarchyForgeSounds.CLOUD_SHARK_FLY,
|
||||
AntarchyForgeSounds.STRATOSHARK_BITE,
|
||||
AntarchyForgeSounds.STRATOSHARK_IDLE,
|
||||
AntarchyForgeSounds.STRATOSHARK_HURT,
|
||||
AntarchyForgeSounds.STRATOSHARK_DEATH,
|
||||
AntarchyForgeSounds.STRATOSHARK_FLY,
|
||||
AntarchyForgeSounds.CATERPILLAR_IDLE,
|
||||
AntarchyForgeSounds.CATERPILLAR_HURT,
|
||||
AntarchyForgeSounds.CATERPILLAR_CRAWL,
|
||||
@@ -52,6 +60,7 @@ public class AntarchyForge {
|
||||
AntarchyForgeSounds.BRUTALFLY_IDLE,
|
||||
AntarchyForgeSounds.BRUTALFLY_DEATH,
|
||||
AntarchyForgeSounds.ELYTHIA_FIREFLY_AMBIENT,
|
||||
AntarchyForgeSounds.ELYTHIA_OURANWOOD_FOREST_AMBIENT,
|
||||
AntarchyForgeSounds.MISSILE_SQUID_AMBIENT,
|
||||
AntarchyForgeSounds.MISSILE_SQUID_HURT,
|
||||
AntarchyForgeSounds.MISSILE_SQUID_DEATH,
|
||||
@@ -103,16 +112,20 @@ public class AntarchyForge {
|
||||
AntarchyForgeSounds.NIGHTMARE_DEATH,
|
||||
AntarchyForgeSounds.NIGHTMARE_BITE,
|
||||
AntarchyForgeSounds.NIGHTMARE_FLAP,
|
||||
AntarchyForgeSounds.TRIFFID_ATTACK,
|
||||
AntarchyForgeSounds.TRIFFID_GRAB,
|
||||
AntarchyForgeSounds.TRIFFID_HURT,
|
||||
AntarchyForgeSounds.TRIFFID_DEATH,
|
||||
AntarchyForgeSounds.TRIFFID_HISS,
|
||||
AntarchyForgeSounds.TRIFFID_GROWL,
|
||||
AntarchyForgeSounds.FLYTRAP_ATTACK,
|
||||
AntarchyForgeSounds.FLYTRAP_GRAB,
|
||||
AntarchyForgeSounds.FLYTRAP_HURT,
|
||||
AntarchyForgeSounds.FLYTRAP_DEATH,
|
||||
AntarchyForgeSounds.FLYTRAP_HISS,
|
||||
AntarchyForgeSounds.FLYTRAP_GROWL,
|
||||
AntarchyForgeSounds.MANTIS_AMBIENT,
|
||||
AntarchyForgeSounds.MANTIS_HURT,
|
||||
AntarchyForgeSounds.MANTIS_ATTACK,
|
||||
AntarchyForgeSounds.MANTIS_FLY_LOOP,
|
||||
AntarchyForgeSounds.MANTICORE_IDLE,
|
||||
AntarchyForgeSounds.MANTICORE_WALK,
|
||||
AntarchyForgeSounds.MANTICORE_FLY,
|
||||
AntarchyForgeSounds.MANTICORE_BITE,
|
||||
AntarchyForgeSounds.GRAVITY_GUN_PICKUP,
|
||||
AntarchyForgeSounds.GRAVITY_GUN_DROP,
|
||||
AntarchyForgeSounds.GRAVITY_GUN_HOLD_LOOP,
|
||||
@@ -157,13 +170,13 @@ public class AntarchyForge {
|
||||
AntarchyForgeSounds.STINK_BUG_IDLE,
|
||||
AntarchyForgeSounds.CAVARYN_HEARTBEAT,
|
||||
AntarchyForgeSounds.ROLLY_POLLY_IDLE,
|
||||
AntarchyForgeSounds.CREEPING_HORROR_GROWL,
|
||||
AntarchyForgeSounds.CREEPING_HORROR_HURT,
|
||||
AntarchyForgeSounds.CREEPING_HORROR_BITE,
|
||||
AntarchyForgeSounds.LURKING_TERROR_SNARL,
|
||||
AntarchyForgeSounds.LURKING_TERROR_HURT,
|
||||
AntarchyForgeSounds.LURKING_TERROR_BITE,
|
||||
AntarchyForgeSounds.LURKING_TERROR_FLY_LOOP,
|
||||
AntarchyForgeSounds.CRAWLING_BLIGHT_GROWL,
|
||||
AntarchyForgeSounds.CRAWLING_BLIGHT_HURT,
|
||||
AntarchyForgeSounds.CRAWLING_BLIGHT_BITE,
|
||||
AntarchyForgeSounds.SKULKING_FRIGHT_SNARL,
|
||||
AntarchyForgeSounds.SKULKING_FRIGHT_HURT,
|
||||
AntarchyForgeSounds.SKULKING_FRIGHT_BITE,
|
||||
AntarchyForgeSounds.SKULKING_FRIGHT_FLY_LOOP,
|
||||
AntarchyForgeSounds.DUCT_TAPE_USE,
|
||||
AntarchyForgeSounds.HERCULES_BEETLE_IDLE,
|
||||
AntarchyForgeSounds.HERCULES_BEETLE_HURT,
|
||||
@@ -171,10 +184,10 @@ public class AntarchyForge {
|
||||
AntarchyForgeSounds.HERCULES_BEETLE_CRY,
|
||||
AntarchyForgeSounds.HERCULES_BEETLE_CHARGE_START,
|
||||
AntarchyForgeSounds.HERCULES_BEETLE_KNOCKED_DOWN,
|
||||
AntarchyForgeSounds.JUMPY_BUG_IDLE,
|
||||
AntarchyForgeSounds.SPRINGBUG_IDLE,
|
||||
AntarchyForgeSounds.SPIT_BUG_IDLE,
|
||||
AntarchyForgeSounds.JUMPY_BUG_HURT,
|
||||
AntarchyForgeSounds.JUMPY_BUG_JUMP,
|
||||
AntarchyForgeSounds.SPRINGBUG_HURT,
|
||||
AntarchyForgeSounds.SPRINGBUG_JUMP,
|
||||
AntarchyForgeSounds.SPIT_BUG_HURT,
|
||||
AntarchyForgeSounds.SPIT_BUG_SPIT,
|
||||
AntarchyForgeSounds.BRUTALFLY_SPIT,
|
||||
@@ -188,33 +201,75 @@ public class AntarchyForge {
|
||||
AntarchyForgeSounds.JERRY_ADULT_IDLE,
|
||||
AntarchyForgeSounds.JERRY_ADULT_HURT,
|
||||
AntarchyForgeSounds.JERRY_ADULT_DEATH,
|
||||
AntarchyForgeSounds.JERRY_ADULT_ATTACK
|
||||
AntarchyForgeSounds.JERRY_ADULT_ATTACK,
|
||||
AntarchyForgeSounds.WORM_HOOK_FLYING,
|
||||
AntarchyForgeSounds.BLOOD_CRYSTAL_KATANA_DASH,
|
||||
AntarchyForgeSounds.BLOOD_CRYSTAL_ARMOR_EQUIP,
|
||||
AntarchyForgeSounds.BLOODGLASS_WARD_HEART_BREAK,
|
||||
AntarchyForgeSounds.BLOODGLASS_WARD_HEART_REGEN,
|
||||
AntarchyForgeSounds.KING_IDLE,
|
||||
AntarchyForgeSounds.KING_HURT,
|
||||
AntarchyForgeSounds.KING_DEATH,
|
||||
AntarchyForgeSounds.KING_BITE,
|
||||
AntarchyForgeSounds.QUEEN_IDLE,
|
||||
AntarchyForgeSounds.QUEEN_HURT,
|
||||
AntarchyForgeSounds.QUEEN_DEATH,
|
||||
AntarchyForgeSounds.QUEEN_BITE,
|
||||
AntarchyForgeSounds.QUEEN_ROAR,
|
||||
AntarchyForgeSounds.KING_BEAM_SHOOT,
|
||||
AntarchyForgeSounds.KING_FIREBALL_SHOOT,
|
||||
AntarchyForgeSounds.KING_ICE_SPIKES,
|
||||
AntarchyForgeSounds.KING_DECREE_CAST,
|
||||
AntarchyForgeSounds.QUEEN_BEAM_SHOOT,
|
||||
AntarchyForgeSounds.QUEEN_BEAM_START,
|
||||
AntarchyForgeSounds.QUEEN_BEAM_LOOP,
|
||||
AntarchyForgeSounds.QUEEN_BEAM_END,
|
||||
AntarchyForgeSounds.KING_STOMP,
|
||||
AntarchyForgeSounds.KING_ROAR,
|
||||
AntarchyForgeSounds.KING_WING_FLAP,
|
||||
AntarchyForgeSounds.KING_FLY_LOOP,
|
||||
AntarchyForgeSounds.QUEEN_FLY_LOOP,
|
||||
AntarchyForgeSounds.PRINCE_IDLE,
|
||||
AntarchyForgeSounds.PRINCE_BITE,
|
||||
AntarchyForgeSounds.PRINCE_SHOOT,
|
||||
AntarchyForgeSounds.PRINCE_FLY,
|
||||
AntarchyForgeSounds.PRINCE_STEP,
|
||||
AntarchyForgeSounds.PRINCESS_IDLE,
|
||||
AntarchyForgeSounds.PRINCESS_BITE,
|
||||
AntarchyForgeSounds.PRINCESS_SHOOT,
|
||||
AntarchyForgeSounds.PRINCESS_FLY,
|
||||
AntarchyForgeSounds.PRINCESS_STEP,
|
||||
AntarchyForgeSounds.KING_DECREE,
|
||||
AntarchyForgeSounds.KING_SUCCESS,
|
||||
AntarchyForgeSounds.KING_JUDGEMENT
|
||||
);
|
||||
AntarchySoundEvents.bindDimensionalTearSounds(
|
||||
AntarchyForgeSounds.DIMENSIONAL_TEAR_OPEN,
|
||||
AntarchyForgeSounds.DIMENSIONAL_TEAR_IDLE,
|
||||
AntarchyForgeSounds.DIMENSIONAL_TEAR_CREATURE_LEAVES,
|
||||
AntarchyForgeSounds.DIMENSIONAL_TEAR_CLOSE
|
||||
);
|
||||
AntarchySoundEvents.bindHoverboardSounds(AntarchyForgeSounds.HOVERBOARD_MOUNT, AntarchyForgeSounds.HOVERBOARD_DISMOUNT, AntarchyForgeSounds.HOVERBOARD_IDLE);
|
||||
bindCommonObjects();
|
||||
ScorpionWhipTetherSync.setSink((player, targetId) -> com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore.sendToTrackingEntity(
|
||||
ScorpionWhipTetherSync.setSink((player, targetId) -> AntarchyForgeNetworkCore.sendToTrackingEntity(
|
||||
player,
|
||||
new com.craisinlord.antarchy.content.network.ScorpionWhipTetherPayload(player.getId(), targetId)
|
||||
));
|
||||
BloodCrystalKatanaItem.setTrailCallback((player, durationTicks) -> com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore.sendToTrackingEntity(
|
||||
com.craisinlord.antarchy.content.item.WormHookTetherSync.setSink((player, hookId) -> AntarchyForgeNetworkCore.sendToTrackingEntity(
|
||||
player,
|
||||
new com.craisinlord.antarchy.content.network.WormHookTetherPayload(player.getId(), hookId)
|
||||
));
|
||||
AntarchyObjects.setWormHookProjectile(() -> AntarchyForgeEntites.WORM_HOOK_PROJECTILE.get());
|
||||
AntarchyObjects.setWormHook(() -> AntarchyForgeItems.WORM_HOOK.get());
|
||||
BloodCrystalKatanaItem.setTrailCallback((player, durationTicks) -> AntarchyForgeNetworkCore.sendToTrackingEntity(
|
||||
player,
|
||||
new BloodCrystalKatanaTrailPayload(player.getId(), durationTicks)
|
||||
));
|
||||
com.craisinlord.antarchy.content.gravity.AntarchyGravityApi.setSyncDispatcher(AntarchyGravityNetworking::syncEntity);
|
||||
com.craisinlord.antarchy.content.time.TimeDilationApi.setSyncDispatcher(
|
||||
com.craisinlord.antarchy.forge.network.AntarchyTimeDilationNetworking::syncRate);
|
||||
com.craisinlord.antarchy.content.time.TimeDilationApi.setFieldSyncDispatcher(
|
||||
com.craisinlord.antarchy.forge.network.AntarchyTimeDilationNetworking::syncFields);
|
||||
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.setSendToPlayer(
|
||||
com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore::sendToPlayer);
|
||||
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.setSyncSelfAndTracking(player ->
|
||||
com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore.sendToTrackingEntity(
|
||||
player,
|
||||
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.payload(player)
|
||||
));
|
||||
com.craisinlord.antarchy.content.effect.AntarchySizeScaling.register(
|
||||
com.craisinlord.antarchy.forge.registry.AntarchyForgeMisc.SHRINKING_EFFECT,
|
||||
com.craisinlord.antarchy.forge.registry.AntarchyForgeMisc.GROWTH_EFFECT
|
||||
);
|
||||
TigerEyeCamouflageSync.setSendToPlayer(AntarchyForgeNetworkCore::sendToPlayer);
|
||||
TigerEyeCamouflageSync.setSyncSelfAndTracking(player -> AntarchyForgeNetworkCore.sendToTrackingEntity(
|
||||
player,
|
||||
TigerEyeCamouflageSync.payload(player)
|
||||
));
|
||||
if (isSupportedInfinityLoaded()) {
|
||||
InfinityCompat.bind(new ForgeInfinityCompat());
|
||||
}
|
||||
@@ -229,6 +284,10 @@ public class AntarchyForge {
|
||||
AntarchyForgeCreativeModeTabs.register(modEventBus);
|
||||
AntarchyForgeEntityAttributes.register(modEventBus);
|
||||
AntarchyForgePayloadHandlers.register();
|
||||
com.craisinlord.antarchy.content.network.AntarchyGameNetworking.setSender(payload ->
|
||||
com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore.sendToServer(payload));
|
||||
com.craisinlord.antarchy.content.network.AntarchyGameNetworkHandler.setResultSender((player, payload) ->
|
||||
com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore.sendToPlayer(player, payload));
|
||||
Antarchy.init();
|
||||
}
|
||||
|
||||
@@ -242,6 +301,8 @@ public class AntarchyForge {
|
||||
|
||||
private static void bindCommonObjects() {
|
||||
com.craisinlord.antarchy.content.entity.UpwardFallingBlockEntity.TYPE = AntarchyForgeEntites.UPWARD_FALLING_BLOCK;
|
||||
AntarchyObjects.setLucidAnchor(() -> AntarchyForgeBlocks.LUCID_ANCHOR.get());
|
||||
AntarchyObjects.setLucidAnchorBlockEntity(() -> AntarchyForgeBlocks.LUCID_ANCHOR_BLOCK_ENTITY.get());
|
||||
PermanentPortalType.bindBlocks(
|
||||
() -> AntarchyForgeBlocks.MOSSY_OURANWOOD_WOOD.get(),
|
||||
() -> AntarchyForgeBlocks.ELYTHIA_PORTAL.get(),
|
||||
@@ -264,14 +325,14 @@ public class AntarchyForge {
|
||||
AntarchyForgeEntites.CATERPILLAR,
|
||||
AntarchyForgeEntites.BUTTERFLY,
|
||||
AntarchyForgeEntites.REVERIE,
|
||||
AntarchyForgeEntites.TRIFFID,
|
||||
AntarchyForgeEntites.FLYTRAP,
|
||||
AntarchyForgeEntites.BRUTALFLY,
|
||||
AntarchyForgeEntites.BRUTALFLY_ORB,
|
||||
AntarchyForgeEntites.HUSH_PROJECTILE,
|
||||
AntarchyForgeEntites.TORETERROR,
|
||||
AntarchyForgeEntites.WATER_BOMB,
|
||||
AntarchyForgeEntites.CREEPING_HORROR,
|
||||
AntarchyForgeEntites.LURKING_TERROR,
|
||||
AntarchyForgeEntites.CRAWLING_BLIGHT,
|
||||
AntarchyForgeEntites.SKULKING_FRIGHT,
|
||||
AntarchyForgeEntites.STINK_BUG,
|
||||
AntarchyForgeEntites.CHEEP,
|
||||
AntarchyForgeEntites.DORRIE,
|
||||
@@ -300,7 +361,7 @@ public class AntarchyForge {
|
||||
() -> AntarchyForgeBlocks.SHELLSTONE_BRICK_SLAB.get(),
|
||||
() -> AntarchyForgeBlocks.SHELLSTONE_BRICK_WALL.get(),
|
||||
() -> AntarchyForgeBlocks.CLOUD_BLOCK.get(),
|
||||
() -> AntarchyForgeBlocks.TRIFFID_GOO_BLOCK.get(),
|
||||
() -> AntarchyForgeBlocks.FLYTRAP_GOO_BLOCK.get(),
|
||||
() -> AntarchyForgeBlocks.PALE_NYXITE.get(),
|
||||
() -> AntarchyForgeBlocks.NYXITE_SPIKE.get(),
|
||||
() -> AntarchyForgeBlocks.CHITIN_BLOCK.get(),
|
||||
@@ -318,10 +379,10 @@ public class AntarchyForge {
|
||||
() -> AntarchyForgeItems.MOGGLES.get(),
|
||||
() -> AntarchyForgeItems.REVERIE_BOTTLE.get(),
|
||||
() -> AntarchyForgeItems.STINK_BUG.get(),
|
||||
() -> AntarchyForgeMisc.mobEffectHolder(AntarchyForgeMisc.DREAD),
|
||||
() -> AntarchyForgeMisc.mobEffectHolder(AntarchyForgeMisc.PARALYZED),
|
||||
() -> AntarchyForgeMisc.mobEffectHolder(AntarchyForgeMisc.INVERTED),
|
||||
() -> AntarchyForgeMisc.mobEffectHolder(AntarchyForgeMisc.STINKY),
|
||||
() -> AntarchyForgeMisc.DREAD.get(),
|
||||
() -> AntarchyForgeMisc.PARALYZED.get(),
|
||||
AnthologyEffects::inverted,
|
||||
() -> AntarchyForgeMisc.STINKY.get(),
|
||||
() -> AntarchyForgeBlocks.OURANWOOD_ACORN_BLOCK.get(),
|
||||
() -> AntarchyForgeBlocks.MOSSY_OURANWOOD_LOG.get(),
|
||||
() -> AntarchyForgeBlocks.MOSSY_OURANWOOD_WOOD.get(),
|
||||
@@ -332,8 +393,8 @@ public class AntarchyForge {
|
||||
() -> AntarchyForgeBlocks.ORANGE_MILKWEED.get(),
|
||||
() -> AntarchyForgeBlocks.PINK_MILKWEED.get(),
|
||||
() -> AntarchyForgeBlocks.BED_BUG_EGG.get(),
|
||||
() -> AntarchyForgeBlocks.CREEPING_HORROR_EGG.get(),
|
||||
() -> AntarchyForgeBlocks.LURKING_TERROR_EGG.get(),
|
||||
() -> AntarchyForgeBlocks.CRAWLING_BLIGHT_EGG.get(),
|
||||
() -> AntarchyForgeBlocks.SKULKING_FRIGHT_EGG.get(),
|
||||
() -> AntarchyForgeBlocks.WASP_NEST.get(),
|
||||
() -> AntarchyForgeBlocks.HUSHWEED.get(),
|
||||
() -> AntarchyForgeBlocks.OURANWOOD_SQUIRREL_NEST.get(),
|
||||
@@ -348,30 +409,52 @@ public class AntarchyForge {
|
||||
() -> AntarchyForgeMisc.STINKY_GAS.get(),
|
||||
() -> AntarchyForgeMisc.STINKY_FLY.get(),
|
||||
() -> AntarchyForgeMisc.PEACH_LEAVES_PARTICLE.get(),
|
||||
() -> AntarchyForgeMisc.attributeHolder(AntarchyForgeMisc.SCALE),
|
||||
() -> AntarchyForgeMisc.attributeHolder(AntarchyForgeMisc.DOUBLE_DAMAGE_CHANCE),
|
||||
() -> AntarchyForgeMisc.attributeHolder(AntarchyForgeMisc.BLOODGLASS_MAX_HEARTS),
|
||||
() -> AntarchyForgeMisc.mobEffectHolder(AntarchyForgeMisc.BLOODGLASS_WARD)
|
||||
() -> AntarchyForgeMisc.BLOODGLASS_WARD.get()
|
||||
);
|
||||
AntarchyObjects.setEntityReach(() -> ForgeMod.ENTITY_REACH.get());
|
||||
AntarchyEnchantments.bind(() -> AntarchyForgeMisc.FEATHER_RISING.get(), () -> AntarchyForgeMisc.CHRONOSPHERE.get());
|
||||
com.craisinlord.antarchy.content.effect.AntarchySizeScaling.register(AntarchyForgeMisc.SHRINKING_EFFECT, AntarchyForgeMisc.GROWTH_EFFECT);
|
||||
AntarchyObjects.setOctopusBomb(AntarchyForgeEntites.OCTOPUS_BOMB);
|
||||
AntarchyObjects.setTentacle(AntarchyForgeEntites.TENTACLE);
|
||||
AntarchyObjects.setNightmare(AntarchyForgeEntites.NIGHTMARE);
|
||||
AntarchyObjects.setNightmarePortal(AntarchyForgeEntites.NIGHTMARE_PORTAL);
|
||||
AntarchyObjects.setDimensionalTear(AntarchyForgeEntites.DIMENSIONAL_TEAR);
|
||||
AntarchyObjects.setNightmareBite(AntarchyForgeEntites.NIGHTMARE_BITE);
|
||||
AntarchyObjects.setLucid(AntarchyForgeEntites.LUCID);
|
||||
AntarchyObjects.setVortex(AntarchyForgeEntites.VORTEX);
|
||||
AntarchyObjects.setWindVortex(() -> AntarchyForgeEntites.WIND_VORTEX.get());
|
||||
AntarchyObjects.setRoyalBlackHole(() -> AntarchyForgeEntites.ROYAL_BLACK_HOLE.get());
|
||||
AntarchyObjects.setRoyalAssailantBlackHole(() -> AntarchyForgeEntites.ROYAL_ASSAILANT_BLACK_HOLE.get());
|
||||
AntarchyObjects.setVortexChargeProjectile(() -> AntarchyForgeEntites.VORTEX_CHARGE_PROJECTILE.get());
|
||||
AntarchyObjects.setPrince(() -> AntarchyForgeEntites.PRINCE.get());
|
||||
AntarchyObjects.setPrincess(() -> AntarchyForgeEntites.PRINCESS.get());
|
||||
AntarchyObjects.setKing(() -> AntarchyForgeEntites.KING.get());
|
||||
AntarchyObjects.setQueen(() -> AntarchyForgeEntites.QUEEN.get());
|
||||
AntarchyObjects.setManticore(() -> AntarchyForgeEntites.MANTICORE.get());
|
||||
AntarchyObjects.setRoyalBolt(() -> AntarchyForgeEntites.ROYAL_BOLT.get());
|
||||
AntarchyObjects.setRoyalElementalProjectile(() -> AntarchyForgeEntites.ROYAL_ELEMENTAL_PROJECTILE.get());
|
||||
AntarchyObjects.setRoyalIceSpike(() -> AntarchyForgeEntites.ROYAL_ICE_SPIKE.get());
|
||||
AntarchyObjects.setPrinceEgg(() -> AntarchyForgeBlocks.PRINCE_EGG.get());
|
||||
AntarchyObjects.setPrincessEgg(() -> AntarchyForgeBlocks.PRINCESS_EGG.get());
|
||||
AntarchyObjects.setRoyalEggBlockEntity(() -> AntarchyForgeBlocks.ROYAL_EGG_BLOCK_ENTITY.get());
|
||||
AntarchyObjects.setVortexLens(() -> AntarchyForgeBlocks.VORTEX_LENS.get());
|
||||
AntarchyObjects.setVortexLensBlockEntity(() -> AntarchyForgeBlocks.VORTEX_LENS_BLOCK_ENTITY.get());
|
||||
AntarchyObjects.setDimensionalTearMarker(() -> AntarchyForgeBlocks.DIMENSIONAL_TEAR_MARKER.get());
|
||||
AntarchyObjects.setDimensionalTearMarkerBlockEntity(() -> AntarchyForgeBlocks.DIMENSIONAL_TEAR_MARKER_BLOCK_ENTITY.get());
|
||||
AntarchyObjects.setKrakensGraspTrident(AntarchyForgeEntites.KRAKENS_GRASP_TRIDENT);
|
||||
AntarchyObjects.setLotus(() -> AntarchyForgeBlocks.LOTUS.get());
|
||||
AntarchyObjects.setKrakenTentacle(() -> AntarchyForgeItems.KRAKEN_TENTACLE.get());
|
||||
AntarchyObjects.setKrakensGrasp(() -> AntarchyForgeItems.KRAKENS_GRASP.get());
|
||||
AntarchyObjects.setOuranwoodDeer(AntarchyForgeEntites.OURANWOOD_DEER);
|
||||
AntarchyObjects.setDimensionalTear(AntarchyForgeEntites.DIMENSIONAL_TEAR);
|
||||
AntarchyObjects.setGlimmer(AntarchyForgeEntites.GLIMMER);
|
||||
AntarchyObjects.setRollyPolly(AntarchyForgeEntites.ROLLY_POLLY);
|
||||
AntarchyObjects.setGlimmer(AntarchyForgeEntites.GLIMMER);
|
||||
AntarchyObjects.setSpiritApple(() -> AntarchyForgeItems.SPIRIT_APPLE.get());
|
||||
AntarchyObjects.setGlimmeringEffect(() -> AntarchyForgeMisc.mobEffectHolder(AntarchyForgeMisc.GLIMMERING));
|
||||
AntarchyObjects.setTimeDilationField(() -> AntarchyForgeEntites.TIME_DILATION_FIELD.get());
|
||||
AntarchyEnchantments.bind(() -> AntarchyForgeMisc.FEATHER_RISING.get(), () -> AntarchyForgeMisc.CHRONOSPHERE.get());
|
||||
AntarchyObjects.setRoyalAssailantBlackHole(() -> AntarchyForgeEntites.ROYAL_ASSAILANT_BLACK_HOLE.get());
|
||||
AntarchyObjects.setDilatedEffect(() -> AntarchyForgeMisc.mobEffectHolder(AntarchyForgeMisc.DILATED));
|
||||
AntarchyObjects.setContractedEffect(() -> AntarchyForgeMisc.mobEffectHolder(AntarchyForgeMisc.CONTRACTED));
|
||||
AntarchyObjects.setGlimmeringEffect(() -> AntarchyForgeMisc.GLIMMERING.get());
|
||||
AntarchyObjects.setRoyalVitalityPenaltyEffect(() -> AntarchyForgeMisc.ROYAL_VITALITY_PENALTY.get());
|
||||
AntarchyObjects.setBleedingEffect(() -> AntarchyForgeMisc.BLEEDING.get());
|
||||
AntarchyObjects.setBloodMoonEffect(() -> AntarchyForgeMisc.BLOOD_MOON.get());
|
||||
AntarchyObjects.setElka(AntarchyForgeEntites.ELKA);
|
||||
AntarchyObjects.setPeach(() -> AntarchyForgeItems.PEACH.get());
|
||||
AntarchyObjects.setCorn(() -> AntarchyForgeItems.CORN.get());
|
||||
@@ -386,17 +469,19 @@ public class AntarchyForge {
|
||||
AntarchyObjects.setLumenBucket(() -> AntarchyForgeItems.LUMEN_BUCKET.get());
|
||||
AntarchyObjects.setLumenBlock(() -> AntarchyForgeBlocks.LUMEN_BLOCK.get());
|
||||
AntarchyObjects.setLumenFroglight(() -> AntarchyForgeBlocks.LUMEN_FROGLIGHT.get());
|
||||
AntarchyObjects.setGlimmeringReed(() -> AntarchyForgeBlocks.GLIMMERING_REED.get());
|
||||
AntarchyObjects.setPeachLeavesParticle(() -> AntarchyForgeMisc.PEACH_LEAVES_PARTICLE.get());
|
||||
AntarchyObjects.setBugSprayParticle(() -> AntarchyForgeMisc.BUG_SPRAY_PARTICLE.get());
|
||||
AntarchyObjects.setLotusPollen(() -> AntarchyForgeMisc.LOTUS_POLLEN.get());
|
||||
AntarchyObjects.setNightmareFireFlame(() -> AntarchyForgeMisc.NIGHTMARE_FIRE_FLAME.get());
|
||||
AntarchyObjects.setLucidBoltImpactSmall(() -> AntarchyForgeMisc.LUCID_BOLT_IMPACT_SMALL.get());
|
||||
AntarchyObjects.setLucidBoltImpactLarge(() -> AntarchyForgeMisc.LUCID_BOLT_IMPACT_LARGE.get());
|
||||
AntarchyObjects.setDorrieInventoryMenu(AntarchyForgeMisc.DORRIE_INVENTORY_MENU);
|
||||
AntarchyObjects.setRoyalJudgmentMenu(AntarchyForgeMisc.ROYAL_JUDGMENT_MENU);
|
||||
AntarchyObjects.setGiantFryingPanMenu(AntarchyForgeMisc.GIANT_FRYING_PAN_MENU);
|
||||
AntarchyObjects.setCritterCage(() -> AntarchyForgeItems.CRITTER_CAGE.get());
|
||||
AntarchyObjects.setCritterCageBlock(() -> AntarchyForgeBlocks.CRITTER_CAGE_BLOCK.get());
|
||||
AntarchyObjects.setCritterCageBlockEntity(() -> AntarchyForgeBlocks.CRITTER_CAGE_BLOCK_ENTITY.get());
|
||||
AntarchyObjects.setLucidAnchor(() -> AntarchyForgeBlocks.LUCID_ANCHOR.get());
|
||||
AntarchyObjects.setLucidAnchorBlockEntity(() -> AntarchyForgeBlocks.LUCID_ANCHOR_BLOCK_ENTITY.get());
|
||||
AntarchyObjects.setCritterCageProjectile(() -> AntarchyForgeEntites.CRITTER_CAGE_PROJECTILE.get());
|
||||
}
|
||||
|
||||
|
||||
+14
-7
@@ -3,24 +3,31 @@ package com.craisinlord.antarchy.forge;
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.command.CavarynCommand;
|
||||
import com.craisinlord.antarchy.content.command.CaterpillarCommand;
|
||||
import com.craisinlord.antarchy.content.command.GravityCommand;
|
||||
import com.craisinlord.antarchy.content.command.DimensionalTearCommand;
|
||||
import com.craisinlord.antarchy.content.command.QueenLocateCommand;
|
||||
import com.craisinlord.antarchy.content.time.TimeDilationCommand;
|
||||
import net.minecraftforge.event.RegisterCommandsEvent;
|
||||
import com.craisinlord.antarchy.content.command.RoyalCommand;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.RegisterCommandsEvent;
|
||||
import net.minecraftforge.event.server.ServerStoppingEvent;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID)
|
||||
final class AntarchyForgeCommandEvents {
|
||||
public final class AntarchyForgeCommandEvents {
|
||||
private AntarchyForgeCommandEvents() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onRegisterCommands(RegisterCommandsEvent event) {
|
||||
CavarynCommand.register(event.getDispatcher());
|
||||
GravityCommand.register(event.getDispatcher());
|
||||
QueenLocateCommand.register(event.getDispatcher());
|
||||
CaterpillarCommand.register(event.getDispatcher());
|
||||
TimeDilationCommand.register(event.getDispatcher());
|
||||
DimensionalTearCommand.register(event.getDispatcher());
|
||||
QueenLocateCommand.register(event.getDispatcher());
|
||||
RoyalCommand.register(event.getDispatcher());
|
||||
com.craisinlord.antarchy.content.command.PortalGunCommand.register(event.getDispatcher());
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onServerStopping(ServerStoppingEvent event) {
|
||||
com.craisinlord.antarchy.content.portalgun.PortalGunProjectileEntity.releaseAllProjectileTickets();
|
||||
}
|
||||
}
|
||||
+10
-8
@@ -26,14 +26,16 @@ import org.joml.Vector3f;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public final class AntarchyForgeFluidTypes {
|
||||
private static final ResourceLocation WATER_STILL = ResourceLocation.withDefaultNamespace("block/water_still");
|
||||
private static final ResourceLocation WATER_FLOW = ResourceLocation.withDefaultNamespace("block/water_flow");
|
||||
private static final ResourceLocation WATER_OVERLAY = ResourceLocation.withDefaultNamespace("block/water_overlay");
|
||||
private static final ResourceLocation UNDERWATER_OVERLAY = ResourceLocation.withDefaultNamespace("textures/misc/underwater.png");
|
||||
private static final ResourceLocation WATER_STILL = new ResourceLocation("block/water_still");
|
||||
private static final ResourceLocation WATER_FLOW = new ResourceLocation("block/water_flow");
|
||||
private static final ResourceLocation WATER_OVERLAY = new ResourceLocation("block/water_overlay");
|
||||
private static final ResourceLocation UNDERWATER_OVERLAY = new ResourceLocation("textures/misc/underwater.png");
|
||||
private static final ResourceLocation ANTIWATER_STILL = new ResourceLocation(Antarchy.MODID, "block/antiwater_still");
|
||||
private static final ResourceLocation ANTIWATER_FLOW = new ResourceLocation(Antarchy.MODID, "block/antiwater_flow");
|
||||
private static final ResourceLocation BILE_STILL = new ResourceLocation(Antarchy.MODID, "block/bile/bile_still");
|
||||
private static final ResourceLocation BILE_FLOW = new ResourceLocation(Antarchy.MODID, "block/bile/bile_flowing");
|
||||
private static final ResourceLocation ICHOR_STILL = new ResourceLocation(Antarchy.MODID, "block/ichor/ichor_still");
|
||||
private static final ResourceLocation ICHOR_FLOW = new ResourceLocation(Antarchy.MODID, "block/ichor/ichor_flowing");
|
||||
|
||||
private static final DeferredRegister<FluidType> FLUID_TYPES =
|
||||
DeferredRegister.create(ForgeRegistries.Keys.FLUID_TYPES, Antarchy.MODID);
|
||||
@@ -167,12 +169,12 @@ public final class AntarchyForgeFluidTypes {
|
||||
consumer.accept(new IClientFluidTypeExtensions() {
|
||||
@Override
|
||||
public ResourceLocation getStillTexture() {
|
||||
return ANTIWATER_STILL;
|
||||
return ICHOR_STILL;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getFlowingTexture() {
|
||||
return ANTIWATER_FLOW;
|
||||
return ICHOR_FLOW;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -187,12 +189,12 @@ public final class AntarchyForgeFluidTypes {
|
||||
|
||||
@Override
|
||||
public int getTintColor() {
|
||||
return 0xFF2A0306;
|
||||
return 0xFFFFFFFF;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTintColor(FluidState state, BlockAndTintGetter getter, BlockPos pos) {
|
||||
return 0xFF2A0306;
|
||||
return 0xFFFFFFFF;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -5,35 +5,37 @@ import net.minecraftforge.common.ForgeConfigSpec;
|
||||
public final class AntarchyMiscConfig {
|
||||
public static final ForgeConfigSpec SPEC;
|
||||
|
||||
// Elythia
|
||||
private static final ForgeConfigSpec.BooleanValue ELYTHIA_FIREFLY_PARTICLES_ENABLED;
|
||||
|
||||
// Dream Sand
|
||||
private static final ForgeConfigSpec.BooleanValue DREAM_SAND_ENABLED;
|
||||
private static final ForgeConfigSpec.DoubleValue DREAM_SAND_JUMP_VELOCITY_MULTIPLIER;
|
||||
private static final ForgeConfigSpec.DoubleValue DREAM_SAND_GRAVITY_MULTIPLIER;
|
||||
private static final ForgeConfigSpec.DoubleValue DREAM_SAND_EFFECT_DURATION_SECONDS;
|
||||
private static final ForgeConfigSpec.DoubleValue DREAM_SAND_FALLING_BLOCK_GRAVITY_MULTIPLIER;
|
||||
|
||||
// Ichor
|
||||
private static final ForgeConfigSpec.BooleanValue ICHOR_WITHER_ENABLED;
|
||||
|
||||
// Hushweed
|
||||
private static final ForgeConfigSpec.DoubleValue HUSHWEED_SPORE_LIFETIME_SECONDS;
|
||||
|
||||
// Infinite Dimensions
|
||||
private static final ForgeConfigSpec.BooleanValue DISABLE_INFINITY_BOOK_PORTAL_CREATION;
|
||||
private static final ForgeConfigSpec.BooleanValue RAINBOW_ANTS_LEAD_TO_INFINITY_DIMENSIONS;
|
||||
private static final ForgeConfigSpec.DoubleValue RAINBOW_ANT_INFINITY_EASTER_EGG_CHANCE;
|
||||
|
||||
// Permanent portals
|
||||
private static final ForgeConfigSpec.BooleanValue PERMANENT_PORTALS_ENABLED;
|
||||
private static final ForgeConfigSpec.BooleanValue PERMANENT_PORTALS_FLINT_AND_STEEL_ENABLED;
|
||||
private static final ForgeConfigSpec.BooleanValue ELYTHIA_PORTAL_ENABLED;
|
||||
private static final ForgeConfigSpec.BooleanValue THORAXIS_PORTAL_ENABLED;
|
||||
private static final ForgeConfigSpec.BooleanValue CAVARYN_PORTAL_ENABLED;
|
||||
private static final ForgeConfigSpec.BooleanValue PORTAL_GUN_CAN_FIRE_THROUGH_GLASS;
|
||||
private static final ForgeConfigSpec.BooleanValue PORTAL_GUN_CAN_FIRE_THROUGH_LIQUID;
|
||||
private static final ForgeConfigSpec.BooleanValue PORTAL_GUN_CAN_PORTALS_RESIZE_WHEN_CREATED;
|
||||
private static final ForgeConfigSpec.BooleanValue PORTAL_GUN_CAN_PORTAL_PROJECTILES_CHUNKLOAD;
|
||||
private static final ForgeConfigSpec.BooleanValue PORTAL_GUN_SEE_THROUGH_PORTALS;
|
||||
private static final ForgeConfigSpec.BooleanValue PORTAL_GUN_FANCY_PORTALS;
|
||||
private static final ForgeConfigSpec.IntValue PORTAL_GUN_MAX_SHOOT_DISTANCE;
|
||||
private static final ForgeConfigSpec.DoubleValue PORTAL_GUN_MIN_FLOOR_EXIT_SPEED;
|
||||
private static final ForgeConfigSpec.IntValue PORTAL_GUN_MAX_LIVE_VIEWS;
|
||||
private static final ForgeConfigSpec.DoubleValue PORTAL_GUN_MAX_EXIT_SPEED;
|
||||
private static final ForgeConfigSpec.BooleanValue PORTAL_GUN_MOON_PULLS_BLOCKS;
|
||||
private static final ForgeConfigSpec.IntValue PORTAL_GUN_MOON_PORTAL_SECONDS;
|
||||
private static final ForgeConfigSpec.IntValue PORTAL_GUN_MOON_BLOCK_CAP;
|
||||
|
||||
// Diamond Minecart
|
||||
private static final ForgeConfigSpec.BooleanValue DIAMOND_MINECART_ENABLED;
|
||||
private static final ForgeConfigSpec.BooleanValue DIAMOND_MINECART_PLACES_RAILS;
|
||||
private static final ForgeConfigSpec.DoubleValue DIAMOND_MINECART_CRUISE_SPEED;
|
||||
@@ -44,7 +46,9 @@ public final class AntarchyMiscConfig {
|
||||
private static final ForgeConfigSpec.BooleanValue DIAMOND_MINECART_MOB_DAMAGE_ENABLED;
|
||||
private static final ForgeConfigSpec.DoubleValue DIAMOND_MINECART_MAX_MOB_DAMAGE;
|
||||
|
||||
// World / misc toggles
|
||||
private static final ForgeConfigSpec.DoubleValue HOVERBOARD_MAX_SPEED;
|
||||
private static final ForgeConfigSpec.DoubleValue HOVERBOARD_ACCELERATION;
|
||||
|
||||
private static final ForgeConfigSpec.BooleanValue DUPLICATOR_TREE_ENABLED;
|
||||
private static final ForgeConfigSpec.BooleanValue GLOW_VINES_UNDER_LEAVES;
|
||||
private static final ForgeConfigSpec.BooleanValue SWING_THROUGH_GRASS_ENABLED;
|
||||
@@ -55,47 +59,28 @@ public final class AntarchyMiscConfig {
|
||||
static {
|
||||
ForgeConfigSpec.Builder b = new ForgeConfigSpec.Builder();
|
||||
|
||||
|
||||
// Elythia
|
||||
|
||||
b.push("elythia");
|
||||
ELYTHIA_FIREFLY_PARTICLES_ENABLED = b
|
||||
.comment("Whether firefly ambient particles appear at night in the Elythia dimension.")
|
||||
.define("fireflyParticlesEnabled", true);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Dream Sand
|
||||
|
||||
b.push("dreamSand");
|
||||
DREAM_SAND_ENABLED = b.comment("If true, jumping from dream sand applies temporary low gravity until solid ground is touched.").define("enabled", true);
|
||||
DREAM_SAND_JUMP_VELOCITY_MULTIPLIER = b.comment("Multiplier applied to upward jump velocity when leaving dream sand.") .defineInRange("jumpVelocityMultiplier", 1.3D, 0.0D, 16.0D);
|
||||
DREAM_SAND_GRAVITY_MULTIPLIER = b.comment("Multiplier applied to downward velocity while low gravity is active.") .defineInRange("gravityMultiplier", 0.45D, 0.0D, 1.0D);
|
||||
DREAM_SAND_EFFECT_DURATION_SECONDS = b.comment("Seconds the low-gravity effect remains active after leaving dream sand.") .defineInRange("effectDurationSeconds", 7.0D, 0.0D, 60.0D);
|
||||
DREAM_SAND_FALLING_BLOCK_GRAVITY_MULTIPLIER = b.comment("Multiplier applied to dream sand's own falling-block gravity (how slowly it falls as a block, distinct from the player low-gravity effect).").defineInRange("fallingBlockGravityMultiplier", 0.4D, 0.0D, 16.0D);
|
||||
DREAM_SAND_FALLING_BLOCK_GRAVITY_MULTIPLIER = b.comment("Multiplier applied to dream sand's falling-block gravity, i.e. how slowly it falls as a block.").defineInRange("fallingBlockGravityMultiplier", 0.4D, 0.0D, 16.0D);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Ichor
|
||||
|
||||
b.push("ichor");
|
||||
ICHOR_WITHER_ENABLED = b
|
||||
.comment("If true, players submerged in ichor receive a Wither effect.")
|
||||
.define("witherEnabled", true);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Hushweed
|
||||
|
||||
b.push("hushweed");
|
||||
HUSHWEED_SPORE_LIFETIME_SECONDS = b
|
||||
.comment("How long (in seconds) a Hushweed spore projectile stays alive before disappearing.")
|
||||
.defineInRange("sporeLifetimeSeconds", 5.0D, 0.1D, 120.0D);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Infinity Dimensions
|
||||
|
||||
b.push("infinityDimensions");
|
||||
DISABLE_INFINITY_BOOK_PORTAL_CREATION = b
|
||||
.comment("If true, book and quills cannot be thrown into nether portals to create random dimensions.")
|
||||
@@ -114,9 +99,6 @@ public final class AntarchyMiscConfig {
|
||||
.defineInRange("rainbowAntInfinityEasterEggChance", 0.01D, 0.0D, 1.0D);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Permanent Portals
|
||||
|
||||
b.push("permanentPortals");
|
||||
PERMANENT_PORTALS_ENABLED = b.comment("Master toggle for sacrifice-activated permanent portals.").define("permanentPortalsEnabled", true);
|
||||
PERMANENT_PORTALS_FLINT_AND_STEEL_ENABLED = b.comment("Whether flint and steel can ignite permanent portal frames.").define("permanentPortalsFlintAndSteelEnabled", false);
|
||||
@@ -125,8 +107,21 @@ public final class AntarchyMiscConfig {
|
||||
CAVARYN_PORTAL_ENABLED = b.comment("Whether Myrmite portals to Cavaryn can activate and function.").define("cavarynPortalEnabled", true);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Diamond Minecart
|
||||
b.push("portalGun");
|
||||
PORTAL_GUN_CAN_FIRE_THROUGH_GLASS = b.define("canFireThroughGlass", false);
|
||||
PORTAL_GUN_CAN_FIRE_THROUGH_LIQUID = b.define("canFireThroughLiquid", false);
|
||||
PORTAL_GUN_CAN_PORTALS_RESIZE_WHEN_CREATED = b.define("canPortalsResizeWhenCreated", true);
|
||||
PORTAL_GUN_CAN_PORTAL_PROJECTILES_CHUNKLOAD = b.define("canPortalProjectilesChunkload", true);
|
||||
PORTAL_GUN_SEE_THROUGH_PORTALS = b.define("seeThroughPortals", true);
|
||||
PORTAL_GUN_FANCY_PORTALS = b.define("fancyPortals", true);
|
||||
PORTAL_GUN_MAX_SHOOT_DISTANCE = b.defineInRange("maxShootDistance", 10000, 1, Integer.MAX_VALUE);
|
||||
PORTAL_GUN_MAX_LIVE_VIEWS = b.comment("How many portals can show a live see-through view at once. Each one re-renders the world, so higher values cost frame rate. 0 shows only the animated surface.").defineInRange("maxLiveViews", 8, 0, 32);
|
||||
PORTAL_GUN_MIN_FLOOR_EXIT_SPEED = b.comment("Minimum speed in blocks/tick when leaving an upward-facing portal, so the traveller clears it. 0 disables.").defineInRange("minFloorExitSpeed", 0.6D, 0.0D, 4.0D);
|
||||
PORTAL_GUN_MAX_EXIT_SPEED = b.comment("Maximum speed in blocks/tick when leaving a portal. 0 keeps momentum uncapped.").defineInRange("maxExitSpeed", 0.0D, 0.0D, 100.0D);
|
||||
PORTAL_GUN_MOON_PULLS_BLOCKS = b.comment("Whether a portal opened by shooting the moon rips blocks loose and pulls them into space.").define("moonPullsBlocks", true);
|
||||
PORTAL_GUN_MOON_PORTAL_SECONDS = b.comment("How long a moon portal stays open, in seconds.").defineInRange("moonPortalSeconds", 10, 1, 120);
|
||||
PORTAL_GUN_MOON_BLOCK_CAP = b.comment("Maximum number of blocks a single moon portal can pull in.").defineInRange("moonBlockCap", 500, 0, 2000);
|
||||
b.pop();
|
||||
|
||||
b.push("diamondMinecart");
|
||||
DIAMOND_MINECART_ENABLED = b.comment("Master toggle for the diamond minecart's custom propulsion and rail-laying behavior.") .define("enabled", true);
|
||||
@@ -140,8 +135,10 @@ public final class AntarchyMiscConfig {
|
||||
DIAMOND_MINECART_MAX_MOB_DAMAGE = b.comment("Maximum collision damage dealt at full speed if mob damage is enabled.") .defineInRange("maxMobDamage", 4.0D, 0.0D, 200.0D);
|
||||
b.pop();
|
||||
|
||||
|
||||
// World / visual toggles
|
||||
b.push("hoverboard");
|
||||
HOVERBOARD_MAX_SPEED = b.comment("Maximum hoverboard speed in blocks/tick while moving forward.").defineInRange("maxSpeed", 6.0D, 0.05D, 12.0D);
|
||||
HOVERBOARD_ACCELERATION = b.comment("Hoverboard speed gained per tick while moving forward. Lower values take longer to reach top speed.").defineInRange("acceleration", 0.05D, 0.001D, 1.0D);
|
||||
b.pop();
|
||||
|
||||
b.push("world");
|
||||
DUPLICATOR_TREE_ENABLED = b.comment("If false, duplicator trees do not generate and duplicator saplings produce nothing.").define("duplicatorTreeEnabled", true);
|
||||
@@ -159,10 +156,6 @@ public final class AntarchyMiscConfig {
|
||||
|
||||
static boolean elythiaFireflyParticlesEnabled() { return ELYTHIA_FIREFLY_PARTICLES_ENABLED.get(); }
|
||||
|
||||
static boolean dreamSandEnabled() { return DREAM_SAND_ENABLED.get(); }
|
||||
static double dreamSandJumpVelocityMultiplier() { return DREAM_SAND_JUMP_VELOCITY_MULTIPLIER.get(); }
|
||||
static double dreamSandGravityMultiplier() { return DREAM_SAND_GRAVITY_MULTIPLIER.get(); }
|
||||
static double dreamSandEffectDurationSeconds() { return DREAM_SAND_EFFECT_DURATION_SECONDS.get(); }
|
||||
static double dreamSandFallingBlockGravityMultiplier() { return DREAM_SAND_FALLING_BLOCK_GRAVITY_MULTIPLIER.get(); }
|
||||
|
||||
static boolean ichorWitherEnabled() { return ICHOR_WITHER_ENABLED.get(); }
|
||||
@@ -184,6 +177,19 @@ public final class AntarchyMiscConfig {
|
||||
public static boolean elythiaPortalEnabled() { return ELYTHIA_PORTAL_ENABLED.get(); }
|
||||
public static boolean thoraxisPortalEnabled() { return THORAXIS_PORTAL_ENABLED.get(); }
|
||||
public static boolean cavarynPortalEnabled() { return CAVARYN_PORTAL_ENABLED.get(); }
|
||||
public static boolean portalGunCanFireThroughGlass() { return PORTAL_GUN_CAN_FIRE_THROUGH_GLASS.get(); }
|
||||
public static boolean portalGunCanFireThroughLiquid() { return PORTAL_GUN_CAN_FIRE_THROUGH_LIQUID.get(); }
|
||||
public static boolean portalGunCanPortalsResizeWhenCreated() { return PORTAL_GUN_CAN_PORTALS_RESIZE_WHEN_CREATED.get(); }
|
||||
public static boolean portalGunCanPortalProjectilesChunkload() { return PORTAL_GUN_CAN_PORTAL_PROJECTILES_CHUNKLOAD.get(); }
|
||||
public static boolean portalGunSeeThroughPortals() { return PORTAL_GUN_SEE_THROUGH_PORTALS.get(); }
|
||||
public static boolean portalGunFancyPortals() { return PORTAL_GUN_FANCY_PORTALS.get(); }
|
||||
public static int portalGunMaxShootDistance() { return PORTAL_GUN_MAX_SHOOT_DISTANCE.get(); }
|
||||
public static double portalGunMinFloorExitSpeed() { return PORTAL_GUN_MIN_FLOOR_EXIT_SPEED.get(); }
|
||||
public static int portalGunMaxLiveViews() { return PORTAL_GUN_MAX_LIVE_VIEWS.get(); }
|
||||
public static double portalGunMaxExitSpeed() { return PORTAL_GUN_MAX_EXIT_SPEED.get(); }
|
||||
public static boolean portalGunMoonPullsBlocks() { return PORTAL_GUN_MOON_PULLS_BLOCKS.get(); }
|
||||
public static int portalGunMoonPortalSeconds() { return PORTAL_GUN_MOON_PORTAL_SECONDS.get(); }
|
||||
public static int portalGunMoonBlockCap() { return PORTAL_GUN_MOON_BLOCK_CAP.get(); }
|
||||
|
||||
static boolean diamondMinecartEnabled() { return DIAMOND_MINECART_ENABLED.get(); }
|
||||
static boolean diamondMinecartPlacesRails() { return DIAMOND_MINECART_PLACES_RAILS.get(); }
|
||||
@@ -194,4 +200,6 @@ public final class AntarchyMiscConfig {
|
||||
static double diamondMinecartCoastDeceleration() { return DIAMOND_MINECART_COAST_DECELERATION.get(); }
|
||||
static boolean diamondMinecartMobDamageEnabled() { return DIAMOND_MINECART_MOB_DAMAGE_ENABLED.get(); }
|
||||
static double diamondMinecartMaxMobDamage() { return DIAMOND_MINECART_MAX_MOB_DAMAGE.get(); }
|
||||
static double hoverboardMaxSpeed() { return HOVERBOARD_MAX_SPEED.get(); }
|
||||
static double hoverboardAcceleration() { return HOVERBOARD_ACCELERATION.get(); }
|
||||
}
|
||||
+560
-464
File diff suppressed because it is too large.
Load diff
+243
-112
@@ -5,17 +5,11 @@ import net.minecraftforge.common.ForgeConfigSpec;
|
||||
public final class AntarchyToolsConfig {
|
||||
public static final ForgeConfigSpec SPEC;
|
||||
|
||||
|
||||
// Basilisk Dagger
|
||||
|
||||
private static final ForgeConfigSpec.DoubleValue BASILISK_DAGGER_ATTACK_DAMAGE;
|
||||
private static final ForgeConfigSpec.DoubleValue BASILISK_DAGGER_ATTACK_SPEED;
|
||||
private static final ForgeConfigSpec.IntValue BASILISK_DAGGER_POISON_DURATION_TICKS;
|
||||
private static final ForgeConfigSpec.IntValue BASILISK_DAGGER_POISON_AMPLIFIER;
|
||||
|
||||
|
||||
// Ultimate Tools
|
||||
|
||||
private static final ForgeConfigSpec.DoubleValue ULTIMATE_SWORD_ATTACK_DAMAGE;
|
||||
private static final ForgeConfigSpec.DoubleValue ULTIMATE_SWORD_ATTACK_SPEED;
|
||||
private static final ForgeConfigSpec.DoubleValue ULTIMATE_PICKAXE_ATTACK_DAMAGE;
|
||||
@@ -29,24 +23,19 @@ public final class AntarchyToolsConfig {
|
||||
private static final ForgeConfigSpec.IntValue ULTIMATE_TOOL_ENCHANTABILITY;
|
||||
private static final ForgeConfigSpec.BooleanValue ULTIMATE_TOOLS_THREE_BY_THREE_ENABLED;
|
||||
|
||||
|
||||
// Ultimate Bow
|
||||
|
||||
private static final ForgeConfigSpec.DoubleValue ULTIMATE_BOW_ATTACK_DAMAGE;
|
||||
private static final ForgeConfigSpec.DoubleValue ULTIMATE_BOW_PLAYER_HEAL;
|
||||
private static final ForgeConfigSpec.DoubleValue ULTIMATE_BOW_DRAW_SPEED_MULTIPLIER;
|
||||
private static final ForgeConfigSpec.BooleanValue ULTIMATE_BOW_COMES_ENCHANTED_WITH_FLAME;
|
||||
private static final ForgeConfigSpec.IntValue ULTIMATE_BOW_ENCHANTABILITY;
|
||||
|
||||
|
||||
// Ultimate Crossbow
|
||||
|
||||
private static final ForgeConfigSpec.DoubleValue ULTIMATE_CROSSBOW_ATTACK_DAMAGE;
|
||||
private static final ForgeConfigSpec.DoubleValue ULTIMATE_CROSSBOW_CHARGE_SPEED_MULTIPLIER;
|
||||
private static final ForgeConfigSpec.IntValue ULTIMATE_CROSSBOW_ENCHANTABILITY;
|
||||
|
||||
|
||||
// Ultimate Armor
|
||||
private static final ForgeConfigSpec.DoubleValue ULTIMATE_MACE_DAMAGE_MULTIPLIER;
|
||||
private static final ForgeConfigSpec.DoubleValue ULTIMATE_MACE_ATTACK_SPEED;
|
||||
private static final ForgeConfigSpec.IntValue ULTIMATE_MACE_ENCHANTABILITY;
|
||||
|
||||
private static final ForgeConfigSpec.BooleanValue ULTIMATE_ARMOR_COMES_ENCHANTED;
|
||||
private static final ForgeConfigSpec.IntValue ULTIMATE_ARMOR_ENCHANTABILITY;
|
||||
@@ -60,15 +49,55 @@ public final class AntarchyToolsConfig {
|
||||
private static final ForgeConfigSpec.DoubleValue ULTIMATE_BOOTS_ARMOR_TOUGHNESS;
|
||||
private static final ForgeConfigSpec.DoubleValue ULTIMATE_ARMOR_KNOCKBACK_RESISTANCE;
|
||||
|
||||
|
||||
// Battle Axe
|
||||
private static final ForgeConfigSpec.BooleanValue ROYAL_ARMOR_COMES_ENCHANTED;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_ARMOR_PROTECTION_LEVEL;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_ARMOR_ENCHANTABILITY;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_ARMOR_DURABILITY_MULTIPLIER;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_GUARDIAN_HELMET_ARMOR_VALUE;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_GUARDIAN_CHESTPLATE_ARMOR_VALUE;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_GUARDIAN_LEGGINGS_ARMOR_VALUE;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_GUARDIAN_BOOTS_ARMOR_VALUE;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_GUARDIAN_ARMOR_TOUGHNESS;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_GUARDIAN_ARMOR_KNOCKBACK_RESISTANCE;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_GUARDIAN_HELMET_JUDGMENT_BONUS, ROYAL_GUARDIAN_CHESTPLATE_JUDGMENT_BONUS,
|
||||
ROYAL_GUARDIAN_LEGGINGS_JUDGMENT_BONUS, ROYAL_GUARDIAN_BOOTS_JUDGMENT_BONUS;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_GUARDIAN_JUDGMENT_DURATION_TICKS;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_ASSAILANT_HELMET_ARMOR_VALUE;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_ASSAILANT_CHESTPLATE_ARMOR_VALUE;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_ASSAILANT_LEGGINGS_ARMOR_VALUE;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_ASSAILANT_BOOTS_ARMOR_VALUE;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_ASSAILANT_ARMOR_TOUGHNESS;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_ASSAILANT_ARMOR_KNOCKBACK_RESISTANCE;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_ASSAILANT_HELMET_DOUBLE_DAMAGE_CHANCE;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_ASSAILANT_CHESTPLATE_DOUBLE_DAMAGE_CHANCE;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_ASSAILANT_LEGGINGS_DOUBLE_DAMAGE_CHANCE;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_ASSAILANT_BOOTS_DOUBLE_DAMAGE_CHANCE;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_GUARDIAN_SWORD_ATTACK_DAMAGE;
|
||||
private static final ForgeConfigSpec.DoubleValue GIANT_FRYING_PAN_ATTACK_DAMAGE;
|
||||
private static final ForgeConfigSpec.IntValue GIANT_FRYING_PAN_COOK_TIME_TICKS;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_GUARDIAN_SWORD_ATTACK_SPEED;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_GUARDIAN_SWORD_ELEMENTAL_COOLDOWN_TICKS, ROYAL_GUARDIAN_SWORD_STORM_MAX_JUMPS;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_GUARDIAN_SWORD_FIRE_PRIMARY_DAMAGE, ROYAL_GUARDIAN_SWORD_FIRE_SPLASH_DAMAGE,
|
||||
ROYAL_GUARDIAN_SWORD_FROST_SPIKE_DAMAGE, ROYAL_GUARDIAN_SWORD_STORM_PRIMARY_DAMAGE,
|
||||
ROYAL_GUARDIAN_SWORD_STORM_JUMP_DAMAGE, ROYAL_GUARDIAN_SWORD_STORM_JUMP_RANGE;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_ASSAILANT_BATTLE_AXE_ATTACK_DAMAGE;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_ASSAILANT_BATTLE_AXE_ATTACK_SPEED;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_WEAPON_ATTACK_REACH_BONUS;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_WEAPON_ATTACK_KNOCKBACK_BONUS;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_WEAPON_DURABILITY;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_WEAPON_ENCHANTABILITY;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_GUARDIAN_SHIELD_DURABILITY;
|
||||
private static final ForgeConfigSpec.DoubleValue ROYAL_GUARDIAN_MUSTER_RANGE, ROYAL_GUARDIAN_MUSTER_DAMAGE_REDUCTION,
|
||||
ROYAL_GUARDIAN_MUSTER_ATTACK_BONUS, ROYAL_GUARDIAN_MUSTER_SPEED_BONUS, ROYAL_GUARDIAN_MUSTER_PASSIVE_DAMAGE_FLOOR,
|
||||
ROYAL_GUARDIAN_BOUNDARY_RADIUS;
|
||||
private static final ForgeConfigSpec.IntValue ROYAL_GUARDIAN_MUSTER_DURATION_TICKS, ROYAL_GUARDIAN_MUSTER_COOLDOWN_TICKS,
|
||||
ROYAL_GUARDIAN_MUSTER_MOB_CAP, ROYAL_GUARDIAN_BOUNDARY_DURATION_TICKS, ROYAL_GUARDIAN_BOUNDARY_COOLDOWN_TICKS,
|
||||
ROYAL_GUARDIAN_BOUNDARY_STRENGTH_AMPLIFIER, ROYAL_GUARDIAN_BOUNDARY_ARREST_TICKS,
|
||||
ROYAL_GUARDIAN_BOUNDARY_DROP_TICKS, ROYAL_GUARDIAN_BOUNDARY_PROJECTILE_CAP;
|
||||
|
||||
private static final ForgeConfigSpec.DoubleValue BATTLE_AXE_ATTACK_DAMAGE;
|
||||
private static final ForgeConfigSpec.DoubleValue BATTLE_AXE_ATTACK_SPEED;
|
||||
|
||||
|
||||
// Big Bertha
|
||||
|
||||
private static final ForgeConfigSpec.DoubleValue BIG_BERTHA_ATTACK_DAMAGE;
|
||||
private static final ForgeConfigSpec.DoubleValue BIG_BERTHA_REACH_BONUS;
|
||||
private static final ForgeConfigSpec.DoubleValue BIG_BERTHA_ATTACK_SPEED;
|
||||
@@ -92,6 +121,7 @@ public final class AntarchyToolsConfig {
|
||||
private static final ForgeConfigSpec.DoubleValue BIG_BERTHA_NONE_MODE_DAMAGE_BONUS_PERCENT;
|
||||
private static final ForgeConfigSpec.DoubleValue BIG_BERTHA_NIGHTMARE_DAMAGE_BONUS_PERCENT;
|
||||
private static final ForgeConfigSpec.DoubleValue SCORPION_WHIP_BASE_DAMAGE;
|
||||
private static final ForgeConfigSpec.DoubleValue SCORPION_WHIP_REACH_BONUS;
|
||||
private static final ForgeConfigSpec.IntValue SCORPION_WHIP_POISON_DURATION_TICKS;
|
||||
private static final ForgeConfigSpec.DoubleValue SCORPION_WHIP_TETHER_MAX_RANGE;
|
||||
private static final ForgeConfigSpec.DoubleValue SCORPION_WHIP_SNAP_BONUS_DAMAGE;
|
||||
@@ -101,9 +131,9 @@ public final class AntarchyToolsConfig {
|
||||
private static final ForgeConfigSpec.IntValue BLOOD_CRYSTAL_KATANA_ATTACK_DAMAGE;
|
||||
private static final ForgeConfigSpec.DoubleValue BLOOD_CRYSTAL_KATANA_LAUNCH_STRENGTH;
|
||||
private static final ForgeConfigSpec.IntValue BLOOD_CRYSTAL_KATANA_TRAIL_DURATION_TICKS;
|
||||
|
||||
|
||||
// Nightmare Gear
|
||||
private static final ForgeConfigSpec.DoubleValue BLOOD_CRYSTAL_KATANA_REACH_BONUS;
|
||||
private static final ForgeConfigSpec.IntValue BLOOD_CRYSTAL_KATANA_INVULN_TICKS;
|
||||
private static final ForgeConfigSpec.IntValue BLOOD_CRYSTAL_KATANA_DASH_COOLDOWN_TICKS;
|
||||
|
||||
private static final ForgeConfigSpec.IntValue NIGHTMARE_HELMET_ARMOR_VALUE;
|
||||
private static final ForgeConfigSpec.IntValue NIGHTMARE_CHESTPLATE_ARMOR_VALUE;
|
||||
@@ -123,15 +153,9 @@ public final class AntarchyToolsConfig {
|
||||
private static final ForgeConfigSpec.DoubleValue NIGHTMARE_SWORD_ATTACK_SPEED;
|
||||
private static final ForgeConfigSpec.DoubleValue NIGHTMARE_SWORD_SCALING_FACTOR;
|
||||
|
||||
|
||||
// Fallen King's Crown
|
||||
|
||||
private static final ForgeConfigSpec.IntValue FALLEN_KING_CROWN_ARMOR_VALUE;
|
||||
private static final ForgeConfigSpec.DoubleValue FALLEN_KING_CROWN_ARMOR_TOUGHNESS;
|
||||
|
||||
|
||||
// Blood Crystal Armor
|
||||
|
||||
private static final ForgeConfigSpec.IntValue BLOOD_CRYSTAL_ARMOR_SHIELD_RECHARGE_TICKS;
|
||||
private static final ForgeConfigSpec.IntValue BLOOD_CRYSTAL_APPLE_SHIELD_COUNT;
|
||||
private static final ForgeConfigSpec.IntValue BLOOD_CRYSTAL_APPLE_DURATION_TICKS;
|
||||
@@ -147,9 +171,6 @@ public final class AntarchyToolsConfig {
|
||||
private static final ForgeConfigSpec.IntValue BLOOD_CRYSTAL_LEGGINGS_DURABILITY;
|
||||
private static final ForgeConfigSpec.IntValue BLOOD_CRYSTAL_BOOTS_DURABILITY;
|
||||
|
||||
|
||||
// Squidzooka
|
||||
|
||||
private static final ForgeConfigSpec.DoubleValue SQUIDZOOKA_COOLDOWN_SECONDS;
|
||||
private static final ForgeConfigSpec.DoubleValue SQUIDZOOKA_LAUNCH_VELOCITY;
|
||||
private static final ForgeConfigSpec.DoubleValue RPO_LAUNCHER_COOLDOWN_SECONDS;
|
||||
@@ -157,9 +178,6 @@ public final class AntarchyToolsConfig {
|
||||
private static final ForgeConfigSpec.DoubleValue RPO_LAUNCHER_EXPLOSION_DAMAGE;
|
||||
private static final ForgeConfigSpec.DoubleValue RPO_LAUNCHER_EXPLOSION_RADIUS;
|
||||
|
||||
|
||||
// Size Rays
|
||||
|
||||
private static final ForgeConfigSpec.BooleanValue SIZE_CHANGING_RAYS_ENABLED;
|
||||
private static final ForgeConfigSpec.DoubleValue SIZE_RAY_COOLDOWN_SECONDS;
|
||||
private static final ForgeConfigSpec.DoubleValue SIZE_RAY_MIN_SCALE;
|
||||
@@ -168,9 +186,6 @@ public final class AntarchyToolsConfig {
|
||||
private static final ForgeConfigSpec.DoubleValue SHRINKING_POTION_DELTA;
|
||||
private static final ForgeConfigSpec.DoubleValue GROWTH_POTION_DELTA;
|
||||
|
||||
|
||||
// Gravity Gun
|
||||
|
||||
private static final ForgeConfigSpec.BooleanValue GRAVITY_GUN_ENABLED;
|
||||
private static final ForgeConfigSpec.BooleanValue GRAVITY_GUN_BLOCKS_ENABLED;
|
||||
private static final ForgeConfigSpec.BooleanValue GRAVITY_GUN_ENTITIES_ENABLED;
|
||||
@@ -179,21 +194,26 @@ public final class AntarchyToolsConfig {
|
||||
private static final ForgeConfigSpec.DoubleValue GRAVITY_GUN_BLAST_STRENGTH;
|
||||
private static final ForgeConfigSpec.DoubleValue GRAVITY_GUN_COOLDOWN_SECONDS;
|
||||
private static final ForgeConfigSpec.DoubleValue GRAVITY_GUN_MAX_HOLD_DISTANCE;
|
||||
|
||||
// Critter Cage
|
||||
private static final ForgeConfigSpec.BooleanValue EYE_OF_THE_STORM_ENABLED;
|
||||
private static final ForgeConfigSpec.IntValue EYE_OF_THE_STORM_UPDRAFT_COOLDOWN_TICKS;
|
||||
private static final ForgeConfigSpec.DoubleValue EYE_OF_THE_STORM_UPDRAFT_LAUNCH_STRENGTH;
|
||||
private static final ForgeConfigSpec.DoubleValue EYE_OF_THE_STORM_UPDRAFT_HEIGHT;
|
||||
private static final ForgeConfigSpec.DoubleValue EYE_OF_THE_STORM_UPDRAFT_RADIUS;
|
||||
private static final ForgeConfigSpec.IntValue EYE_OF_THE_STORM_UPDRAFT_DURATION_TICKS;
|
||||
private static final ForgeConfigSpec.IntValue EYE_OF_THE_STORM_SURGE_COOLDOWN_TICKS;
|
||||
private static final ForgeConfigSpec.DoubleValue EYE_OF_THE_STORM_SURGE_RANGE;
|
||||
private static final ForgeConfigSpec.IntValue EYE_OF_THE_STORM_SURGE_DURATION_TICKS;
|
||||
private static final ForgeConfigSpec.DoubleValue EYE_OF_THE_STORM_SURGE_RADIUS;
|
||||
private static final ForgeConfigSpec.DoubleValue EYE_OF_THE_STORM_SURGE_HEIGHT;
|
||||
private static final ForgeConfigSpec.DoubleValue EYE_OF_THE_STORM_SURGE_PULL_STRENGTH;
|
||||
private static final ForgeConfigSpec.DoubleValue EYE_OF_THE_STORM_SURGE_RETURN_STRENGTH;
|
||||
private static final ForgeConfigSpec.DoubleValue EYE_OF_THE_STORM_SURGE_DAMAGE;
|
||||
|
||||
private static final ForgeConfigSpec.DoubleValue CRITTER_CAGE_MAX_CAPTURABLE_WIDTH;
|
||||
private static final ForgeConfigSpec.DoubleValue CRITTER_CAGE_MAX_CAPTURABLE_HEIGHT;
|
||||
|
||||
// Miner's Dream
|
||||
|
||||
|
||||
|
||||
// Miscellaneous items / consumables
|
||||
|
||||
private static final ForgeConfigSpec.DoubleValue DUCT_TAPE_REPAIR_PERCENT_PER_USE;
|
||||
private static final ForgeConfigSpec.DoubleValue POTENT_NYXITE_INVERTED_DURATION_SECONDS;
|
||||
private static final ForgeConfigSpec.BooleanValue INVERT_PROJECTILES_FROM_INVERTED_PLAYERS;
|
||||
private static final ForgeConfigSpec.IntValue CORNEA_EAR_NIGHT_VISION_SECONDS;
|
||||
private static final ForgeConfigSpec.BooleanValue AMERICAN_ENABLED;
|
||||
private static final ForgeConfigSpec.IntValue AMERICAN_BONUS_NUTRITION;
|
||||
@@ -201,16 +221,11 @@ public final class AntarchyToolsConfig {
|
||||
private static final ForgeConfigSpec.IntValue AMERICAN_REGENERATION_DURATION_TICKS;
|
||||
private static final ForgeConfigSpec.IntValue AMERICAN_REGENERATION_AMPLIFIER;
|
||||
|
||||
// Moggles
|
||||
private static final ForgeConfigSpec.DoubleValue MOGGLES_VISION_RADIUS;
|
||||
|
||||
|
||||
static {
|
||||
ForgeConfigSpec.Builder b = new ForgeConfigSpec.Builder();
|
||||
|
||||
|
||||
// Basilisk Dagger
|
||||
|
||||
b.push("basiliskDagger");
|
||||
BASILISK_DAGGER_ATTACK_DAMAGE = b.comment("Attack damage.") .defineInRange("attackDamage", 6.0D, 0.0D, 1024.0D);
|
||||
BASILISK_DAGGER_ATTACK_SPEED = b.comment("Attack speed.") .defineInRange("attackSpeed", -1.8D, -10.0D, 10.0D);
|
||||
@@ -218,9 +233,6 @@ public final class AntarchyToolsConfig {
|
||||
BASILISK_DAGGER_POISON_AMPLIFIER = b.comment("Poison level applied on hit (0 = I).") .defineInRange("poisonAmplifier", 2, 0, 10);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Ultimate Tools
|
||||
|
||||
b.push("ultimateTools");
|
||||
ULTIMATE_SWORD_ATTACK_DAMAGE = b.comment("Attack damage of the Ultimate Sword.") .defineInRange("swordAttackDamage", 30.0D, 0.0D, 1024.0D);
|
||||
ULTIMATE_SWORD_ATTACK_SPEED = b.comment("Attack speed of the Ultimate Sword.") .defineInRange("swordAttackSpeed", -2.4D, -10.0D, 10.0D);
|
||||
@@ -238,9 +250,6 @@ public final class AntarchyToolsConfig {
|
||||
.define("threeByThreeEnabled", true);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Ultimate Bow
|
||||
|
||||
b.push("ultimateBow");
|
||||
ULTIMATE_BOW_ATTACK_DAMAGE = b.comment("Damage dealt to non-player targets.") .defineInRange("attackDamage", 18.0D, 0.0D, 1024.0D);
|
||||
ULTIMATE_BOW_PLAYER_HEAL = b.comment("Health restored to players hit by arrows from this bow.") .defineInRange("playerHeal", 8.0D, 0.0D, 1024.0D);
|
||||
@@ -249,9 +258,6 @@ public final class AntarchyToolsConfig {
|
||||
ULTIMATE_BOW_ENCHANTABILITY = b.comment("Enchantability of the Ultimate Bow.") .defineInRange("enchantability", 20, 0, 100);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Ultimate Crossbow
|
||||
|
||||
b.push("ultimateCrossbow");
|
||||
ULTIMATE_CROSSBOW_ATTACK_DAMAGE = b.comment("Damage dealt by projectiles fired from the Ultimate Crossbow.").defineInRange("attackDamage", 8.0D, 0.0D, 1024.0D);
|
||||
ULTIMATE_CROSSBOW_CHARGE_SPEED_MULTIPLIER = b
|
||||
@@ -263,8 +269,11 @@ public final class AntarchyToolsConfig {
|
||||
ULTIMATE_CROSSBOW_ENCHANTABILITY = b.comment("Enchantability of the Ultimate Crossbow.").defineInRange("enchantability", 20, 0, 100);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Ultimate Armor
|
||||
b.push("ultimateMace");
|
||||
ULTIMATE_MACE_DAMAGE_MULTIPLIER = b.comment("Multiplier on both base damage and smash bonus. 1.5 = 50% stronger than a normal mace.").defineInRange("damageMultiplier", 1.5D, 0.1D, 16.0D);
|
||||
ULTIMATE_MACE_ATTACK_SPEED = b.comment("Attack speed of the Ultimate Mace.") .defineInRange("attackSpeed", -3.4D, -10.0D, 10.0D);
|
||||
ULTIMATE_MACE_ENCHANTABILITY = b.comment("Enchantability of the Ultimate Mace.") .defineInRange("enchantability", 20, 0, 100);
|
||||
b.pop();
|
||||
|
||||
b.push("ultimateArmor");
|
||||
ULTIMATE_ARMOR_COMES_ENCHANTED = b.comment("If true, newly crafted Ultimate Armor has Protection, Fire Protection, Projectile Protection, and Blast Protection.").define("comesEnchanted", true);
|
||||
@@ -280,17 +289,73 @@ public final class AntarchyToolsConfig {
|
||||
ULTIMATE_ARMOR_KNOCKBACK_RESISTANCE = b.comment("Knockback resistance granted by each Ultimate Armor piece.") .defineInRange("knockbackResistance", 0.1D, 0.0D, 1.0D);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Battle Axe
|
||||
b.push("royalGear");
|
||||
ROYAL_ARMOR_COMES_ENCHANTED = b.define("comesEnchanted", true);
|
||||
ROYAL_ARMOR_PROTECTION_LEVEL = b.defineInRange("protectionLevel", 10, 0, 100);
|
||||
ROYAL_ARMOR_ENCHANTABILITY = b.defineInRange("enchantability", 30, 0, 100);
|
||||
ROYAL_ARMOR_DURABILITY_MULTIPLIER = b.defineInRange("durabilityMultiplier", 93, 0, 1000);
|
||||
ROYAL_GUARDIAN_HELMET_ARMOR_VALUE = b.defineInRange("guardianHelmetArmor", 5, 0, 100);
|
||||
ROYAL_GUARDIAN_CHESTPLATE_ARMOR_VALUE = b.defineInRange("guardianChestplateArmor", 10, 0, 100);
|
||||
ROYAL_GUARDIAN_LEGGINGS_ARMOR_VALUE = b.defineInRange("guardianLeggingsArmor", 8, 0, 100);
|
||||
ROYAL_GUARDIAN_BOOTS_ARMOR_VALUE = b.defineInRange("guardianBootsArmor", 5, 0, 100);
|
||||
ROYAL_GUARDIAN_ARMOR_TOUGHNESS = b.defineInRange("guardianArmorToughness", 4.0D, 0.0D, 100.0D);
|
||||
ROYAL_GUARDIAN_ARMOR_KNOCKBACK_RESISTANCE = b.defineInRange("guardianArmorKnockbackResistance", 0.15D, 0.0D, 1.0D);
|
||||
ROYAL_GUARDIAN_HELMET_JUDGMENT_BONUS = b.defineInRange("guardianHelmetJudgmentBonus", 0.06D, 0.0D, 10.0D);
|
||||
ROYAL_GUARDIAN_CHESTPLATE_JUDGMENT_BONUS = b.defineInRange("guardianChestplateJudgmentBonus", 0.08D, 0.0D, 10.0D);
|
||||
ROYAL_GUARDIAN_LEGGINGS_JUDGMENT_BONUS = b.defineInRange("guardianLeggingsJudgmentBonus", 0.07D, 0.0D, 10.0D);
|
||||
ROYAL_GUARDIAN_BOOTS_JUDGMENT_BONUS = b.defineInRange("guardianBootsJudgmentBonus", 0.05D, 0.0D, 10.0D);
|
||||
ROYAL_GUARDIAN_JUDGMENT_DURATION_TICKS = b.defineInRange("guardianJudgmentDurationTicks", 160, 1, 72000);
|
||||
ROYAL_ASSAILANT_HELMET_ARMOR_VALUE = b.defineInRange("assailantHelmetArmor", 5, 0, 100);
|
||||
ROYAL_ASSAILANT_CHESTPLATE_ARMOR_VALUE = b.defineInRange("assailantChestplateArmor", 10, 0, 100);
|
||||
ROYAL_ASSAILANT_LEGGINGS_ARMOR_VALUE = b.defineInRange("assailantLeggingsArmor", 8, 0, 100);
|
||||
ROYAL_ASSAILANT_BOOTS_ARMOR_VALUE = b.defineInRange("assailantBootsArmor", 5, 0, 100);
|
||||
ROYAL_ASSAILANT_ARMOR_TOUGHNESS = b.defineInRange("assailantArmorToughness", 3.0D, 0.0D, 100.0D);
|
||||
ROYAL_ASSAILANT_ARMOR_KNOCKBACK_RESISTANCE = b.defineInRange("assailantArmorKnockbackResistance", 0.15D, 0.0D, 1.0D);
|
||||
ROYAL_ASSAILANT_HELMET_DOUBLE_DAMAGE_CHANCE = b.defineInRange("assailantHelmetDoubleDamageChance", 0.06D, 0.0D, 1.0D);
|
||||
ROYAL_ASSAILANT_CHESTPLATE_DOUBLE_DAMAGE_CHANCE = b.defineInRange("assailantChestplateDoubleDamageChance", 0.08D, 0.0D, 1.0D);
|
||||
ROYAL_ASSAILANT_LEGGINGS_DOUBLE_DAMAGE_CHANCE = b.defineInRange("assailantLeggingsDoubleDamageChance", 0.07D, 0.0D, 1.0D);
|
||||
ROYAL_ASSAILANT_BOOTS_DOUBLE_DAMAGE_CHANCE = b.defineInRange("assailantBootsDoubleDamageChance", 0.05D, 0.0D, 1.0D);
|
||||
ROYAL_GUARDIAN_SWORD_ATTACK_DAMAGE = b.defineInRange("guardianSwordAttackDamage", 111.0D, 0.0D, 4096.0D);
|
||||
GIANT_FRYING_PAN_ATTACK_DAMAGE = b.defineInRange("giantFryingPanAttackDamage", 50.0D, 0.0D, 4096.0D);
|
||||
GIANT_FRYING_PAN_COOK_TIME_TICKS = b.defineInRange("giantFryingPanCookTimeTicks", 200, 1, 72000);
|
||||
ROYAL_GUARDIAN_SWORD_ATTACK_SPEED = b.defineInRange("guardianSwordAttackSpeed", -2.5D, -10.0D, 10.0D);
|
||||
ROYAL_GUARDIAN_SWORD_ELEMENTAL_COOLDOWN_TICKS = b.defineInRange("guardianSwordElementalCooldownTicks", 120, 0, 72000);
|
||||
ROYAL_GUARDIAN_SWORD_FIRE_PRIMARY_DAMAGE = b.defineInRange("guardianSwordFirePrimaryDamage", 22.0D, 0.0D, 4096.0D);
|
||||
ROYAL_GUARDIAN_SWORD_FIRE_SPLASH_DAMAGE = b.defineInRange("guardianSwordFireSplashDamage", 14.0D, 0.0D, 4096.0D);
|
||||
ROYAL_GUARDIAN_SWORD_FROST_SPIKE_DAMAGE = b.defineInRange("guardianSwordFrostSpikeDamage", 9.0D, 0.0D, 4096.0D);
|
||||
ROYAL_GUARDIAN_SWORD_STORM_PRIMARY_DAMAGE = b.defineInRange("guardianSwordStormPrimaryDamage", 16.0D, 0.0D, 4096.0D);
|
||||
ROYAL_GUARDIAN_SWORD_STORM_JUMP_DAMAGE = b.defineInRange("guardianSwordStormJumpDamage", 14.0D, 0.0D, 4096.0D);
|
||||
ROYAL_GUARDIAN_SWORD_STORM_MAX_JUMPS = b.defineInRange("guardianSwordStormMaxJumps", 4, 0, 64);
|
||||
ROYAL_GUARDIAN_SWORD_STORM_JUMP_RANGE = b.defineInRange("guardianSwordStormJumpRange", 9.0D, 0.0D, 128.0D);
|
||||
ROYAL_ASSAILANT_BATTLE_AXE_ATTACK_DAMAGE = b.defineInRange("assailantBattleAxeAttackDamage", 151.0D, 0.0D, 4096.0D);
|
||||
ROYAL_ASSAILANT_BATTLE_AXE_ATTACK_SPEED = b.defineInRange("assailantBattleAxeAttackSpeed", -2.9D, -10.0D, 10.0D);
|
||||
ROYAL_WEAPON_ATTACK_REACH_BONUS = b.defineInRange("weaponAttackReachBonus", 3.2D, 0.0D, 32.0D);
|
||||
ROYAL_WEAPON_ATTACK_KNOCKBACK_BONUS = b.defineInRange("weaponAttackKnockbackBonus", 1.0D, 0.0D, 32.0D);
|
||||
ROYAL_WEAPON_DURABILITY = b.defineInRange("weaponDurability", 4608, 1, 100000);
|
||||
ROYAL_WEAPON_ENCHANTABILITY = b.defineInRange("weaponEnchantability", 30, 0, 100);
|
||||
ROYAL_GUARDIAN_SHIELD_DURABILITY = b.defineInRange("guardianShieldDurability", 1008, 1, 100000);
|
||||
ROYAL_GUARDIAN_MUSTER_RANGE = b.defineInRange("guardianMusterRange", 16.0D, 0.0D, 128.0D);
|
||||
ROYAL_GUARDIAN_MUSTER_DURATION_TICKS = b.defineInRange("guardianMusterDurationTicks", 1200, 1, 72000);
|
||||
ROYAL_GUARDIAN_MUSTER_COOLDOWN_TICKS = b.defineInRange("guardianMusterCooldownTicks", 500, 0, 72000);
|
||||
ROYAL_GUARDIAN_MUSTER_MOB_CAP = b.defineInRange("guardianMusterMobCap", 3, 0, 64);
|
||||
ROYAL_GUARDIAN_MUSTER_DAMAGE_REDUCTION = b.defineInRange("guardianMusterDamageReduction", 0.40D, 0.0D, 1.0D);
|
||||
ROYAL_GUARDIAN_MUSTER_ATTACK_BONUS = b.defineInRange("guardianMusterAttackBonus", 0.50D, 0.0D, 10.0D);
|
||||
ROYAL_GUARDIAN_MUSTER_SPEED_BONUS = b.defineInRange("guardianMusterSpeedBonus", 0.25D, 0.0D, 10.0D);
|
||||
ROYAL_GUARDIAN_MUSTER_PASSIVE_DAMAGE_FLOOR = b.defineInRange("guardianMusterPassiveDamageFloor", 3.0D, 0.0D, 1024.0D);
|
||||
ROYAL_GUARDIAN_BOUNDARY_RADIUS = b.defineInRange("guardianBoundaryRadius", 9.0D, 0.5D, 128.0D);
|
||||
ROYAL_GUARDIAN_BOUNDARY_DURATION_TICKS = b.defineInRange("guardianBoundaryDurationTicks", 120, 1, 72000);
|
||||
ROYAL_GUARDIAN_BOUNDARY_COOLDOWN_TICKS = b.defineInRange("guardianBoundaryCooldownTicks", 700, 0, 72000);
|
||||
ROYAL_GUARDIAN_BOUNDARY_STRENGTH_AMPLIFIER = b.defineInRange("guardianBoundaryStrengthAmplifier", 1, 0, 255);
|
||||
ROYAL_GUARDIAN_BOUNDARY_ARREST_TICKS = b.defineInRange("guardianBoundaryArrestTicks", 20, 0, 1200);
|
||||
ROYAL_GUARDIAN_BOUNDARY_DROP_TICKS = b.defineInRange("guardianBoundaryDropTicks", 8, 0, 1200);
|
||||
ROYAL_GUARDIAN_BOUNDARY_PROJECTILE_CAP = b.defineInRange("guardianBoundaryProjectileCap", 64, 0, 4096);
|
||||
b.pop();
|
||||
|
||||
b.push("battleAxe");
|
||||
BATTLE_AXE_ATTACK_DAMAGE = b.comment("Attack damage of the Battle Axe.").defineInRange("attackDamage", 46.0D, 0.0D, 4096.0D);
|
||||
BATTLE_AXE_ATTACK_SPEED = b.comment("Attack speed of the Battle Axe.") .defineInRange("attackSpeed", -3.1D, -10.0D, 10.0D);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Big Bertha
|
||||
|
||||
b.push("bigBertha");
|
||||
BIG_BERTHA_ATTACK_DAMAGE = b.comment("Attack damage of Big Bertha.") .defineInRange("attackDamage", 55.0D, 0.0D, 4096.0D);
|
||||
BIG_BERTHA_REACH_BONUS = b.comment("Extra attack range in blocks while held in main hand.") .defineInRange("reachBonus", 3.0D, 0.0D, 32.0D);
|
||||
@@ -324,6 +389,7 @@ public final class AntarchyToolsConfig {
|
||||
|
||||
b.push("scorpionWhip");
|
||||
SCORPION_WHIP_BASE_DAMAGE = b.comment("Base lash damage of the Scorpion Stinger Whip.").defineInRange("baseDamage", 10.0D, 0.0D, 4096.0D);
|
||||
SCORPION_WHIP_REACH_BONUS = b.comment("Extra entity interaction range in blocks while held in main hand.").defineInRange("reachBonus", 5.0D, 0.0D, 32.0D);
|
||||
SCORPION_WHIP_POISON_DURATION_TICKS = b.comment("Poison duration applied on lash.").defineInRange("poisonDurationTicks", 100, 0, 20000);
|
||||
SCORPION_WHIP_TETHER_MAX_RANGE = b.comment("Maximum tether distance before it breaks.").defineInRange("tetherMaxRange", 10.0D, 0.0D, 128.0D);
|
||||
SCORPION_WHIP_SNAP_BONUS_DAMAGE = b.comment("Bonus damage dealt when snapping the tether free.").defineInRange("snapBonusDamage", 6.0D, 0.0D, 4096.0D);
|
||||
@@ -336,11 +402,11 @@ public final class AntarchyToolsConfig {
|
||||
BLOOD_CRYSTAL_KATANA_ATTACK_DAMAGE = b.comment("Attack damage of the Blood Crystal Katana.").defineInRange("attackDamage", 7, 0, 1024);
|
||||
BLOOD_CRYSTAL_KATANA_LAUNCH_STRENGTH = b.comment("Forward launch strength applied to the wielder when the katana hits.").defineInRange("launchStrength", 1.1D, 0.0D, 8.0D);
|
||||
BLOOD_CRYSTAL_KATANA_TRAIL_DURATION_TICKS = b.comment("How long the crimson trail lingers after a katana hit, in ticks.").defineInRange("trailDurationTicks", 12, 0, 200);
|
||||
BLOOD_CRYSTAL_KATANA_REACH_BONUS = b.comment("Extra entity interaction range in blocks while held in main hand. Lets a swing reach (and dash toward) a target you are looking at from farther away.").defineInRange("reachBonus", 4.0D, 0.0D, 32.0D);
|
||||
BLOOD_CRYSTAL_KATANA_INVULN_TICKS = b.comment("Full-immunity window granted after a full-strength swing dash, in ticks (0 disables).").defineInRange("invulnTicks", 8, 0, 200);
|
||||
BLOOD_CRYSTAL_KATANA_DASH_COOLDOWN_TICKS = b.comment("Minimum ticks between katana dashes.").defineInRange("dashCooldownTicks", 4, 0, 200);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Nightmare Gear
|
||||
|
||||
b.push("nightmareArmor");
|
||||
NIGHTMARE_HELMET_ARMOR_VALUE = b.comment("Armor points of the Nightmare Helmet. (Netherite default: 3)") .defineInRange("helmetArmor", 3, 0, 100);
|
||||
NIGHTMARE_CHESTPLATE_ARMOR_VALUE = b.comment("Armor points of the Nightmare Chestplate. (Netherite default: 8)") .defineInRange("chestplateArmor", 8, 0, 100);
|
||||
@@ -351,10 +417,10 @@ public final class AntarchyToolsConfig {
|
||||
NIGHTMARE_LEGGINGS_ARMOR_TOUGHNESS = b.comment("Armor toughness of the Nightmare Leggings.") .defineInRange("leggingsToughness", 3.0D, 0.0D, 100.0D);
|
||||
NIGHTMARE_BOOTS_ARMOR_TOUGHNESS = b.comment("Armor toughness of the Nightmare Boots.") .defineInRange("bootsToughness", 3.0D, 0.0D, 100.0D);
|
||||
NIGHTMARE_ARMOR_KNOCKBACK_RESISTANCE = b.comment("Knockback resistance granted by each Nightmare Armor piece.") .defineInRange("knockbackResistance", 0.1D, 0.0D, 1.0D);
|
||||
NIGHTMARE_HELMET_DOUBLE_DAMAGE_CHANCE = b.comment("Chance for the Nightmare Helmet to double incoming damage dealt back to attackers.").defineInRange("helmetDoubleDamageChance", 0.04D, 0.0D, 1.0D);
|
||||
NIGHTMARE_CHESTPLATE_DOUBLE_DAMAGE_CHANCE = b.comment("Chance for the Nightmare Chestplate to double incoming damage dealt back to attackers.").defineInRange("chestplateDoubleDamageChance", 0.06D, 0.0D, 1.0D);
|
||||
NIGHTMARE_LEGGINGS_DOUBLE_DAMAGE_CHANCE = b.comment("Chance for the Nightmare Leggings to double incoming damage dealt back to attackers.").defineInRange("leggingsDoubleDamageChance", 0.05D, 0.0D, 1.0D);
|
||||
NIGHTMARE_BOOTS_DOUBLE_DAMAGE_CHANCE = b.comment("Chance for the Nightmare Boots to double incoming damage dealt back to attackers.").defineInRange("bootsDoubleDamageChance", 0.03D, 0.0D, 1.0D);
|
||||
NIGHTMARE_HELMET_DOUBLE_DAMAGE_CHANCE = b.comment("Chance for the Nightmare Helmet to double an incoming hit's damage.") .defineInRange("helmetDoubleDamageChance", 0.04D, 0.0D, 1.0D);
|
||||
NIGHTMARE_CHESTPLATE_DOUBLE_DAMAGE_CHANCE = b.comment("Chance for the Nightmare Chestplate to double an incoming hit's damage.") .defineInRange("chestplateDoubleDamageChance", 0.06D, 0.0D, 1.0D);
|
||||
NIGHTMARE_LEGGINGS_DOUBLE_DAMAGE_CHANCE = b.comment("Chance for the Nightmare Leggings to double an incoming hit's damage.") .defineInRange("leggingsDoubleDamageChance", 0.05D, 0.0D, 1.0D);
|
||||
NIGHTMARE_BOOTS_DOUBLE_DAMAGE_CHANCE = b.comment("Chance for the Nightmare Boots to double an incoming hit's damage.") .defineInRange("bootsDoubleDamageChance", 0.03D, 0.0D, 1.0D);
|
||||
PRIMORDIAL_ARMOR_KNOCKBACK_PER_PIECE = b.comment("Attack knockback added by each Primordial Armor piece.") .defineInRange("primordialArmorKnockbackPerPiece", 0.5D, 0.0D, 16.0D);
|
||||
b.pop();
|
||||
|
||||
@@ -379,9 +445,6 @@ public final class AntarchyToolsConfig {
|
||||
FALLEN_KING_CROWN_ARMOR_TOUGHNESS = b.comment("Armor toughness of the Fallen King's Crown. Default: 0.0 (gold helmet).").defineInRange("armorToughness", 0.0D, 0.0D, 100.0D);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Blood Crystal Armor
|
||||
|
||||
b.push("bloodCrystalArmor");
|
||||
BLOOD_CRYSTAL_ARMOR_SHIELD_RECHARGE_TICKS = b.comment("Ticks (20/s) for each armor Bloodglass Shield to recharge after shattering. Default: 600 (30s).").defineInRange("armorShieldRechargeTicks", 600, 1, 72000);
|
||||
BLOOD_CRYSTAL_APPLE_SHIELD_COUNT = b.comment("Number of Bloodglass Shields granted by a Blood Crystal Apple (Bloodglass Ward level). Default: 2.").defineInRange("appleShieldCount", 2, 1, 8);
|
||||
@@ -393,15 +456,12 @@ public final class AntarchyToolsConfig {
|
||||
BLOOD_CRYSTAL_LEGGINGS_DEFENSE = b.comment("Armor defense value for Blood Crystal Leggings. Default: 5 (iron).").defineInRange("leggingsDefense", 5, 0, 30);
|
||||
BLOOD_CRYSTAL_BOOTS_DEFENSE = b.comment("Armor defense value for Blood Crystal Boots. Default: 2 (iron).").defineInRange("bootsDefense", 2, 0, 30);
|
||||
BLOOD_CRYSTAL_ARMOR_TOUGHNESS = b.comment("Armor toughness for all Blood Crystal armor pieces. Default: 0.0 (iron).").defineInRange("armorToughness", 0.0, 0.0, 20.0);
|
||||
BLOOD_CRYSTAL_HELMET_DURABILITY = b.comment("Max durability of Blood Crystal Helmet. Default: 77 (gold).").defineInRange("helmetDurability", 77, 1, 2000);
|
||||
BLOOD_CRYSTAL_CHESTPLATE_DURABILITY = b.comment("Max durability of Blood Crystal Chestplate. Default: 112 (gold).").defineInRange("chestplateDurability", 112, 1, 2000);
|
||||
BLOOD_CRYSTAL_LEGGINGS_DURABILITY = b.comment("Max durability of Blood Crystal Leggings. Default: 105 (gold).").defineInRange("leggingsDurability", 105, 1, 2000);
|
||||
BLOOD_CRYSTAL_BOOTS_DURABILITY = b.comment("Max durability of Blood Crystal Boots. Default: 91 (gold).").defineInRange("bootsDurability", 91, 1, 2000);
|
||||
BLOOD_CRYSTAL_HELMET_DURABILITY = b.comment("Max durability of Blood Crystal Helmet. Default: 92.").defineInRange("helmetDurability", 92, 1, 2000);
|
||||
BLOOD_CRYSTAL_CHESTPLATE_DURABILITY = b.comment("Max durability of Blood Crystal Chestplate. Default: 134.").defineInRange("chestplateDurability", 134, 1, 2000);
|
||||
BLOOD_CRYSTAL_LEGGINGS_DURABILITY = b.comment("Max durability of Blood Crystal Leggings. Default: 126.").defineInRange("leggingsDurability", 126, 1, 2000);
|
||||
BLOOD_CRYSTAL_BOOTS_DURABILITY = b.comment("Max durability of Blood Crystal Boots. Default: 109.").defineInRange("bootsDurability", 109, 1, 2000);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Squidzooka
|
||||
|
||||
b.push("squidzooka");
|
||||
SQUIDZOOKA_COOLDOWN_SECONDS = b.comment("Cooldown in seconds after firing. Set to 0 to disable.").defineInRange("cooldownSeconds", 1.0D, 0.0D, 3600.0D);
|
||||
SQUIDZOOKA_LAUNCH_VELOCITY = b.comment("Initial launch velocity applied to the Missile Squid.") .defineInRange("launchVelocity", 2.1D, 0.1D, 20.0D);
|
||||
@@ -414,9 +474,6 @@ public final class AntarchyToolsConfig {
|
||||
RPO_LAUNCHER_EXPLOSION_RADIUS = b.comment("Radius in blocks of the ink explosion.") .defineInRange("explosionRadius", 4.0D, 0.5D, 32.0D);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Size Rays
|
||||
|
||||
b.push("sizeRays");
|
||||
SIZE_CHANGING_RAYS_ENABLED = b
|
||||
.comment(
|
||||
@@ -432,21 +489,6 @@ public final class AntarchyToolsConfig {
|
||||
GROWTH_POTION_DELTA = b.comment("Scale delta per level of Growth Potion. Level II applies double this value.") .defineInRange("growthPotionDelta", 0.5D, 0.001D, 64.0D);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Gravity
|
||||
|
||||
b.push("gravity");
|
||||
INVERT_PROJECTILES_FROM_INVERTED_PLAYERS = b
|
||||
.comment(
|
||||
"If true, projectiles fired by inverted players keep their inverted launch and gravity.",
|
||||
"Affects bows, crossbows, throwables, and firework boosts."
|
||||
)
|
||||
.define("invertProjectilesFromInvertedPlayers", false);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Gravity Gun
|
||||
|
||||
b.push("gravityGun");
|
||||
GRAVITY_GUN_ENABLED = b.comment("Master toggle for the Gravity Gun.") .define("enabled", true);
|
||||
GRAVITY_GUN_BLOCKS_ENABLED = b.comment("If false, the Gravity Gun cannot grab blocks.") .define("blocksEnabled", true);
|
||||
@@ -458,18 +500,28 @@ public final class AntarchyToolsConfig {
|
||||
GRAVITY_GUN_MAX_HOLD_DISTANCE = b.comment("Maximum distance a held target can be pushed from the player, in blocks.") .defineInRange("maxHoldDistance", 10.0D, 1.5D, 64.0D);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Critter Cage
|
||||
b.push("eyeOfTheStorm");
|
||||
EYE_OF_THE_STORM_ENABLED = b.define("enabled", true);
|
||||
EYE_OF_THE_STORM_UPDRAFT_COOLDOWN_TICKS = b.defineInRange("updraftCooldownTicks", 40, 0, 20000);
|
||||
EYE_OF_THE_STORM_UPDRAFT_LAUNCH_STRENGTH = b.defineInRange("updraftLaunchStrength", 1.15D, 0.0D, 16.0D);
|
||||
EYE_OF_THE_STORM_UPDRAFT_HEIGHT = b.defineInRange("updraftHeight", 4.0D, 0.0D, 128.0D);
|
||||
EYE_OF_THE_STORM_UPDRAFT_RADIUS = b.defineInRange("updraftRadius", 1.3D, 0.0D, 64.0D);
|
||||
EYE_OF_THE_STORM_UPDRAFT_DURATION_TICKS = b.defineInRange("updraftDurationTicks", 32, 0, 20000);
|
||||
EYE_OF_THE_STORM_SURGE_COOLDOWN_TICKS = b.defineInRange("surgeCooldownTicks", 70, 0, 20000);
|
||||
EYE_OF_THE_STORM_SURGE_RANGE = b.defineInRange("surgeRange", 16.0D, 0.0D, 256.0D);
|
||||
EYE_OF_THE_STORM_SURGE_DURATION_TICKS = b.defineInRange("surgeDurationTicks", 300, 0, 20000);
|
||||
EYE_OF_THE_STORM_SURGE_RADIUS = b.defineInRange("surgeRadius", 4.0D, 0.0D, 128.0D);
|
||||
EYE_OF_THE_STORM_SURGE_HEIGHT = b.defineInRange("surgeHeight", 6.0D, 0.0D, 128.0D);
|
||||
EYE_OF_THE_STORM_SURGE_PULL_STRENGTH = b.defineInRange("surgePullStrength", 0.85D, 0.0D, 16.0D);
|
||||
EYE_OF_THE_STORM_SURGE_RETURN_STRENGTH = b.defineInRange("surgeReturnStrength", 1.4D, 0.0D, 16.0D);
|
||||
EYE_OF_THE_STORM_SURGE_DAMAGE = b.defineInRange("surgeDamage", 5.0F, 0.0F, 1024.0F);
|
||||
b.pop();
|
||||
|
||||
b.push("critterCage");
|
||||
CRITTER_CAGE_MAX_CAPTURABLE_WIDTH = b.comment("Maximum capturable entity width/depth based on the live hitbox, in blocks.").defineInRange("maxCapturableWidth", 1.65D, 0.1D, 64.0D);
|
||||
CRITTER_CAGE_MAX_CAPTURABLE_HEIGHT = b.comment("Maximum capturable entity height based on the live hitbox, in blocks.").defineInRange("maxCapturableHeight", 1.65D, 0.1D, 64.0D);
|
||||
b.pop();
|
||||
|
||||
|
||||
|
||||
// Miscellaneous items / consumables
|
||||
|
||||
b.push("ductTape");
|
||||
DUCT_TAPE_REPAIR_PERCENT_PER_USE = b
|
||||
.comment("Fraction of max durability repaired per use. 0.25 = 25% per application.")
|
||||
@@ -497,7 +549,7 @@ public final class AntarchyToolsConfig {
|
||||
b.pop();
|
||||
|
||||
b.push("moggles");
|
||||
MOGGLES_VISION_RADIUS = b.comment("Radius used by Moggles cave detection.").defineInRange("visionRadius", 20.0D, 1.0D, 128.0D);
|
||||
MOGGLES_VISION_RADIUS = b.comment("Search radius (in blocks) used by Moggles cave detection.").defineInRange("visionRadius", 20.0D, 1.0D, 128.0D);
|
||||
b.pop();
|
||||
|
||||
SPEC = b.build();
|
||||
@@ -533,6 +585,10 @@ public final class AntarchyToolsConfig {
|
||||
static double ultimateCrossbowChargeSpeedMultiplier() { return ULTIMATE_CROSSBOW_CHARGE_SPEED_MULTIPLIER.get(); }
|
||||
static int ultimateCrossbowEnchantability() { return ULTIMATE_CROSSBOW_ENCHANTABILITY.get(); }
|
||||
|
||||
static double ultimateMaceDamageMultiplier() { return ULTIMATE_MACE_DAMAGE_MULTIPLIER.get(); }
|
||||
static double ultimateMaceAttackSpeed() { return ULTIMATE_MACE_ATTACK_SPEED.get(); }
|
||||
static int ultimateMaceEnchantability() { return ULTIMATE_MACE_ENCHANTABILITY.get(); }
|
||||
|
||||
static boolean ultimateArmorComesEnchanted() { return ULTIMATE_ARMOR_COMES_ENCHANTED.get(); }
|
||||
static int ultimateArmorEnchantability() { return ULTIMATE_ARMOR_ENCHANTABILITY.get(); }
|
||||
static int ultimateHelmetArmorValue() { return ULTIMATE_HELMET_ARMOR_VALUE.get(); }
|
||||
@@ -572,6 +628,7 @@ public final class AntarchyToolsConfig {
|
||||
static int krakensGraspTentacleSlownessAmplifier() { return KRAKENS_GRASP_TENTACLE_SLOWNESS_AMPLIFIER.get(); }
|
||||
static int krakensGraspTentacleSlownessRefreshTicks() { return KRAKENS_GRASP_TENTACLE_SLOWNESS_REFRESH_TICKS.get(); }
|
||||
static double scorpionWhipBaseDamage() { return SCORPION_WHIP_BASE_DAMAGE.get(); }
|
||||
static double scorpionWhipReachBonus() { return SCORPION_WHIP_REACH_BONUS.get(); }
|
||||
static int scorpionWhipPoisonDurationTicks() { return SCORPION_WHIP_POISON_DURATION_TICKS.get(); }
|
||||
static double scorpionWhipTetherMaxRange() { return SCORPION_WHIP_TETHER_MAX_RANGE.get(); }
|
||||
static double scorpionWhipSnapBonusDamage() { return SCORPION_WHIP_SNAP_BONUS_DAMAGE.get(); }
|
||||
@@ -581,6 +638,9 @@ public final class AntarchyToolsConfig {
|
||||
static int bloodCrystalKatanaAttackDamage() { return BLOOD_CRYSTAL_KATANA_ATTACK_DAMAGE.get(); }
|
||||
static double bloodCrystalKatanaLaunchStrength() { return BLOOD_CRYSTAL_KATANA_LAUNCH_STRENGTH.get(); }
|
||||
static int bloodCrystalKatanaTrailDurationTicks() { return BLOOD_CRYSTAL_KATANA_TRAIL_DURATION_TICKS.get(); }
|
||||
static double bloodCrystalKatanaReachBonus() { return BLOOD_CRYSTAL_KATANA_REACH_BONUS.get(); }
|
||||
static int bloodCrystalKatanaInvulnTicks() { return BLOOD_CRYSTAL_KATANA_INVULN_TICKS.get(); }
|
||||
static int bloodCrystalKatanaDashCooldownTicks() { return BLOOD_CRYSTAL_KATANA_DASH_COOLDOWN_TICKS.get(); }
|
||||
|
||||
static int nightmareHelmetArmorValue() { return NIGHTMARE_HELMET_ARMOR_VALUE.get(); }
|
||||
static int nightmareChestplateArmorValue() { return NIGHTMARE_CHESTPLATE_ARMOR_VALUE.get(); }
|
||||
@@ -633,8 +693,6 @@ public final class AntarchyToolsConfig {
|
||||
static double shrinkingPotionDelta() { return SHRINKING_POTION_DELTA.get(); }
|
||||
static double growthPotionDelta() { return GROWTH_POTION_DELTA.get(); }
|
||||
|
||||
static boolean invertProjectilesFromInvertedPlayers() { return INVERT_PROJECTILES_FROM_INVERTED_PLAYERS.get(); }
|
||||
|
||||
static boolean gravityGunEnabled() { return GRAVITY_GUN_ENABLED.get(); }
|
||||
static boolean gravityGunBlocksEnabled() { return GRAVITY_GUN_BLOCKS_ENABLED.get(); }
|
||||
static boolean gravityGunEntitiesEnabled() { return GRAVITY_GUN_ENTITIES_ENABLED.get(); }
|
||||
@@ -647,7 +705,6 @@ public final class AntarchyToolsConfig {
|
||||
static double critterCageMaxCapturableWidth() { return CRITTER_CAGE_MAX_CAPTURABLE_WIDTH.get(); }
|
||||
static double critterCageMaxCapturableHeight() { return CRITTER_CAGE_MAX_CAPTURABLE_HEIGHT.get(); }
|
||||
|
||||
|
||||
static double ductTapeRepairPercentPerUse() { return DUCT_TAPE_REPAIR_PERCENT_PER_USE.get(); }
|
||||
static double potentNyxiteInvertedDurationSeconds() { return POTENT_NYXITE_INVERTED_DURATION_SECONDS.get(); }
|
||||
static int corneaEarNightVisionSeconds() { return CORNEA_EAR_NIGHT_VISION_SECONDS.get(); }
|
||||
@@ -658,5 +715,79 @@ public final class AntarchyToolsConfig {
|
||||
static int americanRegenerationAmplifier() { return AMERICAN_REGENERATION_AMPLIFIER.get(); }
|
||||
static double mogglesVisionRadius() { return MOGGLES_VISION_RADIUS.get(); }
|
||||
|
||||
static boolean eyeOfTheStormEnabled() { return EYE_OF_THE_STORM_ENABLED.get(); }
|
||||
static int eyeOfTheStormUpdraftCooldownTicks() { return EYE_OF_THE_STORM_UPDRAFT_COOLDOWN_TICKS.get(); }
|
||||
static double eyeOfTheStormUpdraftLaunchStrength() { return EYE_OF_THE_STORM_UPDRAFT_LAUNCH_STRENGTH.get(); }
|
||||
static double eyeOfTheStormUpdraftHeight() { return EYE_OF_THE_STORM_UPDRAFT_HEIGHT.get(); }
|
||||
static double eyeOfTheStormUpdraftRadius() { return EYE_OF_THE_STORM_UPDRAFT_RADIUS.get(); }
|
||||
static int eyeOfTheStormUpdraftDurationTicks() { return EYE_OF_THE_STORM_UPDRAFT_DURATION_TICKS.get(); }
|
||||
static int eyeOfTheStormSurgeCooldownTicks() { return EYE_OF_THE_STORM_SURGE_COOLDOWN_TICKS.get(); }
|
||||
static double eyeOfTheStormSurgeRange() { return EYE_OF_THE_STORM_SURGE_RANGE.get(); }
|
||||
static int eyeOfTheStormSurgeDurationTicks() { return EYE_OF_THE_STORM_SURGE_DURATION_TICKS.get(); }
|
||||
static double eyeOfTheStormSurgeRadius() { return EYE_OF_THE_STORM_SURGE_RADIUS.get(); }
|
||||
static double eyeOfTheStormSurgeHeight() { return EYE_OF_THE_STORM_SURGE_HEIGHT.get(); }
|
||||
static double eyeOfTheStormSurgePullStrength() { return EYE_OF_THE_STORM_SURGE_PULL_STRENGTH.get(); }
|
||||
static double eyeOfTheStormSurgeReturnStrength() { return EYE_OF_THE_STORM_SURGE_RETURN_STRENGTH.get(); }
|
||||
static float eyeOfTheStormSurgeDamage() { return EYE_OF_THE_STORM_SURGE_DAMAGE.get().floatValue(); }
|
||||
|
||||
static boolean royalArmorComesEnchanted() { return ROYAL_ARMOR_COMES_ENCHANTED.get(); }
|
||||
static int royalArmorProtectionLevel() { return ROYAL_ARMOR_PROTECTION_LEVEL.get(); }
|
||||
static int royalArmorEnchantability() { return ROYAL_ARMOR_ENCHANTABILITY.get(); }
|
||||
static int royalArmorDurabilityMultiplier() { return ROYAL_ARMOR_DURABILITY_MULTIPLIER.get(); }
|
||||
static int royalGuardianHelmetArmorValue() { return ROYAL_GUARDIAN_HELMET_ARMOR_VALUE.get(); }
|
||||
static int royalGuardianChestplateArmorValue() { return ROYAL_GUARDIAN_CHESTPLATE_ARMOR_VALUE.get(); }
|
||||
static int royalGuardianLeggingsArmorValue() { return ROYAL_GUARDIAN_LEGGINGS_ARMOR_VALUE.get(); }
|
||||
static int royalGuardianBootsArmorValue() { return ROYAL_GUARDIAN_BOOTS_ARMOR_VALUE.get(); }
|
||||
static double royalGuardianArmorToughness() { return ROYAL_GUARDIAN_ARMOR_TOUGHNESS.get(); }
|
||||
static double royalGuardianArmorKnockbackResistance() { return ROYAL_GUARDIAN_ARMOR_KNOCKBACK_RESISTANCE.get(); }
|
||||
static double royalGuardianHelmetJudgmentBonus() { return ROYAL_GUARDIAN_HELMET_JUDGMENT_BONUS.get(); }
|
||||
static double royalGuardianChestplateJudgmentBonus() { return ROYAL_GUARDIAN_CHESTPLATE_JUDGMENT_BONUS.get(); }
|
||||
static double royalGuardianLeggingsJudgmentBonus() { return ROYAL_GUARDIAN_LEGGINGS_JUDGMENT_BONUS.get(); }
|
||||
static double royalGuardianBootsJudgmentBonus() { return ROYAL_GUARDIAN_BOOTS_JUDGMENT_BONUS.get(); }
|
||||
static int royalGuardianJudgmentDurationTicks() { return ROYAL_GUARDIAN_JUDGMENT_DURATION_TICKS.get(); }
|
||||
static int royalAssailantHelmetArmorValue() { return ROYAL_ASSAILANT_HELMET_ARMOR_VALUE.get(); }
|
||||
static int royalAssailantChestplateArmorValue() { return ROYAL_ASSAILANT_CHESTPLATE_ARMOR_VALUE.get(); }
|
||||
static int royalAssailantLeggingsArmorValue() { return ROYAL_ASSAILANT_LEGGINGS_ARMOR_VALUE.get(); }
|
||||
static int royalAssailantBootsArmorValue() { return ROYAL_ASSAILANT_BOOTS_ARMOR_VALUE.get(); }
|
||||
static double royalAssailantArmorToughness() { return ROYAL_ASSAILANT_ARMOR_TOUGHNESS.get(); }
|
||||
static double royalAssailantArmorKnockbackResistance() { return ROYAL_ASSAILANT_ARMOR_KNOCKBACK_RESISTANCE.get(); }
|
||||
static double royalAssailantHelmetDoubleDamageChance() { return ROYAL_ASSAILANT_HELMET_DOUBLE_DAMAGE_CHANCE.get(); }
|
||||
static double royalAssailantChestplateDoubleDamageChance() { return ROYAL_ASSAILANT_CHESTPLATE_DOUBLE_DAMAGE_CHANCE.get(); }
|
||||
static double royalAssailantLeggingsDoubleDamageChance() { return ROYAL_ASSAILANT_LEGGINGS_DOUBLE_DAMAGE_CHANCE.get(); }
|
||||
static double royalAssailantBootsDoubleDamageChance() { return ROYAL_ASSAILANT_BOOTS_DOUBLE_DAMAGE_CHANCE.get(); }
|
||||
static double royalGuardianSwordAttackDamage() { return ROYAL_GUARDIAN_SWORD_ATTACK_DAMAGE.get(); }
|
||||
static double giantFryingPanAttackDamage() { return GIANT_FRYING_PAN_ATTACK_DAMAGE.get(); }
|
||||
static int giantFryingPanCookTimeTicks() { return GIANT_FRYING_PAN_COOK_TIME_TICKS.get(); }
|
||||
static double royalGuardianSwordAttackSpeed() { return ROYAL_GUARDIAN_SWORD_ATTACK_SPEED.get(); }
|
||||
static int royalGuardianSwordElementalCooldownTicks() { return ROYAL_GUARDIAN_SWORD_ELEMENTAL_COOLDOWN_TICKS.get(); }
|
||||
static double royalGuardianSwordFirePrimaryDamage() { return ROYAL_GUARDIAN_SWORD_FIRE_PRIMARY_DAMAGE.get(); }
|
||||
static double royalGuardianSwordFireSplashDamage() { return ROYAL_GUARDIAN_SWORD_FIRE_SPLASH_DAMAGE.get(); }
|
||||
static double royalGuardianSwordFrostSpikeDamage() { return ROYAL_GUARDIAN_SWORD_FROST_SPIKE_DAMAGE.get(); }
|
||||
static double royalGuardianSwordStormPrimaryDamage() { return ROYAL_GUARDIAN_SWORD_STORM_PRIMARY_DAMAGE.get(); }
|
||||
static double royalGuardianSwordStormJumpDamage() { return ROYAL_GUARDIAN_SWORD_STORM_JUMP_DAMAGE.get(); }
|
||||
static int royalGuardianSwordStormMaxJumps() { return ROYAL_GUARDIAN_SWORD_STORM_MAX_JUMPS.get(); }
|
||||
static double royalGuardianSwordStormJumpRange() { return ROYAL_GUARDIAN_SWORD_STORM_JUMP_RANGE.get(); }
|
||||
static double royalAssailantBattleAxeAttackDamage() { return ROYAL_ASSAILANT_BATTLE_AXE_ATTACK_DAMAGE.get(); }
|
||||
static double royalAssailantBattleAxeAttackSpeed() { return ROYAL_ASSAILANT_BATTLE_AXE_ATTACK_SPEED.get(); }
|
||||
static double royalWeaponAttackReachBonus() { return ROYAL_WEAPON_ATTACK_REACH_BONUS.get(); }
|
||||
static double royalWeaponAttackKnockbackBonus() { return ROYAL_WEAPON_ATTACK_KNOCKBACK_BONUS.get(); }
|
||||
static int royalWeaponDurability() { return ROYAL_WEAPON_DURABILITY.get(); }
|
||||
static int royalWeaponEnchantability() { return ROYAL_WEAPON_ENCHANTABILITY.get(); }
|
||||
static int royalGuardianShieldDurability() { return ROYAL_GUARDIAN_SHIELD_DURABILITY.get(); }
|
||||
static double royalGuardianMusterRange() { return ROYAL_GUARDIAN_MUSTER_RANGE.get(); }
|
||||
static int royalGuardianMusterDurationTicks() { return ROYAL_GUARDIAN_MUSTER_DURATION_TICKS.get(); }
|
||||
static int royalGuardianMusterCooldownTicks() { return ROYAL_GUARDIAN_MUSTER_COOLDOWN_TICKS.get(); }
|
||||
static int royalGuardianMusterMobCap() { return ROYAL_GUARDIAN_MUSTER_MOB_CAP.get(); }
|
||||
static double royalGuardianMusterDamageReduction() { return ROYAL_GUARDIAN_MUSTER_DAMAGE_REDUCTION.get(); }
|
||||
static double royalGuardianMusterAttackBonus() { return ROYAL_GUARDIAN_MUSTER_ATTACK_BONUS.get(); }
|
||||
static double royalGuardianMusterSpeedBonus() { return ROYAL_GUARDIAN_MUSTER_SPEED_BONUS.get(); }
|
||||
static double royalGuardianMusterPassiveDamageFloor() { return ROYAL_GUARDIAN_MUSTER_PASSIVE_DAMAGE_FLOOR.get(); }
|
||||
static double royalGuardianBoundaryRadius() { return ROYAL_GUARDIAN_BOUNDARY_RADIUS.get(); }
|
||||
static int royalGuardianBoundaryDurationTicks() { return ROYAL_GUARDIAN_BOUNDARY_DURATION_TICKS.get(); }
|
||||
static int royalGuardianBoundaryCooldownTicks() { return ROYAL_GUARDIAN_BOUNDARY_COOLDOWN_TICKS.get(); }
|
||||
static int royalGuardianBoundaryStrengthAmplifier() { return ROYAL_GUARDIAN_BOUNDARY_STRENGTH_AMPLIFIER.get(); }
|
||||
static int royalGuardianBoundaryArrestTicks() { return ROYAL_GUARDIAN_BOUNDARY_ARREST_TICKS.get(); }
|
||||
static int royalGuardianBoundaryDropTicks() { return ROYAL_GUARDIAN_BOUNDARY_DROP_TICKS.get(); }
|
||||
static int royalGuardianBoundaryProjectileCap() { return ROYAL_GUARDIAN_BOUNDARY_PROJECTILE_CAP.get(); }
|
||||
|
||||
}
|
||||
@@ -8,6 +8,8 @@ public final class AntarchyWoodTypes {
|
||||
public static final WoodType OURANWOOD = register("ouranwood");
|
||||
public static final WoodType PEACH = register("peach");
|
||||
public static final WoodType NADIR = register("nadir");
|
||||
public static final WoodType ROYAL = register("royal");
|
||||
public static final WoodType TRUFFALO = register("truffalo");
|
||||
|
||||
private AntarchyWoodTypes() {
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.craisinlord.antarchy.forge;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.compat.infinity.InfinityCompatBridge;
|
||||
import com.craisinlord.antarchy.compat.infinity.InfinityWarpResult;
|
||||
import net.lerariemann.infinity.InfinityMod;
|
||||
import net.lerariemann.infinity.util.InfinityMethods;
|
||||
import net.lerariemann.infinity.util.teleport.PortalCreator;
|
||||
@@ -10,6 +11,12 @@ import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.lerariemann.infinity.access.MinecraftServerAccess;
|
||||
import net.lerariemann.infinity.access.ServerPlayerEntityAccess;
|
||||
import net.minecraft.util.RandomSource;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -69,13 +76,71 @@ public final class ForgeInfinityCompat implements InfinityCompatBridge {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean requestWarp(ServerPlayer player, ResourceLocation dimensionId) {
|
||||
public InfinityWarpResult requestWarp(ServerPlayer player, ResourceLocation dimensionId) {
|
||||
try {
|
||||
WarpLogic.requestWarp(player, dimensionId, false);
|
||||
return true;
|
||||
requestWarpCountingQueuedAsNew(player, dimensionId);
|
||||
return InfinityWarpResult.PENDING;
|
||||
} catch (Throwable throwable) {
|
||||
Antarchy.LOGGER.error("[Antarchy] Failed to request an Infinity warp to {}", dimensionId, throwable);
|
||||
return false;
|
||||
return InfinityGenerationFailure.consume(dimensionId)
|
||||
? InfinityWarpResult.FAILED_GENERATION
|
||||
: InfinityWarpResult.REJECTED;
|
||||
}
|
||||
}
|
||||
|
||||
private static void requestWarpCountingQueuedAsNew(ServerPlayer player, ResourceLocation dimensionId) {
|
||||
if (player == null) {
|
||||
return;
|
||||
}
|
||||
MinecraftServer server = player.getServer();
|
||||
if (server == null) {
|
||||
return;
|
||||
}
|
||||
if (((MinecraftServerAccess) server).infinity$needsInvocation()) {
|
||||
PortalCreator.onInvocationNeedDetected(player);
|
||||
return;
|
||||
}
|
||||
if (queuedDimensionCountsAsNew(server, dimensionId)) {
|
||||
((ServerPlayerEntityAccess) player).infinity$setWarpTimer(2L, dimensionId);
|
||||
} else {
|
||||
WarpLogic.performWarp(player, dimensionId);
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean queuedDimensionCountsAsNew(MinecraftServer server, ResourceLocation dimensionId) {
|
||||
ResourceKey<Level> key = ResourceKey.create(Registries.DIMENSION, dimensionId);
|
||||
if (server instanceof MinecraftServerAccess access && access.infinity$hasToAdd(key)) {
|
||||
return true;
|
||||
}
|
||||
try {
|
||||
return PortalCreator.tryAddInfinityDimension(server, dimensionId);
|
||||
} catch (Throwable throwable) {
|
||||
InfinityGenerationFailure.mark(dimensionId);
|
||||
throw throwable;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public InfinityWarpResult requestDimensionCreation(MinecraftServer server, ResourceLocation dimensionId) {
|
||||
if (!isAvailable() || server == null || dimensionId == null || !"infinity".equals(dimensionId.getNamespace())) {
|
||||
return InfinityWarpResult.REJECTED;
|
||||
}
|
||||
ResourceKey<Level> key = ResourceKey.create(Registries.DIMENSION, dimensionId);
|
||||
if (server.getLevel(key) != null) {
|
||||
return InfinityWarpResult.READY;
|
||||
}
|
||||
if (!(server instanceof MinecraftServerAccess access)) {
|
||||
return InfinityWarpResult.REJECTED;
|
||||
}
|
||||
try {
|
||||
if (access.infinity$hasToAdd(key)) {
|
||||
return InfinityWarpResult.PENDING;
|
||||
}
|
||||
return PortalCreator.tryAddInfinityDimension(server, dimensionId)
|
||||
? InfinityWarpResult.PENDING : InfinityWarpResult.REJECTED;
|
||||
} catch (Throwable throwable) {
|
||||
Antarchy.LOGGER.error("[Antarchy] Failed to request creation of Infinity dimension {}", dimensionId, throwable);
|
||||
return InfinityWarpResult.FAILED_GENERATION;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.craisinlord.antarchy.forge;
|
||||
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
|
||||
public final class InfinityGenerationFailure {
|
||||
private static final ThreadLocal<ResourceLocation> FAILURE = new ThreadLocal<>();
|
||||
|
||||
private InfinityGenerationFailure() {
|
||||
}
|
||||
|
||||
public static void mark(ResourceLocation dimensionId) {
|
||||
FAILURE.set(dimensionId);
|
||||
}
|
||||
|
||||
public static boolean consume(ResourceLocation dimensionId) {
|
||||
ResourceLocation failed = FAILURE.get();
|
||||
FAILURE.remove();
|
||||
return dimensionId.equals(failed);
|
||||
}
|
||||
}
|
||||
+167
-66
@@ -1,16 +1,12 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.client.GlimmeringHudRenderer;
|
||||
import com.craisinlord.antarchy.content.client.GoopedHudRenderer;
|
||||
import com.craisinlord.antarchy.content.client.HordeHudRenderer;
|
||||
import com.craisinlord.antarchy.content.client.TigerEyeClientHooks;
|
||||
import com.craisinlord.antarchy.content.client.hud.BloodglassHudRenderer;
|
||||
import com.craisinlord.antarchy.content.client.particle.*;
|
||||
import com.craisinlord.antarchy.content.client.renderer.*;
|
||||
import com.craisinlord.antarchy.content.client.renderer.CreepingHorrorRenderer;
|
||||
import com.craisinlord.antarchy.content.client.renderer.LurkingTerrorRenderer;
|
||||
import com.craisinlord.antarchy.forge.AntarchyForgeFluidTypes;
|
||||
import com.craisinlord.antarchy.forge.registry.AntarchyForgeBlocks;
|
||||
import com.craisinlord.antarchy.forge.registry.AntarchyForgeEntites;
|
||||
@@ -27,6 +23,7 @@ import net.minecraft.client.model.HumanoidModel;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.AbstractClientPlayer;
|
||||
import net.minecraft.client.renderer.entity.ThrownItemRenderer;
|
||||
import com.craisinlord.antarchy.content.client.renderer.UnderVaultRenderer;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
@@ -38,7 +35,6 @@ import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
|
||||
import net.minecraft.client.renderer.ItemBlockRenderTypes;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.blockentity.CampfireRenderer;
|
||||
import net.minecraft.client.renderer.entity.ArmorStandRenderer;
|
||||
import net.minecraft.client.renderer.entity.LivingEntityRenderer;
|
||||
import net.minecraft.client.renderer.item.ItemProperties;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
@@ -52,18 +48,21 @@ import net.minecraft.world.level.FoliageColor;
|
||||
import net.minecraft.world.level.material.FluidState;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||
import net.minecraftforge.client.event.RegisterParticleProvidersEvent;
|
||||
import net.minecraftforge.client.event.RegisterColorHandlersEvent;
|
||||
import net.minecraftforge.client.event.EntityRenderersEvent;
|
||||
import net.minecraftforge.client.event.RegisterClientReloadListenersEvent;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||
import net.minecraftforge.client.event.RegisterGuiOverlaysEvent;
|
||||
import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay;
|
||||
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
|
||||
import net.minecraftforge.client.extensions.common.IClientFluidTypeExtensions;
|
||||
import net.minecraftforge.client.model.DynamicFluidContainerModel;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import org.joml.Vector3f;
|
||||
import software.bernie.geckolib.core.animatable.GeoAnimatable;
|
||||
import com.craisinlord.antarchy.content.client.AntarchyGeoItem;
|
||||
import com.craisinlord.antarchy.content.client.AntarchyGeoItemRenderer;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
|
||||
public final class AntarchyForgeClient {
|
||||
@@ -74,17 +73,36 @@ public final class AntarchyForgeClient {
|
||||
private static final ResourceLocation PEACH_CHEST_BOAT_TEXTURE = new ResourceLocation(Antarchy.MODID, "textures/entity/chest_boat/peach.png");
|
||||
private static final ResourceLocation NADIR_BOAT_TEXTURE = new ResourceLocation(Antarchy.MODID, "textures/entity/boat/nadir.png");
|
||||
private static final ResourceLocation NADIR_CHEST_BOAT_TEXTURE = new ResourceLocation(Antarchy.MODID, "textures/entity/chest_boat/nadir.png");
|
||||
private static final ResourceLocation WATER_STILL = ResourceLocation.withDefaultNamespace("block/water_still");
|
||||
private static final ResourceLocation WATER_FLOW = ResourceLocation.withDefaultNamespace("block/water_flow");
|
||||
private static final ResourceLocation WATER_OVERLAY = ResourceLocation.withDefaultNamespace("block/water_overlay");
|
||||
private static final ResourceLocation UNDERWATER_OVERLAY = ResourceLocation.withDefaultNamespace("textures/misc/underwater.png");
|
||||
private static final ResourceLocation ROYAL_BOAT_TEXTURE = new ResourceLocation(Antarchy.MODID, "textures/entity/boat/royal.png");
|
||||
private static final ResourceLocation ROYAL_CHEST_BOAT_TEXTURE = new ResourceLocation(Antarchy.MODID, "textures/entity/chest_boat/royal.png");
|
||||
private static final ResourceLocation TRUFFALO_BOAT_TEXTURE = new ResourceLocation(Antarchy.MODID, "textures/entity/boat/truffalo.png");
|
||||
private static final ResourceLocation TRUFFALO_CHEST_BOAT_TEXTURE = new ResourceLocation(Antarchy.MODID, "textures/entity/chest_boat/truffalo.png");
|
||||
private static final ResourceLocation WATER_STILL = new ResourceLocation("block/water_still");
|
||||
private static final ResourceLocation WATER_FLOW = new ResourceLocation("block/water_flow");
|
||||
private static final ResourceLocation WATER_OVERLAY = new ResourceLocation("block/water_overlay");
|
||||
private static final ResourceLocation UNDERWATER_OVERLAY = new ResourceLocation("textures/misc/underwater.png");
|
||||
private static final ResourceLocation ANTIWATER_STILL = new ResourceLocation(Antarchy.MODID, "block/antiwater_still");
|
||||
private static final ResourceLocation ANTIWATER_FLOW = new ResourceLocation(Antarchy.MODID, "block/antiwater_flow");
|
||||
private static final ResourceLocation BILE_STILL = new ResourceLocation(Antarchy.MODID, "block/bile/bile_still");
|
||||
private static final ResourceLocation BILE_FLOW = new ResourceLocation(Antarchy.MODID, "block/bile/bile_flowing");
|
||||
private static final ResourceLocation ICHOR_STILL = new ResourceLocation(Antarchy.MODID, "block/ichor/ichor_still");
|
||||
private static final ResourceLocation ICHOR_FLOW = new ResourceLocation(Antarchy.MODID, "block/ichor/ichor_flowing");
|
||||
private AntarchyForgeClient() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void clientSetup(FMLClientSetupEvent event) {
|
||||
Antarchy.physicalClient = true;
|
||||
com.craisinlord.antarchy.content.AntarchyAnthologyHooks.registerClient();
|
||||
event.enqueueWork(() -> {
|
||||
com.craisinlord.antarchy.content.client.AntarchyArchivePreviews.register();
|
||||
com.craisinlord.antarchy.content.client.game.AntarchyComputerGames.register();
|
||||
net.minecraft.client.gui.screens.MenuScreens.register(AntarchyForgeMisc.DORRIE_INVENTORY_MENU.get(), com.craisinlord.antarchy.content.client.screen.DorrieInventoryScreen::new);
|
||||
net.minecraft.client.gui.screens.MenuScreens.register(AntarchyForgeMisc.ROYAL_JUDGMENT_MENU.get(), com.craisinlord.antarchy.content.client.screen.RoyalJudgmentScreen::new);
|
||||
net.minecraft.client.gui.screens.MenuScreens.register(AntarchyForgeMisc.GIANT_FRYING_PAN_MENU.get(), com.craisinlord.antarchy.content.client.screen.GiantFryingPanScreen::new);
|
||||
});
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerRenderers(EntityRenderersEvent.RegisterRenderers event) {
|
||||
event.registerBlockEntityRenderer(AntarchyForgeBlocks.DREAM_CAMPFIRE_BLOCK_ENTITY.get(), CampfireRenderer::new);
|
||||
@@ -103,22 +121,28 @@ public final class AntarchyForgeClient {
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.BROWN_ANT.get(), context -> withParalyzedGeoLayer(new AntRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.RAINBOW_ANT.get(), context -> withParalyzedGeoLayer(new AntRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.MOLEWORM.get(), context -> withParalyzedGeoLayer(new MolewormRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.WORM.get(), context -> withParalyzedGeoLayer(new WormRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.MANTIS.get(), context -> withParalyzedGeoLayer(new MantisRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.ALPHA_MANTIS.get(), context -> withParalyzedGeoLayer(new AlphaMantisRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.HOVERBOARD.get(), com.craisinlord.antarchy.content.client.renderer.HoverboardRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.MOLEVORE.get(), context -> withParalyzedGeoLayer(new MolevoreRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.TRIFFID.get(), context -> withParalyzedGeoLayer(new TriffidRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.FLYTRAP.get(), context -> withParalyzedGeoLayer(new FlytrapRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.OURANWOOD_BOAT_ENTITY.get(), context -> new OuranwoodBoatRenderer<>(context, OURANWOOD_BOAT_TEXTURE, false));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.OURANWOOD_CHEST_BOAT_ENTITY.get(), context -> new OuranwoodBoatRenderer<>(context, OURANWOOD_CHEST_BOAT_TEXTURE, true));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.PEACH_BOAT_ENTITY.get(), context -> new PeachBoatRenderer<>(context, PEACH_BOAT_TEXTURE, false));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.PEACH_CHEST_BOAT_ENTITY.get(), context -> new PeachBoatRenderer<>(context, PEACH_CHEST_BOAT_TEXTURE, true));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.NADIR_BOAT_ENTITY.get(), context -> new PeachBoatRenderer<>(context, NADIR_BOAT_TEXTURE, false));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.NADIR_CHEST_BOAT_ENTITY.get(), context -> new PeachBoatRenderer<>(context, NADIR_CHEST_BOAT_TEXTURE, true));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.ROYAL_BOAT_ENTITY.get(), context -> new PeachBoatRenderer<>(context, ROYAL_BOAT_TEXTURE, false));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.ROYAL_CHEST_BOAT_ENTITY.get(), context -> new PeachBoatRenderer<>(context, ROYAL_CHEST_BOAT_TEXTURE, true));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.TRUFFALO_BOAT_ENTITY.get(), context -> new PeachBoatRenderer<>(context, TRUFFALO_BOAT_TEXTURE, false));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.TRUFFALO_CHEST_BOAT_ENTITY.get(), context -> new PeachBoatRenderer<>(context, TRUFFALO_CHEST_BOAT_TEXTURE, true));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.APPLE_COW.get(), context -> withParalyzedGeoLayer(new AppleCowRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.GOLDEN_APPLE_COW.get(), context -> withParalyzedGeoLayer(new AppleCowRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.ENCHANTED_GOLDEN_APPLE_COW.get(), context -> withParalyzedGeoLayer(new AppleCowRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.DIAMOND_MINECART.get(), DiamondMinecartRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.DR_TRAYAURUS.get(), context -> new DrTrayaurusRenderer(context, DR_TRAYAURUS_TEXTURE));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.CLOUD_SHARK.get(), context -> withParalyzedGeoLayer(new CloudSharkRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.STRATOSHARK.get(), context -> withParalyzedGeoLayer(new StratosharkRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.KRAKEN.get(), context -> withParalyzedGeoLayer(new KrakenRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.TENTACLE.get(), com.craisinlord.antarchy.content.client.renderer.TentacleRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.KRAKENS_GRASP_TRIDENT.get(), com.craisinlord.antarchy.content.client.renderer.KrakensGraspThrownTridentRenderer::new);
|
||||
@@ -126,11 +150,12 @@ public final class AntarchyForgeClient {
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.OCTOPUS_BOMB.get(), context -> withParalyzedGeoLayer(new OctopusBombRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.NIGHTMARE.get(), context -> withParalyzedGeoLayer(new NightmareRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.NIGHTMARE_PORTAL.get(), NightmarePortalRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.NIGHTMARE_BITE.get(), NightmareBiteRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.DIMENSIONAL_TEAR.get(), DimensionalTearRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.TIME_DILATION_FIELD.get(), TimeDilationFieldRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.ROYAL_ASSAILANT_BLACK_HOLE.get(), com.craisinlord.antarchy.content.client.renderer.RoyalAssailantBlackHoleRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.PORTAL_GUN_PORTAL.get(), PortalGunPortalRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.PORTAL_GUN_PROJECTILE.get(), com.craisinlord.antarchy.content.client.renderer.PortalGunProjectileRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.NIGHTMARE_BITE.get(), NightmareBiteRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.LUCID.get(), context -> withParalyzedGeoLayer(new LucidRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.VORTEX.get(), context -> withParalyzedGeoLayer(new VortexRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.BED_BUG.get(), context -> withParalyzedGeoLayer(new BedBugRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.WASP.get(), context -> withParalyzedGeoLayer(new WaspRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.BOMBER.get(), context -> withParalyzedGeoLayer(new BomberRenderer(context)));
|
||||
@@ -139,26 +164,39 @@ public final class AntarchyForgeClient {
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.GROWTH_RAY_PROJECTILE.get(), SizeRayProjectileRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.LUCID_BOLT.get(), LucidBoltRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.LUCID_PEARL_PROJECTILE.get(), ThrownItemRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.VORTEX_CHARGE_PROJECTILE.get(), ThrownItemRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.WIND_VORTEX.get(), WindVortexRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.ROYAL_BLACK_HOLE.get(), com.craisinlord.antarchy.content.client.renderer.RoyalBlackHoleRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.ROYAL_ASSAILANT_BLACK_HOLE.get(), com.craisinlord.antarchy.content.client.renderer.RoyalAssailantBlackHoleRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.CRITTER_CAGE_PROJECTILE.get(), ThrownItemRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.WORM_HOOK_PROJECTILE.get(), ThrownItemRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.HUSH_PROJECTILE.get(), HushProjectileRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.BRUTALFLY_ORB.get(), BrutalflyOrbRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.UPWARD_FALLING_BLOCK.get(), com.craisinlord.antarchy.content.client.renderer.UpwardFallingBlockRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.SCORPION.get(), context -> withParalyzedGeoLayer(new ScorpionRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.EMPEROR_SCORPION.get(), context -> withParalyzedGeoLayer(new EmperorScorpionRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.TORETERROR.get(), ToreterrorRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.TORETERROR.get(), context -> withParalyzedGeoLayer(new ToreterrorRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.WATER_BOMB.get(), WaterBombRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.CHEEP.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.CheepRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.DORRIE.get(), context -> new com.craisinlord.antarchy.content.client.renderer.DorrieRenderer(context));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.OURANWOOD_DEER.get(), context -> new com.craisinlord.antarchy.content.client.renderer.OuranwoodDeerRenderer(context));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.DORRIE.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.DorrieRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.OURANWOOD_DEER.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.OuranwoodDeerRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.GLIMMER.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.glimmer.GlimmerRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.ELKA.get(), context -> new com.craisinlord.antarchy.content.client.renderer.ElkaRenderer(context));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.ELKA.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.ElkaRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.ROLLY_POLLY.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.RollyPollyRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.TERMITE.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.TermiteRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.CREEPING_HORROR.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.CreepingHorrorRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.LURKING_TERROR.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.LurkingTerrorRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.CRAWLING_BLIGHT.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.CrawlingBlightRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.SKULKING_FRIGHT.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.SkulkingFrightRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.MANTICORE.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.ManticoreRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.HERCULES_BEETLE.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.HerculesBeetleRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.PRINCE.get(), com.craisinlord.antarchy.content.client.renderer.RoyalMountRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.PRINCESS.get(), com.craisinlord.antarchy.content.client.renderer.RoyalMountRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.KING.get(), com.craisinlord.antarchy.content.client.renderer.RoyalBossRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.QUEEN.get(), com.craisinlord.antarchy.content.client.renderer.RoyalBossRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.ROYAL_BOLT.get(), com.craisinlord.antarchy.content.client.renderer.RoyalBoltRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.ROYAL_ELEMENTAL_PROJECTILE.get(), com.craisinlord.antarchy.content.client.renderer.RoyalElementalProjectileRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.ROYAL_ICE_SPIKE.get(), com.craisinlord.antarchy.content.client.renderer.RoyalIceSpikeRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.JERRY.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.JerryRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.JUMPY_BUG.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.JumpyBugRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.SPRINGBUG.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.SpringbugRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.SPIT_BUG.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.SpitBugRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.SPIT_BUG_PROJECTILE.get(), com.craisinlord.antarchy.content.client.renderer.SpitBugProjectileRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyForgeEntites.STINK_BUG.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.StinkBugRenderer(context)));
|
||||
@@ -172,13 +210,13 @@ public final class AntarchyForgeClient {
|
||||
(LivingEntityRenderer<AbstractClientPlayer, PlayerModel<AbstractClientPlayer>>) event.getSkin(skin);
|
||||
if (renderer != null) {
|
||||
renderer.addLayer(new ParalyzedStonePlayerLayer(renderer));
|
||||
renderer.addLayer(new com.craisinlord.antarchy.content.client.renderer.TigerEyeCamouflagePlayerLayer(renderer));
|
||||
renderer.addLayer(new TigerEyeCamouflagePlayerLayer(renderer));
|
||||
renderer.addLayer(new GoopedLivingLayer(renderer));
|
||||
renderer.addLayer(new GlimmeringLivingLayer(renderer));
|
||||
renderer.addLayer(new com.craisinlord.antarchy.content.client.renderer.RoyalIndicatorLivingLayer<>(renderer));
|
||||
renderer.addLayer(new BrutalflyElytraLayer(renderer));
|
||||
renderer.addLayer(new com.craisinlord.antarchy.content.client.renderer.ManticoreWingsLayer(renderer));
|
||||
renderer.addLayer(new FallenKingCrownLayer(renderer));
|
||||
renderer.addLayer(new com.craisinlord.antarchy.content.client.renderer.TemporalContractionAfterimageLayer(renderer));
|
||||
renderer.addLayer(new com.craisinlord.antarchy.content.client.renderer.RoyalAssailantAxeAfterimageLayer(renderer));
|
||||
}
|
||||
}
|
||||
LivingEntityRenderer<net.minecraft.world.entity.decoration.ArmorStand, ArmorStandModel> armorStandRenderer =
|
||||
@@ -202,27 +240,32 @@ public final class AntarchyForgeClient {
|
||||
if (entityType == EntityType.PLAYER) {
|
||||
return;
|
||||
}
|
||||
Object renderer = event.getRenderer((EntityType) entityType);
|
||||
Object renderer;
|
||||
try {
|
||||
renderer = event.getRenderer((EntityType) entityType);
|
||||
} catch (ClassCastException notLiving) {
|
||||
return;
|
||||
}
|
||||
if (renderer == null) {
|
||||
return;
|
||||
}
|
||||
if (renderer instanceof GeoEntityRenderer) {
|
||||
if (!(renderer instanceof LivingEntityRenderer<?, ?> livingRenderer)) {
|
||||
return;
|
||||
}
|
||||
if (!(renderer instanceof LivingEntityRenderer)) {
|
||||
if (renderer instanceof GeoEntityRenderer<?>) {
|
||||
return;
|
||||
}
|
||||
LivingEntityRenderer livingRenderer = (LivingEntityRenderer) renderer;
|
||||
livingRenderer.addLayer(new ParalyzedStoneLivingLayer<>(livingRenderer));
|
||||
livingRenderer.addLayer(new GoopedLivingLayer<>(livingRenderer));
|
||||
livingRenderer.addLayer(new GlimmeringLivingLayer<>(livingRenderer));
|
||||
livingRenderer.addLayer(new com.craisinlord.antarchy.content.client.renderer.TemporalContractionAfterimageLayer(livingRenderer));
|
||||
((LivingEntityRenderer) livingRenderer).addLayer(new ParalyzedStoneLivingLayer<>(livingRenderer));
|
||||
((LivingEntityRenderer) livingRenderer).addLayer(new GoopedLivingLayer<>(livingRenderer));
|
||||
((LivingEntityRenderer) livingRenderer).addLayer(new GlimmeringLivingLayer<>(livingRenderer));
|
||||
((LivingEntityRenderer) livingRenderer).addLayer(new com.craisinlord.antarchy.content.client.renderer.RoyalIndicatorLivingLayer<>(livingRenderer));
|
||||
}
|
||||
|
||||
private static <T extends LivingEntity & GeoAnimatable> GeoEntityRenderer<T> withParalyzedGeoLayer(GeoEntityRenderer<T> renderer) {
|
||||
renderer.addRenderLayer(new ParalyzedStoneGeoLayer<>(renderer));
|
||||
renderer.addRenderLayer(new GoopedGeoLayer<>(renderer));
|
||||
renderer.addRenderLayer(new com.craisinlord.antarchy.content.client.renderer.TemporalContractionGeoLayer<>(renderer));
|
||||
renderer.addRenderLayer(new com.craisinlord.antarchy.content.client.renderer.RoyalIndicatorGeoLayer<>(renderer));
|
||||
renderer.addRenderLayer(new TemporalContractionGeoLayer<>(renderer));
|
||||
return renderer;
|
||||
}
|
||||
|
||||
@@ -296,6 +339,7 @@ public final class AntarchyForgeClient {
|
||||
event.registerSpriteSet(AntarchyForgeMisc.STINKY_GAS.get(), HypnoticGasParticle.Provider::new);
|
||||
event.registerSpriteSet(AntarchyForgeMisc.STINKY_FLY.get(), FireflyParticle.Provider::new);
|
||||
event.registerSpriteSet(AntarchyForgeMisc.PEACH_LEAVES_PARTICLE.get(), PeachLeavesParticle.Provider::new);
|
||||
event.registerSpriteSet(AntarchyForgeMisc.BUG_SPRAY_PARTICLE.get(), com.craisinlord.antarchy.content.client.particle.BugSprayParticle.Provider::new);
|
||||
event.registerSpriteSet(AntarchyForgeMisc.LOTUS_POLLEN.get(), com.craisinlord.antarchy.content.client.particle.LotusPollenParticle.Provider::new);
|
||||
event.registerSpriteSet(AntarchyForgeMisc.HYPNOTIC_GAS.get(), HypnoticGasParticle.Provider::new);
|
||||
event.registerSpriteSet(AntarchyForgeMisc.HYPNOTIC_GAS_DOWN.get(), sprites -> new HypnoticGasParticle.Provider(sprites, true));
|
||||
@@ -314,24 +358,36 @@ public final class AntarchyForgeClient {
|
||||
event.registerSpriteSet(AntarchyForgeMisc.UNDERVAULT_CONNECTION.get(), UndertrialParticle.OmenProvider::new);
|
||||
}
|
||||
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerGuiLayers(RegisterGuiOverlaysEvent event) {
|
||||
event.registerAboveAll("dread_darkness",
|
||||
event.registerAbove(
|
||||
VanillaGuiOverlay.CROSSHAIR.id(),
|
||||
"portal_gun_crosshair",
|
||||
(gui, guiGraphics, partialTick, width, height) -> com.craisinlord.antarchy.content.client.PortalGunCrosshairRenderer.render(guiGraphics)
|
||||
);
|
||||
event.registerAboveAll(
|
||||
"dread_darkness",
|
||||
(gui, guiGraphics, partialTick, width, height) -> DreadHudRenderer.render(guiGraphics)
|
||||
);
|
||||
event.registerAboveAll("horde_intensity",
|
||||
event.registerAboveAll(
|
||||
"horde_intensity",
|
||||
(gui, guiGraphics, partialTick, width, height) -> HordeHudRenderer.render(guiGraphics)
|
||||
);
|
||||
event.registerAboveAll("paralyzed_stone",
|
||||
event.registerAboveAll(
|
||||
"paralyzed_stone",
|
||||
(gui, guiGraphics, partialTick, width, height) -> ParalyzedHudRenderer.render(guiGraphics)
|
||||
);
|
||||
event.registerAboveAll("gooped_tint",
|
||||
event.registerAboveAll(
|
||||
"gooped_tint",
|
||||
(gui, guiGraphics, partialTick, width, height) -> GoopedHudRenderer.render(guiGraphics)
|
||||
);
|
||||
event.registerAboveAll("glimmering_tint",
|
||||
(gui, guiGraphics, partialTick, width, height) -> GlimmeringHudRenderer.render(guiGraphics)
|
||||
event.registerAboveAll(
|
||||
"glimmering_tint",
|
||||
(gui, guiGraphics, partialTick, width, height) -> com.craisinlord.antarchy.content.client.GlimmeringHudRenderer.render(guiGraphics)
|
||||
);
|
||||
event.registerAboveAll("brutalfly_elytra",
|
||||
event.registerAboveAll(
|
||||
"brutalfly_elytra",
|
||||
(gui, guiGraphics, partialTick, width, height) -> BrutalflyElytraHudRenderer.render(guiGraphics)
|
||||
);
|
||||
event.registerBelow(
|
||||
@@ -339,27 +395,35 @@ public final class AntarchyForgeClient {
|
||||
"bloodglass_hearts",
|
||||
(gui, guiGraphics, partialTick, width, height) -> BloodglassHudRenderer.render(guiGraphics)
|
||||
);
|
||||
event.registerAboveAll("triffid_goo",
|
||||
(gui, guiGraphics, partialTick, width, height) -> TriffidGooHudRenderer.render(guiGraphics)
|
||||
event.registerAboveAll(
|
||||
"flytrap_goo",
|
||||
(gui, guiGraphics, partialTick, width, height) -> FlytrapGooHudRenderer.render(guiGraphics)
|
||||
);
|
||||
event.registerAboveAll("springy_boots",
|
||||
(gui, guiGraphics, partialTick, width, height) -> JumpyBootsHudRenderer.render(guiGraphics)
|
||||
event.registerAboveAll(
|
||||
"springy_boots",
|
||||
(gui, guiGraphics, partialTick, width, height) -> SpringyBootsHudRenderer.render(guiGraphics)
|
||||
);
|
||||
event.registerAboveAll("dorrie_jump",
|
||||
event.registerAboveAll(
|
||||
"dorrie_jump",
|
||||
(gui, guiGraphics, partialTick, width, height) -> DorrieJumpHudRenderer.render(guiGraphics)
|
||||
);
|
||||
event.registerAboveAll("hercules_beetle_charge",
|
||||
event.registerAboveAll(
|
||||
"hercules_beetle_charge",
|
||||
(gui, guiGraphics, partialTick, width, height) -> HerculesBeetleChargeHudRenderer.render(guiGraphics)
|
||||
);
|
||||
event.registerAboveAll(
|
||||
"king_judgment_flash",
|
||||
(gui, guiGraphics, partialTick, width, height) -> com.craisinlord.antarchy.content.client.KingJudgmentFlashHudRenderer.render(guiGraphics)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onClientSetup(FMLClientSetupEvent event) {
|
||||
event.enqueueWork(() -> {
|
||||
net.minecraft.client.gui.screens.MenuScreens.register(AntarchyForgeMisc.DORRIE_INVENTORY_MENU.get(), com.craisinlord.antarchy.content.client.screen.DorrieInventoryScreen::new);
|
||||
com.craisinlord.antarchy.content.client.TigerEyeClientHooks.setCamouflageKeyTextSupplier(
|
||||
() -> AntarchyKeyBindings.TIGERS_EYE_CAMOUFLAGE.getTranslatedKeyMessage());
|
||||
|
||||
TigerEyeClientHooks.setCamouflageKeyTextSupplier(() -> AntarchyKeyBindings.TIGERS_EYE_CAMOUFLAGE.getTranslatedKeyMessage());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.UNDERTRIAL_SPAWNER.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.UNDERVAULT.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ANTIMETAL_RAIL.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ANTIMETAL_POWERED_RAIL.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ANTIMETAL_DETECTOR_RAIL.get(), RenderType.cutout());
|
||||
@@ -380,10 +444,22 @@ public final class AntarchyForgeClient {
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.NADIR_TRAPDOOR.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.NADIR_SAPLING.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.POTTED_NADIR_SAPLING.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ROYAL_LEAVES.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ROYAL_FLOWERING_LEAVES.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ROYAL_DOOR.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ROYAL_TRAPDOOR.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ROYAL_SAPLING.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.POTTED_ROYAL_SAPLING.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.TRUFFALO_DOOR.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.TRUFFALO_TRAPDOOR.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.TRUFFALO_SAPLING.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.POTTED_TRUFFALO_SAPLING.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.DUPLICATOR_SAPLING.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ORANGE_MILKWEED.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.PINK_MILKWEED.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.GLIMMERING_REED.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.AMBER_LICHEN.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.MUCUS.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.CREEPVINE.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.CAMELLIA.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.SPIDER_LILY.get(), RenderType.cutout());
|
||||
@@ -400,6 +476,15 @@ public final class AntarchyForgeClient {
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.UMBRAL_MOSS_CARPET.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.NYXITE_SPIKE.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.CHITIN_SPIKE.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.TYPHONITE_SPIKE.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.SPIRALING_VINES.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.GOREVINE.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.WHIRLFLOWER.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.NADIR_FERN.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.LARGE_NADIR_FERN.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.DUSKBELL.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.NADIR_ROOTS.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.VERDANT_ROOTS.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.STAR_CORAL.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.STAR_CORAL_FAN.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.STAR_CORAL_WALL_FAN.get(), RenderType.cutout());
|
||||
@@ -422,18 +507,16 @@ public final class AntarchyForgeClient {
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.DREAM_FIRE.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.DREAM_CEILING_FIRE.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ANTIWATER_BLOCK.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.LUMEN_BLOCK.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeMisc.ANTIWATER.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeMisc.FLOWING_ANTIWATER.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeMisc.ICHOR.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeMisc.FLOWING_ICHOR.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.LUMEN_BLOCK.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeMisc.LUMEN.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeMisc.FLOWING_LUMEN.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeMisc.BILE.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeMisc.FLOWING_BILE.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.LUCID_ANCHOR.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ELYTHIA_PORTAL.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.THORAXIS_PORTAL.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.TRIFFID_GOO_BLOCK.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.FLYTRAP_GOO_BLOCK.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.VORTEX_LENS.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.URANIUM_DOOR.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.TITANIUM_DOOR.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.URANIUM_TRAPDOOR.get(), RenderType.cutout());
|
||||
@@ -441,7 +524,7 @@ public final class AntarchyForgeClient {
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.URANIUM_BARS.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.TITANIUM_BARS.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.CLOUD_BLOCK.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.JUMPY_BUG_EGG.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.SPRINGBUG_EGG.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.SPIT_BUG_EGG.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.JERRY_EGG.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.BIOWART_TENDRILS.get(), RenderType.cutout());
|
||||
@@ -454,10 +537,25 @@ public final class AntarchyForgeClient {
|
||||
});
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerClientReloadListeners(RegisterClientReloadListenersEvent event) {
|
||||
event.registerReloadListener(new net.minecraft.server.packs.resources.SimplePreparableReloadListener<Void>() {
|
||||
@Override
|
||||
protected Void prepare(net.minecraft.server.packs.resources.ResourceManager resourceManager, net.minecraft.util.profiling.ProfilerFiller profiler) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void apply(Void object, net.minecraft.server.packs.resources.ResourceManager resourceManager, net.minecraft.util.profiling.ProfilerFiller profiler) {
|
||||
TigerEyeCamouflageClientHandler.clearClientCaches();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static void registerUltimateBowProperties() {
|
||||
ItemProperties.register(
|
||||
AntarchyForgeItems.ULTIMATE_BOW.get(),
|
||||
ResourceLocation.withDefaultNamespace("pull"),
|
||||
new ResourceLocation("pull"),
|
||||
(stack, level, entity, seed) -> {
|
||||
if (entity == null || entity.getUseItem() != stack) {
|
||||
return 0.0F;
|
||||
@@ -468,7 +566,7 @@ public final class AntarchyForgeClient {
|
||||
);
|
||||
ItemProperties.register(
|
||||
AntarchyForgeItems.ULTIMATE_BOW.get(),
|
||||
ResourceLocation.withDefaultNamespace("pulling"),
|
||||
new ResourceLocation("pulling"),
|
||||
(stack, level, entity, seed) ->
|
||||
entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F
|
||||
);
|
||||
@@ -477,7 +575,7 @@ public final class AntarchyForgeClient {
|
||||
private static void registerUltimateCrossbowProperties() {
|
||||
ItemProperties.register(
|
||||
AntarchyForgeItems.ULTIMATE_CROSSBOW.get(),
|
||||
ResourceLocation.withDefaultNamespace("pull"),
|
||||
new ResourceLocation("pull"),
|
||||
(stack, level, entity, seed) -> {
|
||||
if (entity == null || CrossbowItem.isCharged(stack) || entity.getUseItem() != stack) {
|
||||
return 0.0F;
|
||||
@@ -489,18 +587,18 @@ public final class AntarchyForgeClient {
|
||||
);
|
||||
ItemProperties.register(
|
||||
AntarchyForgeItems.ULTIMATE_CROSSBOW.get(),
|
||||
ResourceLocation.withDefaultNamespace("pulling"),
|
||||
new ResourceLocation("pulling"),
|
||||
(stack, level, entity, seed) ->
|
||||
entity != null && entity.isUsingItem() && entity.getUseItem() == stack && !CrossbowItem.isCharged(stack) ? 1.0F : 0.0F
|
||||
);
|
||||
ItemProperties.register(
|
||||
AntarchyForgeItems.ULTIMATE_CROSSBOW.get(),
|
||||
ResourceLocation.withDefaultNamespace("charged"),
|
||||
new ResourceLocation("charged"),
|
||||
(stack, level, entity, seed) -> CrossbowItem.isCharged(stack) ? 1.0F : 0.0F
|
||||
);
|
||||
ItemProperties.register(
|
||||
AntarchyForgeItems.ULTIMATE_CROSSBOW.get(),
|
||||
ResourceLocation.withDefaultNamespace("firework"),
|
||||
new ResourceLocation("firework"),
|
||||
(stack, level, entity, seed) -> CrossbowItem.isCharged(stack) && CrossbowItem.containsChargedProjectile(stack, Items.FIREWORK_ROCKET) ? 1.0F : 0.0F
|
||||
);
|
||||
ItemProperties.register(
|
||||
@@ -515,6 +613,9 @@ public final class AntarchyForgeClient {
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private static int bluestoneWireColor(int power) {
|
||||
float normalized = power / 15.0F;
|
||||
int red = (int) (6.0F + normalized * 54.0F);
|
||||
|
||||
+66
-19
@@ -1,12 +1,11 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.mojang.blaze3d.platform.InputConstants;
|
||||
import net.minecraft.client.KeyMapping;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.client.event.RegisterKeyMappingsEvent;
|
||||
import net.minecraftforge.client.settings.KeyConflictContext;
|
||||
|
||||
@@ -22,24 +21,16 @@ public final class AntarchyKeyBindings {
|
||||
CATEGORY
|
||||
);
|
||||
|
||||
public static final KeyMapping DORRIE_CHARGE_JUMP = new KeyMapping(
|
||||
"key.antarchy.dorrie_charge_jump",
|
||||
public static final KeyMapping MOUNT_SPECIAL = new KeyMapping(
|
||||
"key.antarchy.mount_special",
|
||||
KeyConflictContext.IN_GAME,
|
||||
InputConstants.Type.KEYSYM,
|
||||
InputConstants.KEY_LCONTROL,
|
||||
CATEGORY
|
||||
);
|
||||
|
||||
public static final KeyMapping HERCULES_BEETLE_CHARGE = new KeyMapping(
|
||||
"key.antarchy.hercules_beetle_charge",
|
||||
KeyConflictContext.IN_GAME,
|
||||
InputConstants.Type.KEYSYM,
|
||||
InputConstants.KEY_LCONTROL,
|
||||
CATEGORY
|
||||
);
|
||||
|
||||
public static final KeyMapping HERCULES_BEETLE_FLIGHT_TOGGLE = new KeyMapping(
|
||||
"key.antarchy.hercules_beetle_flight_toggle",
|
||||
public static final KeyMapping MOUNT_FLIGHT_TOGGLE = new KeyMapping(
|
||||
"key.antarchy.mount_flight_toggle",
|
||||
KeyConflictContext.IN_GAME,
|
||||
InputConstants.Type.KEYSYM,
|
||||
InputConstants.KEY_R,
|
||||
@@ -53,22 +44,78 @@ public final class AntarchyKeyBindings {
|
||||
CATEGORY
|
||||
);
|
||||
|
||||
public static final KeyMapping ROYAL_INVERSION_TOGGLE = new KeyMapping(
|
||||
"key.antarchy.royal_inversion_toggle",
|
||||
KeyConflictContext.IN_GAME,
|
||||
InputConstants.Type.KEYSYM,
|
||||
InputConstants.KEY_V,
|
||||
CATEGORY
|
||||
);
|
||||
public static final KeyMapping ROYAL_BOUNDARY = new KeyMapping(
|
||||
"key.antarchy.royal_boundary",
|
||||
KeyConflictContext.IN_GAME,
|
||||
InputConstants.Type.KEYSYM,
|
||||
InputConstants.KEY_B,
|
||||
CATEGORY
|
||||
);
|
||||
public static final KeyMapping PORTAL_GUN_ZOOM = new KeyMapping(
|
||||
"key.antarchy.portal_gun_zoom",
|
||||
KeyConflictContext.IN_GAME,
|
||||
InputConstants.Type.MOUSE,
|
||||
InputConstants.MOUSE_BUTTON_MIDDLE,
|
||||
CATEGORY
|
||||
);
|
||||
public static final KeyMapping PORTAL_GUN_RESET = new KeyMapping(
|
||||
"key.antarchy.portal_gun_reset",
|
||||
KeyConflictContext.IN_GAME,
|
||||
InputConstants.Type.KEYSYM,
|
||||
InputConstants.KEY_R,
|
||||
CATEGORY
|
||||
);
|
||||
|
||||
private AntarchyKeyBindings() {}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onRegisterKeyMappings(RegisterKeyMappingsEvent event) {
|
||||
event.register(BRUTALFLY_FLAP);
|
||||
event.register(DORRIE_CHARGE_JUMP);
|
||||
event.register(HERCULES_BEETLE_CHARGE);
|
||||
event.register(HERCULES_BEETLE_FLIGHT_TOGGLE);
|
||||
event.register(MOUNT_SPECIAL);
|
||||
event.register(MOUNT_FLIGHT_TOGGLE);
|
||||
event.register(TIGERS_EYE_CAMOUFLAGE);
|
||||
event.register(ROYAL_INVERSION_TOGGLE);
|
||||
event.register(ROYAL_BOUNDARY);
|
||||
event.register(PORTAL_GUN_ZOOM);
|
||||
event.register(PORTAL_GUN_RESET);
|
||||
}
|
||||
|
||||
public static boolean isHerculesBeetleFlightTogglePressed() {
|
||||
return HERCULES_BEETLE_FLIGHT_TOGGLE.isDown();
|
||||
public static boolean isMountFlightTogglePressed() {
|
||||
return MOUNT_FLIGHT_TOGGLE.isDown();
|
||||
}
|
||||
|
||||
public static boolean isMountSpecialPressed() {
|
||||
return MOUNT_SPECIAL.isDown();
|
||||
}
|
||||
|
||||
public static boolean consumeTigerEyeCamouflagePressed() {
|
||||
return TIGERS_EYE_CAMOUFLAGE.consumeClick();
|
||||
}
|
||||
|
||||
public static boolean consumeRoyalInversionTogglePressed() {
|
||||
return ROYAL_INVERSION_TOGGLE.consumeClick();
|
||||
}
|
||||
|
||||
public static boolean consumeRoyalBoundaryPressed() {
|
||||
return ROYAL_BOUNDARY.consumeClick();
|
||||
}
|
||||
|
||||
public static boolean consumePortalGunZoomPressed() {
|
||||
return PORTAL_GUN_ZOOM.consumeClick();
|
||||
}
|
||||
|
||||
public static boolean consumePortalGunResetPressed() {
|
||||
return PORTAL_GUN_RESET.consumeClick();
|
||||
}
|
||||
|
||||
public static boolean isPortalGunResetDown() {
|
||||
return PORTAL_GUN_RESET.isDown() || PORTAL_GUN_RESET.consumeClick();
|
||||
}
|
||||
}
|
||||
+9
-5
@@ -1,13 +1,14 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.item.BigBerthaItem;
|
||||
import com.craisinlord.antarchy.content.item.RoyalGuardianSwordItem;
|
||||
import com.craisinlord.antarchy.content.network.BigBerthaModeCyclePayload;
|
||||
import com.craisinlord.antarchy.content.network.RoyalGuardianSwordModeCyclePayload;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
|
||||
@@ -27,7 +28,9 @@ public final class BigBerthaClientHandler {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(mc.player.getMainHandItem().getItem() instanceof BigBerthaItem)) {
|
||||
boolean bigBertha = mc.player.getMainHandItem().getItem() instanceof BigBerthaItem;
|
||||
boolean royalGuardianSword = mc.player.getMainHandItem().getItem() instanceof RoyalGuardianSwordItem;
|
||||
if (!bigBertha && !royalGuardianSword) {
|
||||
lastUseDown = false;
|
||||
return;
|
||||
}
|
||||
@@ -36,8 +39,9 @@ public final class BigBerthaClientHandler {
|
||||
if (useDown
|
||||
&& !lastUseDown
|
||||
&& mc.player.isShiftKeyDown()
|
||||
&& mc.player.getCooldowns().isOnCooldown(mc.player.getMainHandItem().getItem())) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new BigBerthaModeCyclePayload());
|
||||
) {
|
||||
if (bigBertha) AntarchyForgeNetworkCore.sendToServer(new BigBerthaModeCyclePayload());
|
||||
else AntarchyForgeNetworkCore.sendToServer(new RoyalGuardianSwordModeCyclePayload());
|
||||
}
|
||||
lastUseDown = useDown;
|
||||
}
|
||||
|
||||
+1
-5
@@ -1,17 +1,14 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.client.BrutalflyElytraClientState;
|
||||
import com.craisinlord.antarchy.content.item.BrutalflyElytraFlightHelper;
|
||||
import com.craisinlord.antarchy.content.item.BrutalflyElytraItem;
|
||||
import com.craisinlord.antarchy.content.network.BrutalflyElytraFlapPayload;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import net.minecraftforge.client.event.RenderGuiOverlayEvent;
|
||||
import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay;
|
||||
@@ -19,7 +16,6 @@ import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class BrutalflyElytraClientHandler {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger("Antarchy/BrutalflyElytra");
|
||||
private static boolean lastJumpDown;
|
||||
private static int chargeTicks;
|
||||
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
||||
public final class BrutalflyElytraHudRenderer {
|
||||
private static final ResourceLocation GUI_ICONS_LOCATION = ResourceLocation.withDefaultNamespace("textures/gui/icons.png");
|
||||
private static final ResourceLocation GUI_ICONS_LOCATION = new ResourceLocation("textures/gui/icons.png");
|
||||
private static final int BAR_WIDTH = 182;
|
||||
private static final int BAR_HEIGHT = 5;
|
||||
|
||||
|
||||
-49
@@ -1,49 +0,0 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.client.CameraShakeClientState;
|
||||
import com.craisinlord.antarchy.content.client.HerculesBeetleImpactShakeClientState;
|
||||
import com.craisinlord.antarchy.content.item.BigBerthaItem;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.client.event.ViewportEvent;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class CameraShakeHandler {
|
||||
private static final int TORETERROR_SHAKE_TICKS = 25;
|
||||
|
||||
private CameraShakeHandler() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onComputeCameraAngles(ViewportEvent.ComputeCameraAngles event) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.level == null || mc.player == null) {
|
||||
CameraShakeClientState.clear();
|
||||
return;
|
||||
}
|
||||
|
||||
float shakeStrength = CameraShakeClientState.getStrength(event.getCamera().getPosition());
|
||||
|
||||
int beetleShakeTicks = HerculesBeetleImpactShakeClientState.getTicks();
|
||||
if (beetleShakeTicks > 0) {
|
||||
shakeStrength += (float) beetleShakeTicks / TORETERROR_SHAKE_TICKS * 2.0F;
|
||||
}
|
||||
|
||||
int bigBerthaShakeTicks = BigBerthaItem.clientShakeTicks;
|
||||
if (bigBerthaShakeTicks > 0) {
|
||||
shakeStrength += (float) bigBerthaShakeTicks / TORETERROR_SHAKE_TICKS * 2.0F;
|
||||
}
|
||||
|
||||
if (shakeStrength <= 0.0F) return;
|
||||
|
||||
float time = (float) (mc.player.tickCount + event.getPartialTick());
|
||||
event.setYaw(event.getYaw() + Mth.sin(time * 1.5F) * shakeStrength * 2.5F);
|
||||
event.setPitch(event.getPitch() + Mth.cos(time * 1.8F) * shakeStrength * 2.0F);
|
||||
event.setRoll(event.getRoll() + Mth.sin(time * 2.2F) * shakeStrength * 1.5F);
|
||||
}
|
||||
}
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.client.ClientTimeDilationTicker;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.FORGE)
|
||||
public final class ClientTimeDilationHandler {
|
||||
private ClientTimeDilationHandler() {}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase == TickEvent.Phase.END) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.level != null) {
|
||||
ClientTimeDilationTicker.tick(mc.level);
|
||||
com.craisinlord.antarchy.content.client.ContractionAfterimages.tick(mc.level);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-2
@@ -1,7 +1,5 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.config.AntarchySettings;
|
||||
import com.craisinlord.antarchy.content.entity.DiamondMinecartEntity;
|
||||
@@ -9,6 +7,7 @@ import com.craisinlord.antarchy.content.network.DiamondMinecartInputPayload;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
|
||||
|
||||
+2
-3
@@ -1,7 +1,5 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.entity.DorrieEntity;
|
||||
import com.craisinlord.antarchy.content.network.DorrieChargeJumpPayload;
|
||||
@@ -10,6 +8,7 @@ import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
|
||||
@@ -42,7 +41,7 @@ public final class DorrieJumpClientHandler {
|
||||
wasPressingJump = pressingJump;
|
||||
}
|
||||
|
||||
boolean pressingCharge = AntarchyKeyBindings.DORRIE_CHARGE_JUMP.isDown();
|
||||
boolean pressingCharge = AntarchyKeyBindings.MOUNT_SPECIAL.isDown();
|
||||
if (pressingCharge != wasPressingCharge) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new DorrieChargeJumpPayload(pressingCharge));
|
||||
if (!pressingCharge && player.getVehicle() instanceof DorrieEntity dorrie) {
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
||||
public final class DorrieJumpHudRenderer {
|
||||
private static final ResourceLocation GUI_ICONS_LOCATION = ResourceLocation.withDefaultNamespace("textures/gui/icons.png");
|
||||
private static final ResourceLocation GUI_ICONS_LOCATION = new ResourceLocation("textures/gui/icons.png");
|
||||
private static final int BAR_WIDTH = 182;
|
||||
private static final int BAR_HEIGHT = 5;
|
||||
|
||||
|
||||
+1
-2
@@ -1,7 +1,5 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.config.AntarchySettings;
|
||||
import com.craisinlord.antarchy.content.AntarchyTags;
|
||||
@@ -21,6 +19,7 @@ import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.block.DuctTapeBlock;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.client.event.MovementInputUpdateEvent;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class DuctTapeClientHandler {
|
||||
private DuctTapeClientHandler() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onMovementInputUpdate(MovementInputUpdateEvent event) {
|
||||
if (!(event.getEntity() instanceof LocalPlayer player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.level == null || (!player.isNoGravity() && !DuctTapeBlock.isTouchingTape(mc.level, player))) {
|
||||
return;
|
||||
}
|
||||
|
||||
var input = event.getInput();
|
||||
input.left = false;
|
||||
input.right = false;
|
||||
input.up = false;
|
||||
input.down = false;
|
||||
input.leftImpulse = 0.0F;
|
||||
input.forwardImpulse = 0.0F;
|
||||
input.jumping = false;
|
||||
input.shiftKeyDown = false;
|
||||
}
|
||||
}
|
||||
+1
-2
@@ -1,7 +1,5 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.config.AntarchySettings;
|
||||
import com.craisinlord.antarchy.content.AntarchyTags;
|
||||
@@ -15,6 +13,7 @@ import net.minecraft.sounds.SoundSource;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.config.AntarchySettings;
|
||||
import com.craisinlord.antarchy.content.item.EyeOfTheStormItem;
|
||||
import com.craisinlord.antarchy.content.network.EyeOfStormPrimaryPayload;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class EyeOfStormClientHandler {
|
||||
private static boolean lastAttackDown;
|
||||
|
||||
private EyeOfStormClientHandler() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.player == null || mc.level == null || mc.screen != null || !AntarchySettings.eyeOfTheStormEnabled()) {
|
||||
lastAttackDown = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(mc.player.getMainHandItem().getItem() instanceof EyeOfTheStormItem)) {
|
||||
lastAttackDown = false;
|
||||
return;
|
||||
}
|
||||
|
||||
boolean attackDown = mc.options.keyAttack.isDown();
|
||||
if (attackDown && !lastAttackDown) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new EyeOfStormPrimaryPayload());
|
||||
}
|
||||
lastAttackDown = attackDown;
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -8,8 +8,8 @@ import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
|
||||
public final class TriffidGooHudRenderer {
|
||||
private TriffidGooHudRenderer() {
|
||||
public final class FlytrapGooHudRenderer {
|
||||
private FlytrapGooHudRenderer() {
|
||||
}
|
||||
private static float fadeProgress = 0f;
|
||||
private static final float FADE_SPEED = 0.05f;
|
||||
@@ -22,7 +22,7 @@ public final class TriffidGooHudRenderer {
|
||||
fadeProgress = Math.max(0f, fadeProgress - FADE_SPEED);
|
||||
if (fadeProgress <= 0f) return;
|
||||
} else {
|
||||
Block goo = AntarchyForgeBlocks.TRIFFID_GOO_BLOCK.get();
|
||||
Block goo = AntarchyForgeBlocks.FLYTRAP_GOO_BLOCK.get();
|
||||
BlockPos feet = player.blockPosition();
|
||||
boolean inGoo = player.level().getBlockState(feet).is(goo)
|
||||
|| player.level().getBlockState(feet.above()).is(goo);
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.item.GiantFryingPanItem;
|
||||
import com.craisinlord.antarchy.content.network.OpenGiantFryingPanPayload;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class GiantFryingPanClientHandler {
|
||||
private static boolean wasUse;
|
||||
|
||||
private GiantFryingPanClientHandler() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
LocalPlayer player = mc.player;
|
||||
if (player == null || mc.screen != null) {
|
||||
wasUse = false;
|
||||
return;
|
||||
}
|
||||
boolean use = mc.options.keyUse.isDown();
|
||||
if (use && !wasUse && player.isShiftKeyDown()
|
||||
&& (player.getMainHandItem().getItem() instanceof GiantFryingPanItem
|
||||
|| player.getOffhandItem().getItem() instanceof GiantFryingPanItem)) {
|
||||
AntarchyForgeNetworkCore.sendToServer(OpenGiantFryingPanPayload.INSTANCE);
|
||||
}
|
||||
wasUse = use;
|
||||
}
|
||||
}
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.gravity.AntarchyGravityApi;
|
||||
import net.minecraft.client.Camera;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.client.event.ViewportEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import org.joml.Vector3f;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class GravityCameraRollHandler {
|
||||
private GravityCameraRollHandler() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onComputeCameraAngles(ViewportEvent.ComputeCameraAngles event) {
|
||||
Camera camera = event.getCamera();
|
||||
Entity entity = camera.getEntity();
|
||||
if (entity == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
float flipProgress = AntarchyGravityApi.getGravityFlipProgress(entity, (float) event.getPartialTick());
|
||||
if (flipProgress <= 0.0F) {
|
||||
return;
|
||||
}
|
||||
|
||||
float gravityRoll = 180.0F * flipProgress;
|
||||
event.setRoll(event.getRoll() + gravityRoll);
|
||||
|
||||
Vector3f look = camera.getLookVector();
|
||||
float radians = (float) Math.toRadians(gravityRoll);
|
||||
camera.getUpVector().rotateAxis(radians, look.x(), look.y(), look.z());
|
||||
camera.getLeftVector().rotateAxis(radians, look.x(), look.y(), look.z());
|
||||
}
|
||||
}
|
||||
+17
-3
@@ -1,17 +1,18 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.config.AntarchySettings;
|
||||
import com.craisinlord.antarchy.content.item.GravityGunItem;
|
||||
import com.craisinlord.antarchy.content.network.GravityGunPrimaryPayload;
|
||||
import com.craisinlord.antarchy.content.network.GravityGunScrollPayload;
|
||||
import com.craisinlord.antarchy.content.network.TemporalTunerScrollPayload;
|
||||
import com.craisinlord.antarchy.content.item.TemporalTunerItem;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.screens.Screen;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import net.minecraftforge.client.event.InputEvent;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
@@ -48,7 +49,20 @@ public final class GravityGunClientHandler {
|
||||
@SubscribeEvent
|
||||
public static void onMouseScroll(InputEvent.MouseScrollingEvent event) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.player == null || mc.level == null || mc.screen != null || !Screen.hasControlDown() || !AntarchySettings.gravityGunEnabled()) {
|
||||
if (mc.player == null || mc.level == null || mc.screen != null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (Screen.hasShiftDown() && TemporalTunerItem.isAvailable(mc.player)) {
|
||||
double scrollAmount = Mth.clamp(event.getScrollDelta(), -1.0D, 1.0D);
|
||||
if (Math.abs(scrollAmount) >= 1.0E-4D) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new TemporalTunerScrollPayload(scrollAmount * TemporalTunerItem.STEP));
|
||||
event.setCanceled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!Screen.hasControlDown() || !AntarchySettings.gravityGunEnabled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
||||
public final class HerculesBeetleChargeHudRenderer {
|
||||
private static final ResourceLocation GUI_ICONS_LOCATION = ResourceLocation.withDefaultNamespace("textures/gui/icons.png");
|
||||
private static final ResourceLocation GUI_ICONS_LOCATION = new ResourceLocation("textures/gui/icons.png");
|
||||
private static final int BAR_WIDTH = 182;
|
||||
private static final int BAR_HEIGHT = 5;
|
||||
|
||||
|
||||
+5
-6
@@ -1,11 +1,9 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.client.CameraShakeClientState;
|
||||
import com.craisinlord.antarchy.content.client.HerculesBeetleImpactShakeClientState;
|
||||
import com.craisinlord.antarchy.content.client.HordeClientState;
|
||||
import com.craisinlord.antarchy.content.client.KingJudgmentFlashClientState;
|
||||
import com.craisinlord.antarchy.content.entity.HerculesBeetleEntity;
|
||||
import com.craisinlord.antarchy.content.network.HerculesBeetleFlightTogglePayload;
|
||||
import com.craisinlord.antarchy.content.network.HerculesBeetleJumpInputPayload;
|
||||
@@ -15,6 +13,7 @@ import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
|
||||
@@ -31,8 +30,8 @@ public final class HerculesBeetleClientHandler {
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
CameraShakeClientState.tick();
|
||||
HerculesBeetleImpactShakeClientState.tick();
|
||||
KingJudgmentFlashClientState.tick();
|
||||
HordeClientState.tick();
|
||||
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
@@ -59,13 +58,13 @@ public final class HerculesBeetleClientHandler {
|
||||
}
|
||||
wasPressingAttack = pressingAttack;
|
||||
|
||||
boolean charging = AntarchyKeyBindings.HERCULES_BEETLE_CHARGE.isDown();
|
||||
boolean charging = AntarchyKeyBindings.MOUNT_SPECIAL.isDown();
|
||||
if (charging != wasCharging) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new HerculesBeetleMountedChargePayload(charging));
|
||||
}
|
||||
wasCharging = charging;
|
||||
|
||||
boolean pressingFlightToggle = AntarchyKeyBindings.HERCULES_BEETLE_FLIGHT_TOGGLE.isDown();
|
||||
boolean pressingFlightToggle = AntarchyKeyBindings.MOUNT_FLIGHT_TOGGLE.isDown();
|
||||
if (pressingFlightToggle && !wasPressingFlightToggle) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new HerculesBeetleFlightTogglePayload());
|
||||
}
|
||||
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.client.HoverboardSoundSystem;
|
||||
import com.craisinlord.antarchy.content.client.HoverboardTrailSystem;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import net.minecraftforge.client.event.RenderLevelStageEvent;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class HoverboardTrailHandler {
|
||||
private HoverboardTrailHandler() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
HoverboardTrailSystem.tick();
|
||||
HoverboardSoundSystem.tick();
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onRenderLevelStage(RenderLevelStageEvent event) {
|
||||
if (event.getStage() != RenderLevelStageEvent.Stage.AFTER_PARTICLES) {
|
||||
return;
|
||||
}
|
||||
HoverboardTrailSystem.render(event.getCamera(), event.getPoseStack().last().pose());
|
||||
}
|
||||
}
|
||||
+19
-3
@@ -1,7 +1,5 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.entity.lucid.LucidEntity;
|
||||
import com.craisinlord.antarchy.forge.registry.AntarchyForgeSounds;
|
||||
@@ -14,6 +12,7 @@ import net.minecraft.sounds.SoundSource;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -26,9 +25,11 @@ import java.util.UUID;
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class LucidSoundHandler {
|
||||
private static final double START_SCAN_RADIUS = 96.0D;
|
||||
private static final int DISCOVERY_SCAN_INTERVAL_TICKS = 10;
|
||||
private static final int ANIM_ATTACK = 2;
|
||||
private static final int ANIM_DEATH = 3;
|
||||
private static final Map<UUID, LucidLoopSet> ACTIVE_LOOPS = new HashMap<>();
|
||||
private static long nextDiscoveryScanTick;
|
||||
|
||||
private LucidSoundHandler() {
|
||||
}
|
||||
@@ -48,7 +49,21 @@ public final class LucidSoundHandler {
|
||||
}
|
||||
|
||||
pruneStaleLoops(mc);
|
||||
refreshNearbyLucids(mc);
|
||||
refreshActiveLoops(mc);
|
||||
|
||||
long gameTime = mc.level.getGameTime();
|
||||
if (gameTime >= nextDiscoveryScanTick) {
|
||||
nextDiscoveryScanTick = gameTime + DISCOVERY_SCAN_INTERVAL_TICKS;
|
||||
refreshNearbyLucids(mc);
|
||||
}
|
||||
}
|
||||
|
||||
private static void refreshActiveLoops(Minecraft mc) {
|
||||
for (LucidLoopSet set : ACTIVE_LOOPS.values()) {
|
||||
if (set.isValid()) {
|
||||
set.refresh(mc, set.entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void refreshNearbyLucids(Minecraft mc) {
|
||||
@@ -96,6 +111,7 @@ public final class LucidSoundHandler {
|
||||
set.stop(mc);
|
||||
}
|
||||
ACTIVE_LOOPS.clear();
|
||||
nextDiscoveryScanTick = 0L;
|
||||
}
|
||||
|
||||
private static final class LucidLoopSet {
|
||||
|
||||
+2
-5
@@ -1,7 +1,5 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.item.MogglesCaveDetector;
|
||||
import com.craisinlord.antarchy.content.item.MogglesLogic;
|
||||
@@ -13,9 +11,10 @@ import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT)
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class MogglesClientRenderer {
|
||||
private MogglesClientRenderer() {}
|
||||
|
||||
@@ -32,13 +31,11 @@ public final class MogglesClientRenderer {
|
||||
return;
|
||||
}
|
||||
|
||||
// Run cave BFS (internally rate-limited to every 40 ticks).
|
||||
MogglesCaveDetector.tick(player, level);
|
||||
|
||||
BlockPos target = MogglesCaveDetector.getCaveTarget();
|
||||
if (target == null) return;
|
||||
|
||||
// Spawn particle trail toward the cave every 2 ticks.
|
||||
if (level.getGameTime() % 2 != 0) return;
|
||||
|
||||
Vec3 eye = player.getEyePosition();
|
||||
|
||||
+1
-2
@@ -1,7 +1,5 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.forge.registry.AntarchyForgeMisc;
|
||||
import net.minecraft.client.Minecraft;
|
||||
@@ -14,6 +12,7 @@ import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import net.minecraftforge.client.event.MovementInputUpdateEvent;
|
||||
|
||||
|
||||
+1
-2
@@ -1,10 +1,9 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import software.bernie.geckolib.event.GeoRenderEvent;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.item.PortalGunItem;
|
||||
import com.craisinlord.antarchy.content.client.PortalGunZoomClientState;
|
||||
import com.craisinlord.antarchy.content.network.PortalGunPrimaryPayload;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class PortalGunClientHandler {
|
||||
private static boolean lastAttackDown;
|
||||
|
||||
private PortalGunClientHandler() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.player == null) {
|
||||
com.craisinlord.antarchy.content.client.PortalGunResetClientState.clear();
|
||||
}
|
||||
com.craisinlord.antarchy.content.client.PortalGunIndicatorClientState.setRequestSender(com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore::sendToServer);
|
||||
com.craisinlord.antarchy.content.client.MoonSkyTracker.setSender(com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore::sendToServer);
|
||||
com.craisinlord.antarchy.content.portalgun.PortalGunMoonAimSync.setClientReporter(com.craisinlord.antarchy.content.client.MoonSkyTracker::report);
|
||||
boolean hasPortalGun = mc.player != null && (mc.player.getMainHandItem().getItem() instanceof PortalGunItem || mc.player.getOffhandItem().getItem() instanceof PortalGunItem);
|
||||
boolean gameplayInput = mc.screen == null;
|
||||
boolean held = hasPortalGun && gameplayInput;
|
||||
boolean zoomPressed = AntarchyKeyBindings.consumePortalGunZoomPressed();
|
||||
PortalGunZoomClientState.tick(mc, hasPortalGun, zoomPressed && gameplayInput);
|
||||
boolean resetActive = com.craisinlord.antarchy.content.client.PortalGunResetClientState.tick(
|
||||
mc,
|
||||
held,
|
||||
AntarchyKeyBindings.isPortalGunResetDown(),
|
||||
com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore::sendToServer
|
||||
);
|
||||
if (mc.player == null || mc.level == null || mc.screen != null) {
|
||||
lastAttackDown = false;
|
||||
return;
|
||||
}
|
||||
|
||||
boolean offhand = !(mc.player.getMainHandItem().getItem() instanceof PortalGunItem)
|
||||
&& mc.player.getOffhandItem().getItem() instanceof PortalGunItem;
|
||||
if (!offhand && !(mc.player.getMainHandItem().getItem() instanceof PortalGunItem)) {
|
||||
lastAttackDown = false;
|
||||
return;
|
||||
}
|
||||
|
||||
boolean attackDown = mc.options.keyAttack.isDown();
|
||||
if (attackDown && !lastAttackDown && !resetActive) {
|
||||
com.craisinlord.antarchy.content.portalgun.PortalGunMoonAimSync.reportFromClient();
|
||||
AntarchyForgeNetworkCore.sendToServer(new PortalGunPrimaryPayload(offhand));
|
||||
}
|
||||
lastAttackDown = attackDown;
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.client.QueenMusicHandler;
|
||||
import com.craisinlord.antarchy.forge.registry.AntarchyForgeSounds;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class QueenMusicClientHandler {
|
||||
private QueenMusicClientHandler() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
Minecraft minecraft = Minecraft.getInstance();
|
||||
QueenMusicHandler.tick(minecraft, AntarchyForgeSounds.THE_QUEEN.get());
|
||||
}
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.network.ActivateRoyalBoundaryPayload;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class RoyalBoundaryClientHandler {
|
||||
private RoyalBoundaryClientHandler() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
Minecraft minecraft = Minecraft.getInstance();
|
||||
if (minecraft.player == null || minecraft.level == null) return;
|
||||
while (AntarchyKeyBindings.consumeRoyalBoundaryPressed()) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new ActivateRoyalBoundaryPayload());
|
||||
}
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.network.ToggleRoyalInversionPayload;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class RoyalInversionClientHandler {
|
||||
private RoyalInversionClientHandler() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
Minecraft minecraft = Minecraft.getInstance();
|
||||
if (minecraft.player == null || minecraft.level == null) {
|
||||
return;
|
||||
}
|
||||
while (AntarchyKeyBindings.consumeRoyalInversionTogglePressed()) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new ToggleRoyalInversionPayload());
|
||||
}
|
||||
}
|
||||
}
|
||||
+87
@@ -0,0 +1,87 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.entity.royal.RoyalMountEntity;
|
||||
import com.craisinlord.antarchy.content.network.RoyalMountActionPayload;
|
||||
import com.craisinlord.antarchy.content.network.RoyalMountVerticalPayload;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
import net.minecraft.world.phys.EntityHitResult;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class RoyalMountClientHandler {
|
||||
private static boolean wasAttack;
|
||||
private static boolean wasSpecial;
|
||||
private static boolean wasFlightToggle;
|
||||
private static boolean wasAscend;
|
||||
private static boolean wasDescend;
|
||||
private static boolean wasUse;
|
||||
|
||||
private RoyalMountClientHandler() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
LocalPlayer player = mc.player;
|
||||
if (player == null || mc.screen != null) {
|
||||
reset();
|
||||
wasUse = false;
|
||||
return;
|
||||
}
|
||||
if (!(player.getVehicle() instanceof RoyalMountEntity)) {
|
||||
reset();
|
||||
boolean use = mc.options.keyUse.isDown();
|
||||
if (use && !wasUse && !(mc.hitResult instanceof EntityHitResult)
|
||||
&& RoyalMountEntity.findAssistedMountTarget(player, 1.0D) != null) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new RoyalMountActionPayload(RoyalMountActionPayload.MOUNT));
|
||||
}
|
||||
wasUse = use;
|
||||
return;
|
||||
}
|
||||
wasUse = mc.options.keyUse.isDown();
|
||||
|
||||
boolean attack = mc.options.keyAttack.isDown();
|
||||
if (attack && !wasAttack) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new RoyalMountActionPayload(RoyalMountActionPayload.BITE));
|
||||
}
|
||||
wasAttack = attack;
|
||||
|
||||
boolean special = AntarchyKeyBindings.isMountSpecialPressed();
|
||||
if (special && !wasSpecial) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new RoyalMountActionPayload(RoyalMountActionPayload.SPIT));
|
||||
}
|
||||
wasSpecial = special;
|
||||
|
||||
boolean flightToggle = AntarchyKeyBindings.isMountFlightTogglePressed();
|
||||
if (flightToggle && !wasFlightToggle) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new RoyalMountActionPayload(RoyalMountActionPayload.FLIGHT_TOGGLE));
|
||||
}
|
||||
wasFlightToggle = flightToggle;
|
||||
|
||||
boolean ascend = mc.options.keyJump.isDown();
|
||||
boolean descend = mc.options.keyShift.isDown();
|
||||
if (ascend != wasAscend || descend != wasDescend) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new RoyalMountVerticalPayload(ascend, descend));
|
||||
wasAscend = ascend;
|
||||
wasDescend = descend;
|
||||
}
|
||||
}
|
||||
|
||||
private static void reset() {
|
||||
if (wasAscend || wasDescend) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new RoyalMountVerticalPayload(false, false));
|
||||
}
|
||||
wasAttack = false;
|
||||
wasSpecial = false;
|
||||
wasFlightToggle = false;
|
||||
wasAscend = false;
|
||||
wasDescend = false;
|
||||
}
|
||||
}
|
||||
+2
-4
@@ -4,9 +4,9 @@ import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.client.SizeRaySoundHandler;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class SizeRaySoundHandlerForge {
|
||||
@@ -15,9 +15,7 @@ public final class SizeRaySoundHandlerForge {
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) {
|
||||
return;
|
||||
}
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
SizeRaySoundHandler.tick(Minecraft.getInstance());
|
||||
}
|
||||
}
|
||||
+13
-14
@@ -1,28 +1,27 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.item.JumpyBootsHelper;
|
||||
import com.craisinlord.antarchy.content.item.JumpyBootsItem;
|
||||
import com.craisinlord.antarchy.content.network.JumpyBootsLaunchPayload;
|
||||
import com.craisinlord.antarchy.content.item.SpringyBootsHelper;
|
||||
import com.craisinlord.antarchy.content.item.SpringyBootsItem;
|
||||
import com.craisinlord.antarchy.content.network.SpringyBootsLaunchPayload;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import net.minecraftforge.client.event.RenderGuiOverlayEvent;
|
||||
import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class JumpyBootsClientHandler {
|
||||
public final class SpringyBootsClientHandler {
|
||||
private static int chargeTicks = 0;
|
||||
private static boolean wasCharging = false;
|
||||
private static int primeWindowTicks = 0;
|
||||
private static int storedChargeTicks = 0;
|
||||
|
||||
private JumpyBootsClientHandler() {
|
||||
private SpringyBootsClientHandler() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
@@ -36,7 +35,7 @@ public final class JumpyBootsClientHandler {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!JumpyBootsItem.isWearingJumpyBoots(player)) {
|
||||
if (!SpringyBootsItem.isWearingSpringyBoots(player)) {
|
||||
reset();
|
||||
return;
|
||||
}
|
||||
@@ -48,7 +47,7 @@ public final class JumpyBootsClientHandler {
|
||||
if (primeWindowTicks > 0) {
|
||||
primeWindowTicks--;
|
||||
if (jumpPressed) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new JumpyBootsLaunchPayload(storedChargeTicks, player.isSprinting()));
|
||||
AntarchyForgeNetworkCore.sendToServer(new SpringyBootsLaunchPayload(storedChargeTicks, player.isSprinting()));
|
||||
reset();
|
||||
return;
|
||||
}
|
||||
@@ -65,22 +64,22 @@ public final class JumpyBootsClientHandler {
|
||||
}
|
||||
|
||||
if (jumpPressed && wasCharging && chargeTicks > 0) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new JumpyBootsLaunchPayload(chargeTicks, player.isSprinting()));
|
||||
AntarchyForgeNetworkCore.sendToServer(new SpringyBootsLaunchPayload(chargeTicks, player.isSprinting()));
|
||||
reset();
|
||||
return;
|
||||
}
|
||||
|
||||
if (sneaking) {
|
||||
chargeTicks = Math.min(chargeTicks + 1, JumpyBootsHelper.CHARGE_TICKS_MAX);
|
||||
chargeTicks = Math.min(chargeTicks + 1, SpringyBootsHelper.CHARGE_TICKS_MAX);
|
||||
wasCharging = true;
|
||||
} else if (wasCharging && chargeTicks > 0) {
|
||||
storedChargeTicks = chargeTicks;
|
||||
if (jumpPressed) {
|
||||
AntarchyForgeNetworkCore.sendToServer(new JumpyBootsLaunchPayload(storedChargeTicks, player.isSprinting()));
|
||||
AntarchyForgeNetworkCore.sendToServer(new SpringyBootsLaunchPayload(storedChargeTicks, player.isSprinting()));
|
||||
reset();
|
||||
return;
|
||||
}
|
||||
primeWindowTicks = JumpyBootsHelper.PRIME_WINDOW_TICKS;
|
||||
primeWindowTicks = SpringyBootsHelper.PRIME_WINDOW_TICKS;
|
||||
chargeTicks = 0;
|
||||
wasCharging = false;
|
||||
} else {
|
||||
@@ -99,7 +98,7 @@ public final class JumpyBootsClientHandler {
|
||||
@SubscribeEvent
|
||||
public static void onRenderGuiLayer(RenderGuiOverlayEvent.Pre event) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.player == null || !JumpyBootsItem.isWearingJumpyBoots(mc.player) || !isCharging()) {
|
||||
if (mc.player == null || !SpringyBootsItem.isWearingSpringyBoots(mc.player) || !isCharging()) {
|
||||
return;
|
||||
}
|
||||
if (event.getOverlay().id().equals(VanillaGuiOverlay.EXPERIENCE_BAR.id())) {
|
||||
+9
-9
@@ -1,19 +1,19 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import com.craisinlord.antarchy.content.item.JumpyBootsHelper;
|
||||
import com.craisinlord.antarchy.content.item.JumpyBootsItem;
|
||||
import com.craisinlord.antarchy.content.item.SpringyBootsHelper;
|
||||
import com.craisinlord.antarchy.content.item.SpringyBootsItem;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
||||
public final class JumpyBootsHudRenderer {
|
||||
private static final ResourceLocation GUI_ICONS_LOCATION = ResourceLocation.withDefaultNamespace("textures/gui/icons.png");
|
||||
public final class SpringyBootsHudRenderer {
|
||||
private static final ResourceLocation GUI_ICONS_LOCATION = new ResourceLocation("textures/gui/icons.png");
|
||||
private static final int BAR_WIDTH = 182;
|
||||
private static final int BAR_HEIGHT = 5;
|
||||
|
||||
private JumpyBootsHudRenderer() {
|
||||
private SpringyBootsHudRenderer() {
|
||||
}
|
||||
|
||||
public static void render(GuiGraphics guiGraphics) {
|
||||
@@ -22,10 +22,10 @@ public final class JumpyBootsHudRenderer {
|
||||
if (player == null || mc.screen != null || player.isDeadOrDying()) {
|
||||
return;
|
||||
}
|
||||
if (!JumpyBootsItem.isWearingJumpyBoots(player)) {
|
||||
if (!SpringyBootsItem.isWearingSpringyBoots(player)) {
|
||||
return;
|
||||
}
|
||||
if (!JumpyBootsClientHandler.isCharging()) {
|
||||
if (!SpringyBootsClientHandler.isCharging()) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -36,8 +36,8 @@ public final class JumpyBootsHudRenderer {
|
||||
|
||||
guiGraphics.blit(GUI_ICONS_LOCATION, x0, y0, 0, 84, BAR_WIDTH, BAR_HEIGHT);
|
||||
|
||||
int chargeTicks = JumpyBootsClientHandler.getChargeTicks();
|
||||
float chargeRatio = Mth.clamp(chargeTicks / (float) JumpyBootsHelper.CHARGE_TICKS_MAX, 0.0F, 1.0F);
|
||||
int chargeTicks = SpringyBootsClientHandler.getChargeTicks();
|
||||
float chargeRatio = Mth.clamp(chargeTicks / (float) SpringyBootsHelper.CHARGE_TICKS_MAX, 0.0F, 1.0F);
|
||||
int filledWidth = Mth.clamp((int) (chargeRatio * BAR_WIDTH), 0, BAR_WIDTH);
|
||||
if (filledWidth > 0) {
|
||||
guiGraphics.setColor(1.0F, 1.0F, 1.0F, 0.35F + chargeRatio * 0.65F);
|
||||
+2
-3
@@ -1,7 +1,5 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.AntarchyObjects;
|
||||
import com.craisinlord.antarchy.content.AntarchySoundEvents;
|
||||
@@ -9,9 +7,10 @@ import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.sounds.SoundSource;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.FORGE)
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class StinkySoundHandler {
|
||||
private static final int FIRST_SOUND_DELAY = 20;
|
||||
private static final int MIN_INTERVAL = 60;
|
||||
|
||||
+118
@@ -0,0 +1,118 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.AntarchySoundEvents;
|
||||
import com.craisinlord.antarchy.content.entity.portal.DimensionalTearEntity;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.resources.sounds.AbstractTickableSoundInstance;
|
||||
import net.minecraft.sounds.SoundSource;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class TearIdleSoundHandler {
|
||||
private static final double START_SCAN_RADIUS = 64.0D;
|
||||
private static final int DISCOVERY_SCAN_INTERVAL_TICKS = 10;
|
||||
private static final Map<UUID, TearIdleSound> ACTIVE_LOOPS = new HashMap<>();
|
||||
private static long nextDiscoveryScanTick;
|
||||
|
||||
private TearIdleSoundHandler() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.level == null || mc.player == null || mc.isPaused()) {
|
||||
resetAll(mc);
|
||||
return;
|
||||
}
|
||||
|
||||
pruneStaleLoops(mc);
|
||||
|
||||
long gameTime = mc.level.getGameTime();
|
||||
if (gameTime >= nextDiscoveryScanTick) {
|
||||
nextDiscoveryScanTick = gameTime + DISCOVERY_SCAN_INTERVAL_TICKS;
|
||||
discoverNearbyTears(mc);
|
||||
}
|
||||
}
|
||||
|
||||
private static void discoverNearbyTears(Minecraft mc) {
|
||||
List<DimensionalTearEntity> tears = mc.level.getEntitiesOfClass(
|
||||
DimensionalTearEntity.class,
|
||||
mc.player.getBoundingBox().inflate(START_SCAN_RADIUS)
|
||||
);
|
||||
|
||||
for (DimensionalTearEntity tear : tears) {
|
||||
if (!tear.shouldPlayIdleSound() || ACTIVE_LOOPS.containsKey(tear.getUUID())) {
|
||||
continue;
|
||||
}
|
||||
TearIdleSound sound = new TearIdleSound(tear);
|
||||
ACTIVE_LOOPS.put(tear.getUUID(), sound);
|
||||
mc.getSoundManager().play(sound);
|
||||
}
|
||||
}
|
||||
|
||||
private static void pruneStaleLoops(Minecraft mc) {
|
||||
Iterator<Map.Entry<UUID, TearIdleSound>> iterator = ACTIVE_LOOPS.entrySet().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
TearIdleSound sound = iterator.next().getValue();
|
||||
if (!sound.isValid()) {
|
||||
mc.getSoundManager().stop(sound);
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void resetAll(Minecraft mc) {
|
||||
for (TearIdleSound sound : ACTIVE_LOOPS.values()) {
|
||||
mc.getSoundManager().stop(sound);
|
||||
}
|
||||
ACTIVE_LOOPS.clear();
|
||||
nextDiscoveryScanTick = 0L;
|
||||
}
|
||||
|
||||
private static final class TearIdleSound extends AbstractTickableSoundInstance {
|
||||
private final DimensionalTearEntity tear;
|
||||
|
||||
private TearIdleSound(DimensionalTearEntity tear) {
|
||||
super(AntarchySoundEvents.DIMENSIONAL_TEAR_IDLE.get(), SoundSource.HOSTILE, tear.level().getRandom());
|
||||
this.tear = tear;
|
||||
this.looping = true;
|
||||
this.delay = 0;
|
||||
this.volume = 0.6F;
|
||||
this.pitch = 1.0F;
|
||||
this.x = tear.getX();
|
||||
this.y = tear.getY();
|
||||
this.z = tear.getZ();
|
||||
}
|
||||
|
||||
private boolean isValid() {
|
||||
return !this.tear.isRemoved() && this.tear.shouldPlayIdleSound();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
if (!this.isValid()) {
|
||||
this.stop();
|
||||
return;
|
||||
}
|
||||
this.x = this.tear.getX();
|
||||
this.y = this.tear.getY();
|
||||
this.z = this.tear.getZ();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canStartSilent() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-2
@@ -1,10 +1,9 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.client.event.ViewportEvent;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
|
||||
+2
-4
@@ -1,16 +1,15 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.client.TigerEyeCamouflageClientState;
|
||||
import com.craisinlord.antarchy.content.client.renderer.TigerEyeCamouflageTextureResolver;
|
||||
import com.craisinlord.antarchy.content.network.ToggleTigerEyeCamouflagePayload;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class TigerEyeCamouflageClientHandler {
|
||||
@@ -20,7 +19,6 @@ public final class TigerEyeCamouflageClientHandler {
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
|
||||
Minecraft minecraft = Minecraft.getInstance();
|
||||
if (minecraft.player == null || minecraft.level == null) {
|
||||
TigerEyeCamouflageClientState.clear();
|
||||
|
||||
+1
-3
@@ -1,7 +1,5 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.entity.WaspEntity;
|
||||
import com.craisinlord.antarchy.forge.registry.AntarchyForgeSounds;
|
||||
@@ -17,6 +15,7 @@ import net.minecraft.sounds.SoundSource;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -31,7 +30,6 @@ public final class WaspSoundHandler {
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
// Ambient buzzing now comes from the wasp entity itself.
|
||||
}
|
||||
|
||||
private static void refreshNearbyWasps(Minecraft mc) {
|
||||
|
||||
+175
@@ -0,0 +1,175 @@
|
||||
package com.craisinlord.antarchy.forge.client;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.client.WormHookTetherClientState;
|
||||
import com.craisinlord.antarchy.content.item.WormHookItem;
|
||||
import com.craisinlord.antarchy.content.util.WormHookRope;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.mojang.blaze3d.vertex.BufferBuilder;
|
||||
import com.mojang.blaze3d.vertex.BufferUploader;
|
||||
import com.mojang.blaze3d.vertex.DefaultVertexFormat;
|
||||
import com.mojang.blaze3d.vertex.Tesselator;
|
||||
import com.mojang.blaze3d.vertex.VertexFormat;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import net.minecraft.client.Camera;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.GameRenderer;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.HumanoidArm;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import net.minecraftforge.client.event.RenderLevelStageEvent;
|
||||
import org.joml.Matrix4f;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class WormHookTetherRenderHandler {
|
||||
private static final Map<Integer, WormHookRope> ROPES = new HashMap<>();
|
||||
|
||||
private WormHookTetherRenderHandler() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
Minecraft minecraft = Minecraft.getInstance();
|
||||
if (minecraft.level == null) {
|
||||
WormHookTetherClientState.clear();
|
||||
ROPES.clear();
|
||||
return;
|
||||
}
|
||||
|
||||
Map<Integer, Integer> tethers = WormHookTetherClientState.snapshot();
|
||||
ROPES.keySet().removeIf(playerId -> !tethers.containsKey(playerId));
|
||||
|
||||
for (Map.Entry<Integer, Integer> entry : tethers.entrySet()) {
|
||||
Entity source = minecraft.level.getEntity(entry.getKey());
|
||||
Entity hook = minecraft.level.getEntity(entry.getValue());
|
||||
if (!(source instanceof Player player) || hook == null || hook.isRemoved()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Vec3 anchor = hook.position();
|
||||
Vec3 playerEye = player.getEyePosition();
|
||||
WormHookRope rope = ROPES.computeIfAbsent(entry.getKey(), id -> new WormHookRope(anchor, playerEye));
|
||||
rope.update(hook, anchor, playerEye, anchor.distanceTo(playerEye) + 32.0D);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onRenderLevelStage(RenderLevelStageEvent event) {
|
||||
if (event.getStage() != RenderLevelStageEvent.Stage.AFTER_PARTICLES) {
|
||||
return;
|
||||
}
|
||||
|
||||
Minecraft minecraft = Minecraft.getInstance();
|
||||
if (minecraft.level == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
Map<Integer, Integer> tethers = WormHookTetherClientState.snapshot();
|
||||
if (tethers.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
Camera camera = event.getCamera();
|
||||
Vec3 cameraPos = camera.getPosition();
|
||||
Matrix4f pose = event.getPoseStack().last().pose();
|
||||
|
||||
RenderSystem.enableBlend();
|
||||
RenderSystem.defaultBlendFunc();
|
||||
RenderSystem.depthMask(false);
|
||||
RenderSystem.disableCull();
|
||||
RenderSystem.setShader(GameRenderer::getPositionColorShader);
|
||||
|
||||
BufferBuilder buffer = Tesselator.getInstance().getBuilder();
|
||||
buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR);
|
||||
for (Map.Entry<Integer, Integer> entry : tethers.entrySet()) {
|
||||
Entity source = minecraft.level.getEntity(entry.getKey());
|
||||
Entity hook = minecraft.level.getEntity(entry.getValue());
|
||||
if (!(source instanceof Player player) || hook == null || hook.isRemoved()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
WormHookRope rope = ROPES.get(entry.getKey());
|
||||
List<Vec3> points = rope != null ? rope.points() : List.of(hook.position(), player.getEyePosition());
|
||||
|
||||
Vec3 handPos = tetherStart(player, event.getPartialTick());
|
||||
for (int i = points.size() - 1; i > 0; i--) {
|
||||
Vec3 start = i == points.size() - 1 ? handPos : points.get(i);
|
||||
Vec3 end = points.get(i - 1);
|
||||
buildTether(buffer, pose, start, end, cameraPos);
|
||||
}
|
||||
}
|
||||
|
||||
BufferUploader.drawWithShader(buffer.end());
|
||||
|
||||
RenderSystem.enableCull();
|
||||
RenderSystem.depthMask(true);
|
||||
RenderSystem.disableBlend();
|
||||
}
|
||||
|
||||
private static Vec3 tetherStart(Player player, float partialTick) {
|
||||
Vec3 start = player.getEyePosition(partialTick).add(0.0D, -0.45D, 0.0D);
|
||||
boolean mainHandHook = player.getMainHandItem().getItem() instanceof WormHookItem;
|
||||
boolean offHandHook = player.getOffhandItem().getItem() instanceof WormHookItem;
|
||||
if (!mainHandHook && !offHandHook) {
|
||||
return start;
|
||||
}
|
||||
|
||||
boolean useMainHand = mainHandHook || !offHandHook;
|
||||
HumanoidArm arm = useMainHand ? player.getMainArm() : player.getMainArm().getOpposite();
|
||||
float bodyYaw = Mth.rotLerp(partialTick, player.yBodyRotO, player.yBodyRot);
|
||||
double radians = Math.toRadians(bodyYaw + 90.0F);
|
||||
double side = arm == HumanoidArm.RIGHT ? -0.28D : 0.28D;
|
||||
return start.add(Math.cos(radians) * side, -0.12D, Math.sin(radians) * side);
|
||||
}
|
||||
|
||||
private static void buildTether(BufferBuilder buffer, Matrix4f pose, Vec3 start, Vec3 end, Vec3 cameraPos) {
|
||||
Vec3 delta = end.subtract(start);
|
||||
double length = delta.length();
|
||||
if (length < 0.001D) {
|
||||
return;
|
||||
}
|
||||
|
||||
Vec3 forward = delta.scale(1.0D / length);
|
||||
Vec3 right = forward.cross(new Vec3(0.0D, 1.0D, 0.0D));
|
||||
if (right.lengthSqr() < 1.0E-6D) {
|
||||
right = forward.cross(new Vec3(1.0D, 0.0D, 0.0D));
|
||||
}
|
||||
right = right.normalize();
|
||||
|
||||
int segments = Math.max(4, Mth.ceil(length * 8.0D));
|
||||
for (int i = 0; i < segments; i++) {
|
||||
double t0 = (double) i / (double) segments;
|
||||
double t1 = (double) (i + 1) / (double) segments;
|
||||
Vec3 p0 = ropePoint(start, delta, t0, length);
|
||||
Vec3 p1 = ropePoint(start, delta, t1, length);
|
||||
float width = 0.04F;
|
||||
Vec3 offset = right.scale(width);
|
||||
|
||||
Vec3 a = p0.subtract(cameraPos);
|
||||
Vec3 b = p1.subtract(cameraPos);
|
||||
float shade = i % 2 == 0 ? 0.85F : 0.65F;
|
||||
float red = 0.42F * shade;
|
||||
float green = 0.36F * shade;
|
||||
float blue = 0.24F * shade;
|
||||
|
||||
buffer.vertex(pose, (float) (a.x + offset.x), (float) (a.y + offset.y), (float) (a.z + offset.z)).color(red, green, blue, 1.0F).endVertex();
|
||||
buffer.vertex(pose, (float) (a.x - offset.x), (float) (a.y - offset.y), (float) (a.z - offset.z)).color(red, green, blue, 1.0F).endVertex();
|
||||
buffer.vertex(pose, (float) (b.x - offset.x), (float) (b.y - offset.y), (float) (b.z - offset.z)).color(red, green, blue, 1.0F).endVertex();
|
||||
buffer.vertex(pose, (float) (b.x + offset.x), (float) (b.y + offset.y), (float) (b.z + offset.z)).color(red, green, blue, 1.0F).endVertex();
|
||||
}
|
||||
}
|
||||
|
||||
private static Vec3 ropePoint(Vec3 start, Vec3 delta, double t, double length) {
|
||||
double sag = Math.sin(t * Math.PI) * Math.min(0.2D, length * 0.03D);
|
||||
return start.add(delta.scale(t)).add(0.0D, -sag, 0.0D);
|
||||
}
|
||||
}
|
||||
-57
@@ -1,7 +1,5 @@
|
||||
package com.craisinlord.antarchy.forge.content.fluid;
|
||||
|
||||
import com.craisinlord.antarchy.content.fluid.AntiwaterBubbleColumnUtil;
|
||||
|
||||
import com.craisinlord.antarchy.forge.registry.AntarchyForgeBlocks;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
@@ -117,65 +115,11 @@ public abstract class AntiwaterFluid extends ForgeFlowingFluid {
|
||||
return net.minecraft.world.level.material.Fluids.EMPTY.defaultFluidState();
|
||||
}
|
||||
|
||||
/*
|
||||
@Override
|
||||
protected void spread(Level level, BlockPos pos, FluidState state) {
|
||||
if (state.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
if (!state.isSource() && !this.isFlowingStateValid(level, pos, state)) {
|
||||
level.setBlockAndUpdate(pos, net.minecraft.world.level.block.Blocks.AIR.defaultBlockState());
|
||||
this.scheduleCleanup(level, pos);
|
||||
return;
|
||||
}
|
||||
|
||||
BlockState blockState = level.getBlockState(pos);
|
||||
int nextAmount = state.getAmount() - 1;
|
||||
|
||||
BlockPos abovePos = pos.above();
|
||||
BlockState aboveState = level.getBlockState(abovePos);
|
||||
FluidState aboveFluid = level.getFluidState(abovePos);
|
||||
|
||||
if (!aboveState.isSolid() && !aboveFluid.getType().isSame(this)) {
|
||||
FluidState upwardState = this.getFlowing(8, false);
|
||||
if (this.canSpreadTo(level, pos, blockState, Direction.UP, abovePos, aboveState, aboveFluid, upwardState.getType())) {
|
||||
this.spreadTo(level, abovePos, aboveState, Direction.UP, upwardState);
|
||||
}
|
||||
}
|
||||
|
||||
if (!this.canHangAt(level, pos)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (nextAmount <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (Direction direction : Direction.Plane.HORIZONTAL) {
|
||||
BlockPos targetPos = pos.relative(direction);
|
||||
BlockState targetState = level.getBlockState(targetPos);
|
||||
FluidState targetFluid = targetState.getFluidState();
|
||||
if (!this.canSpreadHorizontallyInto(level, targetPos)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
FluidState horizontalState = this.getFlowing(Math.min(nextAmount, MAX_HORIZONTAL_SPREAD_AMOUNT), false);
|
||||
if (!this.canSpreadTo(level, pos, blockState, direction, targetPos, targetState, targetFluid, horizontalState.getType())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
this.spreadTo(level, targetPos, targetState, direction, horizontalState);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
@Override
|
||||
protected void spread(Level level, BlockPos pos, FluidState state) {
|
||||
if (state.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
AntiwaterBubbleColumnUtil.update(level, pos, state);
|
||||
|
||||
if (!state.isSource() && !this.isFlowingStateValid(level, pos, state)) {
|
||||
level.setBlockAndUpdate(pos, net.minecraft.world.level.block.Blocks.AIR.defaultBlockState());
|
||||
@@ -321,7 +265,6 @@ public abstract class AntiwaterFluid extends ForgeFlowingFluid {
|
||||
BlockState aboveState = level.getBlockState(abovePos);
|
||||
FluidState aboveFluid = level.getFluidState(abovePos);
|
||||
|
||||
// Antiwater flowing into water solidifies rather than displacing it
|
||||
if (aboveFluid.getFluidType() == ForgeMod.WATER_TYPE.get()) {
|
||||
BlockState result = state.isSource()
|
||||
? AntarchyForgeBlocks.ANTIMETAL.get().defaultBlockState()
|
||||
|
||||
+7
-7
@@ -1,8 +1,8 @@
|
||||
package com.craisinlord.antarchy.forge.content.fluid;
|
||||
|
||||
import com.craisinlord.antarchy.content.gravity.AntarchyGravityApi;
|
||||
import com.craisinlord.antarchy.content.gravity.AntarchyGravityDirection;
|
||||
import com.craisinlord.antarchy.content.gravity.AntarchyGravityRotationUtil;
|
||||
import com.craisinlord.anthology.gravity.GravityApi;
|
||||
import com.craisinlord.anthology.gravity.GravityDirection;
|
||||
import com.craisinlord.anthology.gravity.GravityRotationUtil;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.entity.MoverType;
|
||||
import net.minecraft.world.entity.item.ItemEntity;
|
||||
@@ -31,9 +31,9 @@ public class AntiwaterFluidType extends FluidType {
|
||||
motion = new Vec3(motion.x, 0.2, motion.z);
|
||||
}
|
||||
|
||||
AntarchyGravityDirection gravityDirection = AntarchyGravityApi.getGravityDirection(entity);
|
||||
GravityDirection gravityDirection = GravityApi.getGravityDirection(entity);
|
||||
Vec3 worldMotion = gravityDirection.isInverted()
|
||||
? AntarchyGravityRotationUtil.vecPlayerToWorld(motion, gravityDirection)
|
||||
? GravityRotationUtil.vecPlayerToWorld(motion, gravityDirection)
|
||||
: motion;
|
||||
|
||||
double drag = entity.isSwimming() ? 0.9 : 0.8;
|
||||
@@ -45,7 +45,7 @@ public class AntiwaterFluidType extends FluidType {
|
||||
|
||||
entity.setDeltaMovement(
|
||||
gravityDirection.isInverted()
|
||||
? AntarchyGravityRotationUtil.vecWorldToPlayer(worldMotion, gravityDirection)
|
||||
? GravityRotationUtil.vecWorldToPlayer(worldMotion, gravityDirection)
|
||||
: worldMotion
|
||||
);
|
||||
if (entity.horizontalCollision && entity.isFree(
|
||||
@@ -55,7 +55,7 @@ public class AntiwaterFluidType extends FluidType {
|
||||
Vec3 boostedWorldMotion = new Vec3(worldMotion.x, 0.3D, worldMotion.z);
|
||||
entity.setDeltaMovement(
|
||||
gravityDirection.isInverted()
|
||||
? AntarchyGravityRotationUtil.vecWorldToPlayer(boostedWorldMotion, gravityDirection)
|
||||
? GravityRotationUtil.vecWorldToPlayer(boostedWorldMotion, gravityDirection)
|
||||
: boostedWorldMotion
|
||||
);
|
||||
}
|
||||
|
||||
-195
@@ -1,195 +0,0 @@
|
||||
package com.craisinlord.antarchy.forge.entity.multipart;
|
||||
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner;
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartFramework;
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartPartAccess;
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartPartDefinition;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.damagesource.DamageSource;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.EntityDimensions;
|
||||
import net.minecraft.world.entity.OwnableEntity;
|
||||
import net.minecraft.world.entity.Pose;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraftforge.entity.PartEntity;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class MultipartPartEntity extends PartEntity<Entity> implements OwnableEntity, MultipartPartAccess {
|
||||
private final MultipartEntityOwner owner;
|
||||
private final int partIndex;
|
||||
private final MultipartPartDefinition definition;
|
||||
|
||||
public MultipartPartEntity(Entity parent, MultipartEntityOwner owner, int partIndex, MultipartPartDefinition definition) {
|
||||
super(parent);
|
||||
this.owner = owner;
|
||||
this.partIndex = partIndex;
|
||||
this.definition = definition;
|
||||
this.setNoGravity(true);
|
||||
this.refreshDimensions();
|
||||
this.antarchy$syncFromParent();
|
||||
}
|
||||
|
||||
public int getPartIndex() {
|
||||
return this.partIndex;
|
||||
}
|
||||
|
||||
public String getPartName() {
|
||||
return this.definition.name();
|
||||
}
|
||||
|
||||
public float getDamageMultiplier() {
|
||||
return this.definition.damageMultiplier();
|
||||
}
|
||||
|
||||
public MultipartPartDefinition getPartDefinition() {
|
||||
return this.definition;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable java.util.UUID getOwnerUUID() {
|
||||
Entity parent = this.getParent();
|
||||
return parent instanceof OwnableEntity ownable ? ownable.getOwnerUUID() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityDimensions getDimensions(Pose pose) {
|
||||
return EntityDimensions.scalable(this.definition.width(), this.definition.height());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void antarchy$syncFromParent() {
|
||||
Entity parent = this.getParent();
|
||||
if (parent == null || parent.isRemoved()) {
|
||||
return;
|
||||
}
|
||||
|
||||
double oldX = this.getX();
|
||||
double oldY = this.getY();
|
||||
double oldZ = this.getZ();
|
||||
double yawRadians = Math.toRadians(parent.getYRot());
|
||||
Vec3 forward = new Vec3(-Math.sin(yawRadians), 0.0D, Math.cos(yawRadians));
|
||||
Vec3 right = new Vec3(forward.z, 0.0D, -forward.x);
|
||||
Vec3 position = new Vec3(
|
||||
parent.getX() + forward.x * this.definition.forwardOffset() + right.x * this.definition.lateralOffset(),
|
||||
parent.getY() + this.definition.yOffset(),
|
||||
parent.getZ() + forward.z * this.definition.forwardOffset() + right.z * this.definition.lateralOffset()
|
||||
);
|
||||
this.setPos(position.x, position.y, position.z);
|
||||
this.setRot(parent.getYRot(), parent.getXRot());
|
||||
this.xo = oldX;
|
||||
this.yo = oldY;
|
||||
this.zo = oldZ;
|
||||
this.xOld = oldX;
|
||||
this.yOld = oldY;
|
||||
this.zOld = oldZ;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean is(Entity entity) {
|
||||
return entity == this || entity == this.getParent();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPickable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAttackable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPushable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canBeCollidedWith() {
|
||||
// Always true so player melee raycasts (ProjectileUtil.getEntityHitResult) can find this part.
|
||||
// Physical push is prevented separately via isPushable()=false and canCollideWith()=false.
|
||||
return !this.isRemoved();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canCollideWith(Entity entity) {
|
||||
if (!this.definition.collisionEnabled()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Entity parent = this.getParent();
|
||||
if (entity == parent) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (entity instanceof PartEntity<?> otherPart && otherPart.getParent() == parent) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return entity.canBeCollidedWith() && !this.isPassengerOfSameVehicle(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldBeSaved() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickResult() {
|
||||
Entity parent = this.getParent();
|
||||
return parent == null ? ItemStack.EMPTY : parent.getPickResult();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hurt(DamageSource source, float amount) {
|
||||
Entity parent = this.getParent();
|
||||
if (parent == null || parent.isRemoved()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this.level().isClientSide()) {
|
||||
if (source.getEntity() instanceof Player) {
|
||||
MultipartFramework.sendMultipartAttack(parent.getUUID(), this.partIndex, amount * this.definition.damageMultiplier());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return this.owner.antarchy$hurtMultipartPart(this, source, amount * this.definition.damageMultiplier());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInvulnerableTo(DamageSource source) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InteractionResult interactAt(Player player, Vec3 vec, InteractionHand hand) {
|
||||
Entity parent = this.getParent();
|
||||
if (parent == null || parent.isRemoved()) {
|
||||
return InteractionResult.PASS;
|
||||
}
|
||||
|
||||
if (this.level().isClientSide()) {
|
||||
MultipartFramework.sendMultipartInteract(parent.getUUID(), this.partIndex, hand.ordinal());
|
||||
return InteractionResult.SUCCESS;
|
||||
}
|
||||
|
||||
return this.owner.antarchy$interactMultipartPart(this, player, vec, hand);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void defineSynchedData() {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void readAdditionalSaveData(CompoundTag tag) {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addAdditionalSaveData(CompoundTag tag) {
|
||||
}
|
||||
}
|
||||
-64
@@ -1,64 +0,0 @@
|
||||
package com.craisinlord.antarchy.forge.entity.multipart;
|
||||
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner;
|
||||
import com.craisinlord.antarchy.forge.mixins.level.ClientLevelPartEntitiesAccessor;
|
||||
import com.craisinlord.antarchy.forge.mixins.level.ServerLevelPartEntitiesAccessor;
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
||||
import net.minecraft.client.multiplayer.ClientLevel;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraftforge.entity.PartEntity;
|
||||
|
||||
public final class MultipartPartLevelRegistry {
|
||||
private MultipartPartLevelRegistry() {
|
||||
}
|
||||
|
||||
public static void register(MultipartEntityOwner owner) {
|
||||
Entity[] parts = owner.antarchy$getMultipartParts();
|
||||
if (parts == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
Int2ObjectMap<PartEntity<?>> registry = getRegistry(((Entity) owner).level());
|
||||
if (registry == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (Entity part : parts) {
|
||||
if (part instanceof PartEntity<?> partEntity) {
|
||||
registry.put(partEntity.getId(), partEntity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void unregister(MultipartEntityOwner owner) {
|
||||
Entity[] parts = owner.antarchy$getMultipartParts();
|
||||
if (parts == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
Int2ObjectMap<PartEntity<?>> registry = getRegistry(((Entity) owner).level());
|
||||
if (registry == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (Entity part : parts) {
|
||||
if (part instanceof PartEntity<?> partEntity) {
|
||||
registry.remove(partEntity.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static Int2ObjectMap<PartEntity<?>> getRegistry(Level level) {
|
||||
if (level instanceof ServerLevel serverLevel) {
|
||||
return ((ServerLevelPartEntitiesAccessor) serverLevel).antarchy$getPartEntities();
|
||||
}
|
||||
|
||||
if (level instanceof ClientLevel clientLevel) {
|
||||
return ((ClientLevelPartEntitiesAccessor) clientLevel).antarchy$getPartEntities();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
-56
@@ -1,56 +0,0 @@
|
||||
package com.craisinlord.antarchy.forge.mixins.entity;
|
||||
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraftforge.entity.PartEntity;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
|
||||
@Mixin(Entity.class)
|
||||
/*
|
||||
* Exposes multipart child lookup from base entities.
|
||||
*/
|
||||
public abstract class MultipartEntityBridgeMixin {
|
||||
@Unique
|
||||
private Entity[] antarchy$multipartSourceParts;
|
||||
|
||||
@Unique
|
||||
private PartEntity<?>[] antarchy$multipartBridgeParts;
|
||||
|
||||
public boolean isMultipartEntity() {
|
||||
return (Object) this instanceof MultipartEntityOwner;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PartEntity<?>[] getParts() {
|
||||
if (!((Object) this instanceof MultipartEntityOwner owner)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Entity[] parts = owner.antarchy$getMultipartParts();
|
||||
if (parts == null) {
|
||||
parts = owner.antarchy$createMultipartParts();
|
||||
owner.antarchy$setMultipartParts(parts);
|
||||
owner.antarchy$syncMultipartParts();
|
||||
}
|
||||
|
||||
if (parts.length == 0) {
|
||||
return new PartEntity<?>[0];
|
||||
}
|
||||
|
||||
if (this.antarchy$multipartSourceParts != parts || this.antarchy$multipartBridgeParts == null || this.antarchy$multipartBridgeParts.length != parts.length) {
|
||||
PartEntity<?>[] bridgedParts = new PartEntity<?>[parts.length];
|
||||
for (int i = 0; i < parts.length; i++) {
|
||||
if (!(parts[i] instanceof PartEntity<?> part)) {
|
||||
throw new IllegalStateException("Multipart owner returned a non-PartEntity child: " + parts[i]);
|
||||
}
|
||||
bridgedParts[i] = part;
|
||||
}
|
||||
this.antarchy$multipartSourceParts = parts;
|
||||
this.antarchy$multipartBridgeParts = bridgedParts;
|
||||
}
|
||||
|
||||
return this.antarchy$multipartBridgeParts;
|
||||
}
|
||||
}
|
||||
-34
@@ -1,34 +0,0 @@
|
||||
package com.craisinlord.antarchy.forge.mixins.entity;
|
||||
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner;
|
||||
import com.craisinlord.antarchy.forge.entity.multipart.MultipartPartLevelRegistry;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.level.entity.EntityInLevelCallback;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(Entity.class)
|
||||
/*
|
||||
* Keeps multipart child entities registered in NeoForge levels.
|
||||
*/
|
||||
public abstract class MultipartEntityLevelRegistryMixin {
|
||||
@Inject(method = "setLevelCallback", at = @At("TAIL"))
|
||||
private void antarchy$registerMultipartParts(EntityInLevelCallback entityInLevelCallback, CallbackInfo ci) {
|
||||
if ((Object) this instanceof MultipartEntityOwner owner
|
||||
&& entityInLevelCallback != EntityInLevelCallback.NULL) {
|
||||
if (owner.antarchy$getMultipartParts() == null) {
|
||||
owner.antarchy$spawnMultipartParts();
|
||||
}
|
||||
MultipartPartLevelRegistry.register(owner);
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "setRemoved", at = @At("HEAD"))
|
||||
private void antarchy$unregisterMultipartParts(Entity.RemovalReason removalReason, CallbackInfo ci) {
|
||||
if ((Object) this instanceof MultipartEntityOwner owner) {
|
||||
MultipartPartLevelRegistry.unregister(owner);
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-3
@@ -8,9 +8,7 @@ import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(Mob.class)
|
||||
/*
|
||||
* Stops mob AI movement while paralyzed.
|
||||
*/
|
||||
|
||||
public abstract class ParalyzedMobFreezeMixin {
|
||||
@Inject(method = "serverAiStep", at = @At("HEAD"))
|
||||
private void antarchy$freezeAiWhileParalyzed(CallbackInfo ci) {
|
||||
|
||||
+1
-6
@@ -12,12 +12,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Mixin(value = Amendment.class, remap = false)
|
||||
/*
|
||||
* Makes Antarchy's uranium/titanium ores and blocks much rarer in Infinite Dimensions'
|
||||
* procedural dimensions. This is done natively via Infinity's own amendment system rather
|
||||
* than relying on players editing infinity's config, keyed off the antarchy:infinity_dimension_rare_ores
|
||||
* block tag so the list stays data-driven and native to Antarchy.
|
||||
*/
|
||||
|
||||
public class AmendmentRareOresMixin {
|
||||
@Inject(method = "getAmendmentList", at = @At("RETURN"), remap = false)
|
||||
private static void antarchy$addRareOreAmendment(CallbackInfoReturnable<Map<ConfigType, List<Amendment>>> cir) {
|
||||
|
||||
-5
@@ -9,11 +9,6 @@ import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||
|
||||
@Mixin(value = ConfigGenInvocation.class, remap = false)
|
||||
/*
|
||||
* Guards against a NPE in Infinite Dimensions' SurfaceRuleScanner when another mod
|
||||
* registers a surface rule with a missing "biome_is" field. Without this, the crash
|
||||
* propagates up through PlayerList.placeNewPlayer and kicks the player on login
|
||||
*/
|
||||
public class ConfigGenInvocationMixin {
|
||||
|
||||
@Redirect(
|
||||
|
||||
-43
@@ -1,43 +0,0 @@
|
||||
package com.craisinlord.antarchy.forge.mixins.infinity;
|
||||
|
||||
import com.craisinlord.antarchy.config.AntarchySettings;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.entity.item.ItemEntity;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import net.lerariemann.infinity.util.teleport.PortalCreator;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
|
||||
@Mixin(value = PortalCreator.class, remap = false)
|
||||
/*
|
||||
* Blocks Infinity portal creation when the config says no
|
||||
*/
|
||||
public class PortalCreatorMixin {
|
||||
@Inject(
|
||||
method = "tryCreatePortalFromItem(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/entity/item/ItemEntity;)V",
|
||||
at = @At("HEAD"),
|
||||
cancellable = true,
|
||||
remap = false
|
||||
)
|
||||
private static void antarchy$blockInfinityBookActivation(ServerLevel level, BlockPos pos, ItemEntity itemEntity, CallbackInfo ci) {
|
||||
if (!AntarchySettings.disableInfinityBookPortalCreation()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (itemEntity.isRemoved()) {
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack stack = itemEntity.getItem();
|
||||
if (!stack.is(Items.WRITABLE_BOOK) && !stack.is(Items.WRITTEN_BOOK)) {
|
||||
return;
|
||||
}
|
||||
|
||||
ci.cancel();
|
||||
}
|
||||
}
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
package com.craisinlord.antarchy.forge.mixins.level;
|
||||
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
||||
import net.minecraft.client.multiplayer.ClientLevel;
|
||||
import net.minecraftforge.entity.PartEntity;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
|
||||
@Mixin(ClientLevel.class)
|
||||
/*
|
||||
* Accessor for client part-entity storage.
|
||||
*/
|
||||
public interface ClientLevelPartEntitiesAccessor {
|
||||
@Accessor("partEntities")
|
||||
Int2ObjectMap<PartEntity<?>> antarchy$getPartEntities();
|
||||
}
|
||||
-24
@@ -1,24 +0,0 @@
|
||||
package com.craisinlord.antarchy.forge.mixins.level;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import net.minecraft.core.RegistryAccess;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.world.level.storage.PrimaryLevelData;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
@Mixin(PrimaryLevelData.class)
|
||||
public abstract class LevelStemDiagnosticMixin {
|
||||
@Inject(method = "createTag", at = @At("HEAD"))
|
||||
private void antarchy$logLevelStems(RegistryAccess registryAccess, CompoundTag playerTag, CallbackInfoReturnable<CompoundTag> cir) {
|
||||
try {
|
||||
var registry = registryAccess.registryOrThrow(Registries.LEVEL_STEM);
|
||||
Antarchy.LOGGER.info("[Antarchy/Diagnostic] createTag LEVEL_STEM size={} keys={}", registry.size(), registry.keySet());
|
||||
} catch (Throwable t) {
|
||||
Antarchy.LOGGER.error("[Antarchy/Diagnostic] createTag LEVEL_STEM lookup failed", t);
|
||||
}
|
||||
}
|
||||
}
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
package com.craisinlord.antarchy.forge.mixins.level;
|
||||
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraftforge.entity.PartEntity;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
|
||||
@Mixin(ServerLevel.class)
|
||||
/*
|
||||
* Accessor for server part-entity storage.
|
||||
*/
|
||||
public interface ServerLevelPartEntitiesAccessor {
|
||||
@Accessor("dragonParts")
|
||||
Int2ObjectMap<PartEntity<?>> antarchy$getPartEntities();
|
||||
}
|
||||
+9
-67
@@ -1,81 +1,23 @@
|
||||
package com.craisinlord.antarchy.forge.network;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.compat.network.CustomPacketPayload;
|
||||
import com.craisinlord.antarchy.compat.network.StreamCodec;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Supplier;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import com.craisinlord.anthology.network.AnthologyNetwork;
|
||||
import com.craisinlord.anthology.network.CustomPacketPayload;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraftforge.network.NetworkDirection;
|
||||
import net.minecraftforge.network.NetworkEvent;
|
||||
import net.minecraftforge.network.NetworkRegistry;
|
||||
import net.minecraftforge.network.PacketDistributor;
|
||||
import net.minecraftforge.network.simple.SimpleChannel;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
|
||||
public final class AntarchyForgeNetworkCore {
|
||||
private static final String PROTOCOL_VERSION = "1";
|
||||
private static final SimpleChannel CHANNEL = NetworkRegistry.ChannelBuilder
|
||||
.named(new ResourceLocation(Antarchy.MODID, "main"))
|
||||
.networkProtocolVersion(() -> PROTOCOL_VERSION)
|
||||
.clientAcceptedVersions(PROTOCOL_VERSION::equals)
|
||||
.serverAcceptedVersions(PROTOCOL_VERSION::equals)
|
||||
.simpleChannel();
|
||||
|
||||
private static int nextId = 0;
|
||||
|
||||
private AntarchyForgeNetworkCore() {
|
||||
}
|
||||
|
||||
public static <T extends CustomPacketPayload> void registerS2C(Class<T> clazz, StreamCodec<ByteBuf, T> codec, java.util.function.Consumer<T> clientHandler) {
|
||||
CHANNEL.registerMessage(
|
||||
nextId++,
|
||||
clazz,
|
||||
(msg, buf) -> codec.encode(buf, msg),
|
||||
codec::decode,
|
||||
(msg, ctxSupplier) -> {
|
||||
NetworkEvent.Context ctx = ctxSupplier.get();
|
||||
ctx.enqueueWork(() -> clientHandler.accept(msg));
|
||||
ctx.setPacketHandled(true);
|
||||
},
|
||||
java.util.Optional.of(NetworkDirection.PLAY_TO_CLIENT)
|
||||
);
|
||||
public static void sendToPlayer(ServerPlayer player, CustomPacketPayload payload) {
|
||||
AnthologyNetwork.sendToPlayer(player, payload);
|
||||
}
|
||||
|
||||
public static <T extends CustomPacketPayload> void registerC2S(Class<T> clazz, StreamCodec<ByteBuf, T> codec, BiConsumer<ServerPlayer, T> serverHandler) {
|
||||
CHANNEL.registerMessage(
|
||||
nextId++,
|
||||
clazz,
|
||||
(msg, buf) -> codec.encode(buf, msg),
|
||||
codec::decode,
|
||||
(msg, ctxSupplier) -> {
|
||||
NetworkEvent.Context ctx = ctxSupplier.get();
|
||||
ServerPlayer player = ctx.getSender();
|
||||
ctx.enqueueWork(() -> {
|
||||
if (player != null) {
|
||||
serverHandler.accept(player, msg);
|
||||
}
|
||||
});
|
||||
ctx.setPacketHandled(true);
|
||||
},
|
||||
java.util.Optional.of(NetworkDirection.PLAY_TO_SERVER)
|
||||
);
|
||||
public static void sendToTrackingEntity(Entity entity, CustomPacketPayload payload) {
|
||||
AnthologyNetwork.sendToTrackingAndSelf(entity, payload);
|
||||
}
|
||||
|
||||
public static <T> void sendToPlayer(ServerPlayer player, T payload) {
|
||||
CHANNEL.send(PacketDistributor.PLAYER.with(() -> player), payload);
|
||||
}
|
||||
|
||||
public static <T> void sendToTracking(ServerPlayer player, T payload) {
|
||||
CHANNEL.send(PacketDistributor.TRACKING_ENTITY_AND_SELF.with(player::getVehicle), payload);
|
||||
}
|
||||
|
||||
public static <T> void sendToTrackingEntity(net.minecraft.world.entity.Entity entity, T payload) {
|
||||
CHANNEL.send(PacketDistributor.TRACKING_ENTITY_AND_SELF.with(() -> entity), payload);
|
||||
}
|
||||
|
||||
public static <T> void sendToServer(T payload) {
|
||||
CHANNEL.sendToServer(payload);
|
||||
public static void sendToServer(CustomPacketPayload payload) {
|
||||
AnthologyNetwork.sendToServer(payload);
|
||||
}
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.craisinlord.antarchy.forge.network;
|
||||
|
||||
import com.craisinlord.anthology.network.AnthologyNetwork;
|
||||
import com.craisinlord.anthology.network.CustomPacketPayload;
|
||||
import com.craisinlord.anthology.network.StreamCodec;
|
||||
import java.util.function.BiConsumer;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
|
||||
public final class AntarchyForgePayloadRegistrar {
|
||||
public <T extends CustomPacketPayload> AntarchyForgePayloadRegistrar playToServer(
|
||||
CustomPacketPayload.Type<T> type,
|
||||
StreamCodec<? super FriendlyByteBuf, T> codec,
|
||||
BiConsumer<T, AntarchyPayloadContext> handler
|
||||
) {
|
||||
AnthologyNetwork.registerServerbound(type, codec, (payload, player) -> handler.accept(payload, new AntarchyPayloadContext(player)));
|
||||
return this;
|
||||
}
|
||||
|
||||
public <T extends CustomPacketPayload> AntarchyForgePayloadRegistrar playToClient(
|
||||
CustomPacketPayload.Type<T> type,
|
||||
StreamCodec<? super FriendlyByteBuf, T> codec,
|
||||
BiConsumer<T, AntarchyPayloadContext> handler
|
||||
) {
|
||||
AnthologyNetwork.registerClientbound(type, codec, (payload, player) -> handler.accept(payload, new AntarchyPayloadContext(player)));
|
||||
return this;
|
||||
}
|
||||
}
|
||||
+165
-88
@@ -1,116 +1,193 @@
|
||||
package com.craisinlord.antarchy.forge.network;
|
||||
|
||||
import com.craisinlord.antarchy.content.entity.DiamondMinecartEntity;
|
||||
import com.craisinlord.antarchy.content.gravity.AntarchyGravityApi;
|
||||
import com.craisinlord.antarchy.content.item.BigBerthaItem;
|
||||
import com.craisinlord.antarchy.content.item.EyeOfTheStormItem;
|
||||
import com.craisinlord.antarchy.content.item.GravityGunItem;
|
||||
import com.craisinlord.antarchy.content.item.PortalGunItem;
|
||||
import com.craisinlord.antarchy.content.network.BigBerthaModeCyclePayload;
|
||||
import com.craisinlord.antarchy.content.network.DiamondMinecartInputPayload;
|
||||
import com.craisinlord.antarchy.content.network.RoyalGuardianSwordModeCyclePayload;
|
||||
import com.craisinlord.antarchy.content.network.EyeOfStormPrimaryPayload;
|
||||
import com.craisinlord.antarchy.content.network.GravityGunPrimaryPayload;
|
||||
import com.craisinlord.antarchy.content.network.GravityGunScrollPayload;
|
||||
import com.craisinlord.antarchy.content.network.GravityStatePayload;
|
||||
import com.craisinlord.antarchy.content.network.ImpactShakePayload;
|
||||
import com.craisinlord.antarchy.content.client.CameraShakeClientState;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import com.craisinlord.antarchy.content.network.TemporalTunerScrollPayload;
|
||||
import com.craisinlord.antarchy.content.item.TemporalTunerItem;
|
||||
import com.craisinlord.antarchy.content.network.PortalGunPrimaryPayload;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyPayloadContext;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgePayloadRegistrar;
|
||||
|
||||
public final class AntarchyGravityNetworking {
|
||||
private AntarchyGravityNetworking() {
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
AntarchyForgeNetworkCore.registerS2C(GravityStatePayload.class, GravityStatePayload.STREAM_CODEC, AntarchyGravityNetworking::handleGravityState);
|
||||
AntarchyForgeNetworkCore.registerS2C(ImpactShakePayload.class, ImpactShakePayload.STREAM_CODEC, AntarchyGravityNetworking::handleImpactShake);
|
||||
AntarchyForgeNetworkCore.registerC2S(GravityGunPrimaryPayload.class, GravityGunPrimaryPayload.STREAM_CODEC, AntarchyGravityNetworking::handleGravityGunPrimary);
|
||||
AntarchyForgeNetworkCore.registerC2S(GravityGunScrollPayload.class, GravityGunScrollPayload.STREAM_CODEC, AntarchyGravityNetworking::handleGravityGunScroll);
|
||||
AntarchyForgeNetworkCore.registerC2S(BigBerthaModeCyclePayload.class, BigBerthaModeCyclePayload.STREAM_CODEC, AntarchyGravityNetworking::handleBigBerthaModeCycle);
|
||||
AntarchyForgeNetworkCore.registerC2S(DiamondMinecartInputPayload.class, DiamondMinecartInputPayload.STREAM_CODEC, AntarchyGravityNetworking::handleDiamondMinecartInput);
|
||||
}
|
||||
|
||||
public static void syncToPlayer(ServerPlayer target, Entity entity) {
|
||||
GravityStatePayload payload = new GravityStatePayload(
|
||||
entity.getId(),
|
||||
AntarchyGravityApi.getGravityDirection(entity),
|
||||
AntarchyGravityApi.getPrevGravityDirection(entity),
|
||||
AntarchyGravityApi.isGravityForced(entity),
|
||||
AntarchyGravityApi.getTransitionDuration(entity),
|
||||
AntarchyGravityApi.getTransitionRemaining(entity)
|
||||
);
|
||||
AntarchyForgeNetworkCore.sendToPlayer(target, payload);
|
||||
}
|
||||
|
||||
public static void syncEntity(Entity entity) {
|
||||
GravityStatePayload payload = new GravityStatePayload(
|
||||
entity.getId(),
|
||||
AntarchyGravityApi.getGravityDirection(entity),
|
||||
AntarchyGravityApi.getPrevGravityDirection(entity),
|
||||
AntarchyGravityApi.isGravityForced(entity),
|
||||
AntarchyGravityApi.getTransitionDuration(entity),
|
||||
AntarchyGravityApi.getTransitionRemaining(entity)
|
||||
);
|
||||
AntarchyForgeNetworkCore.sendToTrackingEntity(entity, payload);
|
||||
}
|
||||
|
||||
private static void handleGravityState(GravityStatePayload payload) {
|
||||
var player = Minecraft.getInstance().player;
|
||||
if (player == null) {
|
||||
return;
|
||||
}
|
||||
Entity entity = player.level().getEntity(payload.entityId());
|
||||
if (entity == null && player.getId() == payload.entityId()) {
|
||||
entity = player;
|
||||
}
|
||||
if (entity == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
AntarchyGravityApi.applySyncedState(
|
||||
entity,
|
||||
payload.direction(),
|
||||
payload.previousDirection(),
|
||||
payload.forced(),
|
||||
payload.transitionDuration(),
|
||||
payload.transitionRemaining()
|
||||
public static void register(AntarchyForgePayloadRegistrar registrar) {
|
||||
com.craisinlord.antarchy.content.portalgun.PortalGunIndicatorSync.setSender(AntarchyForgeNetworkCore::sendToPlayer);
|
||||
registrar.playToClient(
|
||||
com.craisinlord.antarchy.content.network.PortalGunIndicatorPayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.PortalGunIndicatorPayload.STREAM_CODEC,
|
||||
(payload, context) -> context.enqueueWork(() -> com.craisinlord.antarchy.content.client.PortalGunIndicatorClientState.update(payload))
|
||||
).playToServer(
|
||||
com.craisinlord.antarchy.content.network.PortalGunIndicatorRequestPayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.PortalGunIndicatorRequestPayload.STREAM_CODEC,
|
||||
AntarchyGravityNetworking::handlePortalGunIndicatorRequest
|
||||
).playToServer(
|
||||
GravityGunPrimaryPayload.TYPE,
|
||||
GravityGunPrimaryPayload.STREAM_CODEC,
|
||||
AntarchyGravityNetworking::handleGravityGunPrimary
|
||||
).playToServer(
|
||||
PortalGunPrimaryPayload.TYPE,
|
||||
PortalGunPrimaryPayload.STREAM_CODEC,
|
||||
AntarchyGravityNetworking::handlePortalGunPrimary
|
||||
).playToServer(
|
||||
com.craisinlord.antarchy.content.network.PortalGunMoonAimPayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.PortalGunMoonAimPayload.STREAM_CODEC,
|
||||
(payload, context) -> context.enqueueWork(() -> {
|
||||
if (context.player() instanceof ServerPlayer serverPlayer) {
|
||||
com.craisinlord.antarchy.content.portalgun.PortalGunMoonAimSync.handle(serverPlayer, payload);
|
||||
}
|
||||
})
|
||||
).playToServer(
|
||||
com.craisinlord.antarchy.content.network.PortalGunResetPayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.PortalGunResetPayload.STREAM_CODEC,
|
||||
(payload, context) -> context.enqueueWork(() -> {
|
||||
if (context.player() instanceof ServerPlayer serverPlayer) {
|
||||
com.craisinlord.antarchy.content.portalgun.PortalGunResetManager.handleInput(serverPlayer, payload.action());
|
||||
}
|
||||
})
|
||||
).playToServer(
|
||||
EyeOfStormPrimaryPayload.TYPE,
|
||||
EyeOfStormPrimaryPayload.STREAM_CODEC,
|
||||
AntarchyGravityNetworking::handleEyeOfStormPrimary
|
||||
).playToServer(
|
||||
GravityGunScrollPayload.TYPE,
|
||||
GravityGunScrollPayload.STREAM_CODEC,
|
||||
AntarchyGravityNetworking::handleGravityGunScroll
|
||||
).playToServer(
|
||||
TemporalTunerScrollPayload.TYPE,
|
||||
TemporalTunerScrollPayload.STREAM_CODEC,
|
||||
AntarchyGravityNetworking::handleTemporalTunerScroll
|
||||
).playToServer(
|
||||
BigBerthaModeCyclePayload.TYPE,
|
||||
BigBerthaModeCyclePayload.STREAM_CODEC,
|
||||
AntarchyGravityNetworking::handleBigBerthaModeCycle
|
||||
).playToServer(
|
||||
RoyalGuardianSwordModeCyclePayload.TYPE,
|
||||
RoyalGuardianSwordModeCyclePayload.STREAM_CODEC,
|
||||
AntarchyGravityNetworking::handleRoyalGuardianSwordModeCycle
|
||||
).playToServer(
|
||||
com.craisinlord.antarchy.content.network.DiamondMinecartInputPayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.DiamondMinecartInputPayload.STREAM_CODEC,
|
||||
AntarchyGravityNetworking::handleDiamondMinecartInput
|
||||
);
|
||||
}
|
||||
|
||||
private static void handleImpactShake(ImpactShakePayload payload) {
|
||||
CameraShakeClientState.triggerImpact(
|
||||
new Vec3(payload.x(), payload.y(), payload.z()),
|
||||
payload.intensity(),
|
||||
payload.durationTicks(),
|
||||
payload.radius()
|
||||
);
|
||||
private static void handleGravityGunScroll(GravityGunScrollPayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (!(context.player() instanceof ServerPlayer serverPlayer)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(serverPlayer.getMainHandItem().getItem() instanceof GravityGunItem)) {
|
||||
return;
|
||||
}
|
||||
|
||||
GravityGunItem.adjustHeldDistance(serverPlayer.getMainHandItem(), payload.distanceDelta());
|
||||
});
|
||||
}
|
||||
|
||||
private static void handleGravityGunScroll(ServerPlayer serverPlayer, GravityGunScrollPayload payload) {
|
||||
if (!(serverPlayer.getMainHandItem().getItem() instanceof GravityGunItem)) {
|
||||
return;
|
||||
}
|
||||
|
||||
GravityGunItem.adjustHeldDistance(serverPlayer.getMainHandItem(), payload.distanceDelta());
|
||||
private static void handleDiamondMinecartInput(com.craisinlord.antarchy.content.network.DiamondMinecartInputPayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (!(context.player() instanceof ServerPlayer serverPlayer)) return;
|
||||
if (!(serverPlayer.getVehicle() instanceof DiamondMinecartEntity cart)) return;
|
||||
cart.onInputReceived(payload.inputFlags());
|
||||
});
|
||||
}
|
||||
|
||||
private static void handleDiamondMinecartInput(ServerPlayer serverPlayer, DiamondMinecartInputPayload payload) {
|
||||
if (!(serverPlayer.getVehicle() instanceof DiamondMinecartEntity cart)) return;
|
||||
cart.onInputReceived(payload.inputFlags());
|
||||
private static void handleBigBerthaModeCycle(BigBerthaModeCyclePayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (!(context.player() instanceof ServerPlayer serverPlayer)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(serverPlayer.getMainHandItem().getItem() instanceof BigBerthaItem bigBerthaItem)) {
|
||||
return;
|
||||
}
|
||||
|
||||
bigBerthaItem.tryCycleModeFromInput(serverPlayer.serverLevel(), serverPlayer, serverPlayer.getMainHandItem());
|
||||
});
|
||||
}
|
||||
|
||||
private static void handleBigBerthaModeCycle(ServerPlayer serverPlayer, BigBerthaModeCyclePayload payload) {
|
||||
if (!(serverPlayer.getMainHandItem().getItem() instanceof BigBerthaItem bigBerthaItem)) {
|
||||
return;
|
||||
}
|
||||
|
||||
bigBerthaItem.tryCycleModeWhileCoolingDown(serverPlayer.serverLevel(), serverPlayer, serverPlayer.getMainHandItem());
|
||||
private static void handleTemporalTunerScroll(TemporalTunerScrollPayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (context.player() instanceof ServerPlayer serverPlayer
|
||||
&& TemporalTunerItem.isAvailable(serverPlayer)) {
|
||||
TemporalTunerItem.adjust(serverPlayer, payload.delta());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static void handleGravityGunPrimary(ServerPlayer serverPlayer, GravityGunPrimaryPayload payload) {
|
||||
if (!(serverPlayer.getMainHandItem().getItem() instanceof GravityGunItem gravityGunItem)) {
|
||||
return;
|
||||
}
|
||||
private static void handleRoyalGuardianSwordModeCycle(RoyalGuardianSwordModeCyclePayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (!(context.player() instanceof ServerPlayer serverPlayer)
|
||||
|| !(serverPlayer.getMainHandItem().getItem() instanceof com.craisinlord.antarchy.content.item.RoyalGuardianSwordItem sword)) {
|
||||
return;
|
||||
}
|
||||
sword.tryCycleModeFromInput(serverPlayer.serverLevel(), serverPlayer, serverPlayer.getMainHandItem());
|
||||
});
|
||||
}
|
||||
|
||||
gravityGunItem.firePrimary(serverPlayer.serverLevel(), serverPlayer, serverPlayer.getMainHandItem());
|
||||
private static void handleGravityGunPrimary(GravityGunPrimaryPayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (!(context.player() instanceof ServerPlayer serverPlayer)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(serverPlayer.getMainHandItem().getItem() instanceof GravityGunItem gravityGunItem)) {
|
||||
return;
|
||||
}
|
||||
|
||||
gravityGunItem.firePrimary(serverPlayer.serverLevel(), serverPlayer, serverPlayer.getMainHandItem());
|
||||
});
|
||||
}
|
||||
|
||||
private static void handlePortalGunPrimary(PortalGunPrimaryPayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (!(context.player() instanceof ServerPlayer serverPlayer)) {
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack stack = payload.offhand() ? serverPlayer.getOffhandItem() : serverPlayer.getMainHandItem();
|
||||
if (!(stack.getItem() instanceof PortalGunItem portalGunItem)) {
|
||||
return;
|
||||
}
|
||||
|
||||
portalGunItem.firePrimary(serverPlayer.serverLevel(), serverPlayer, stack, payload.offhand());
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
private static void handlePortalGunIndicatorRequest(com.craisinlord.antarchy.content.network.PortalGunIndicatorRequestPayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (context.player() instanceof ServerPlayer serverPlayer) {
|
||||
com.craisinlord.antarchy.content.portalgun.PortalGunIndicatorSync.handleRequest(serverPlayer, payload);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static void handleEyeOfStormPrimary(EyeOfStormPrimaryPayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (!(context.player() instanceof ServerPlayer serverPlayer)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(serverPlayer.getMainHandItem().getItem() instanceof EyeOfTheStormItem eyeOfTheStormItem)) {
|
||||
return;
|
||||
}
|
||||
|
||||
eyeOfTheStormItem.firePrimary(serverPlayer.serverLevel(), serverPlayer, serverPlayer.getMainHandItem());
|
||||
});
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
package com.craisinlord.antarchy.forge.network;
|
||||
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
||||
public record AntarchyPayloadContext(Player player) {
|
||||
public void enqueueWork(Runnable work) {
|
||||
work.run();
|
||||
}
|
||||
}
|
||||
-31
@@ -1,31 +0,0 @@
|
||||
package com.craisinlord.antarchy.forge.network;
|
||||
|
||||
import com.craisinlord.antarchy.content.network.TimeDilationFieldsPayload;
|
||||
import com.craisinlord.antarchy.content.network.TimeDilationRatePayload;
|
||||
import com.craisinlord.antarchy.content.time.TimeDilationFieldSnapshot;
|
||||
import java.util.List;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
|
||||
public final class AntarchyTimeDilationNetworking {
|
||||
private AntarchyTimeDilationNetworking() {}
|
||||
|
||||
public static void register() {
|
||||
AntarchyForgeNetworkCore.registerS2C(TimeDilationRatePayload.class, TimeDilationRatePayload.STREAM_CODEC,
|
||||
payload -> com.craisinlord.antarchy.content.time.TimeDilationApi.applySyncedRate(payload.entityUuid(), payload.rate()));
|
||||
AntarchyForgeNetworkCore.registerS2C(TimeDilationFieldsPayload.class, TimeDilationFieldsPayload.STREAM_CODEC,
|
||||
payload -> com.craisinlord.antarchy.content.client.ClientTimeDilationTicker.applyFields(payload.fields()));
|
||||
}
|
||||
|
||||
public static void syncRate(Entity entity, double rate) {
|
||||
AntarchyForgeNetworkCore.sendToTrackingEntity(entity, new TimeDilationRatePayload(entity.getUUID(), rate));
|
||||
}
|
||||
|
||||
public static void syncRateToPlayer(ServerPlayer player, Entity entity, double rate) {
|
||||
AntarchyForgeNetworkCore.sendToPlayer(player, new TimeDilationRatePayload(entity.getUUID(), rate));
|
||||
}
|
||||
|
||||
public static void syncFields(ServerPlayer player, List<TimeDilationFieldSnapshot> fields) {
|
||||
AntarchyForgeNetworkCore.sendToPlayer(player, new TimeDilationFieldsPayload(fields));
|
||||
}
|
||||
}
|
||||
+67
-51
@@ -12,67 +12,83 @@ import net.minecraft.sounds.SoundSource;
|
||||
import net.minecraft.world.entity.EquipmentSlot;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyPayloadContext;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgePayloadRegistrar;
|
||||
|
||||
public final class BrutalflyElytraNetworking {
|
||||
private BrutalflyElytraNetworking() {
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
AntarchyForgeNetworkCore.registerC2S(BrutalflyElytraFlapPayload.class, BrutalflyElytraFlapPayload.STREAM_CODEC, BrutalflyElytraNetworking::handleFlap);
|
||||
AntarchyForgeNetworkCore.registerS2C(BrutalflyElytraAnimationPayload.class, BrutalflyElytraAnimationPayload.STREAM_CODEC, BrutalflyElytraNetworking::handleAnimation);
|
||||
}
|
||||
|
||||
private static void handleFlap(ServerPlayer serverPlayer, BrutalflyElytraFlapPayload payload) {
|
||||
ItemStack chestStack = serverPlayer.getItemBySlot(EquipmentSlot.CHEST);
|
||||
if (!(chestStack.getItem() instanceof BrutalflyElytraItem)) {
|
||||
return;
|
||||
}
|
||||
if (serverPlayer.isSpectator() || !serverPlayer.isFallFlying() || serverPlayer.isPassenger()) {
|
||||
return;
|
||||
}
|
||||
if (serverPlayer.getCooldowns().isOnCooldown(chestStack.getItem())) {
|
||||
return;
|
||||
}
|
||||
|
||||
BrutalflyElytraFlightHelper.FlapTier tier = BrutalflyElytraFlightHelper.resolveFlapTier(payload.chargeTicks());
|
||||
if (tier == BrutalflyElytraFlightHelper.FlapTier.FAIL) {
|
||||
return;
|
||||
}
|
||||
|
||||
float lift = BrutalflyElytraFlightHelper.liftFor(tier);
|
||||
float forwardBoost = BrutalflyElytraFlightHelper.forwardBoostFor(tier);
|
||||
Vec3 look = serverPlayer.getLookAngle();
|
||||
Vec3 boost = new Vec3(look.x * forwardBoost, lift, look.z * forwardBoost);
|
||||
serverPlayer.setDeltaMovement(serverPlayer.getDeltaMovement().add(boost));
|
||||
serverPlayer.hasImpulse = true;
|
||||
serverPlayer.hurtMarked = true;
|
||||
serverPlayer.resetFallDistance();
|
||||
serverPlayer.connection.send(new ClientboundSetEntityMotionPacket(serverPlayer));
|
||||
chestStack.hurtAndBreak(1, serverPlayer, p -> p.broadcastBreakEvent(EquipmentSlot.CHEST));
|
||||
serverPlayer.getCooldowns().addCooldown(chestStack.getItem(), BrutalflyElytraFlightHelper.FLAP_COOLDOWN_TICKS);
|
||||
serverPlayer.level().playSound(
|
||||
null,
|
||||
serverPlayer.blockPosition(),
|
||||
SoundEvents.PHANTOM_FLAP,
|
||||
SoundSource.PLAYERS,
|
||||
0.9F,
|
||||
tier == BrutalflyElytraFlightHelper.FlapTier.PERFECT ? 0.8F : tier == BrutalflyElytraFlightHelper.FlapTier.GOOD ? 0.95F : 1.1F
|
||||
);
|
||||
AntarchyForgeNetworkCore.sendToTrackingEntity(
|
||||
serverPlayer,
|
||||
new BrutalflyElytraAnimationPayload(
|
||||
serverPlayer.getId(),
|
||||
BrutalflyElytraFlightHelper.animationTicksFor(tier),
|
||||
lift
|
||||
)
|
||||
public static void register(AntarchyForgePayloadRegistrar registrar) {
|
||||
registrar.playToServer(
|
||||
BrutalflyElytraFlapPayload.TYPE,
|
||||
BrutalflyElytraFlapPayload.STREAM_CODEC,
|
||||
BrutalflyElytraNetworking::handleFlap
|
||||
).playToClient(
|
||||
BrutalflyElytraAnimationPayload.TYPE,
|
||||
BrutalflyElytraAnimationPayload.STREAM_CODEC,
|
||||
BrutalflyElytraNetworking::handleAnimation
|
||||
);
|
||||
}
|
||||
|
||||
private static void handleAnimation(BrutalflyElytraAnimationPayload payload) {
|
||||
BrutalflyElytraClientState.trigger(
|
||||
private static void handleFlap(com.craisinlord.antarchy.content.network.BrutalflyElytraFlapPayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (!(context.player() instanceof ServerPlayer serverPlayer)) {
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack chestStack = serverPlayer.getItemBySlot(EquipmentSlot.CHEST);
|
||||
if (!(chestStack.getItem() instanceof BrutalflyElytraItem)) {
|
||||
return;
|
||||
}
|
||||
if (serverPlayer.isSpectator() || !serverPlayer.isFallFlying() || serverPlayer.isPassenger()) {
|
||||
return;
|
||||
}
|
||||
if (serverPlayer.getCooldowns().isOnCooldown(chestStack.getItem())) {
|
||||
return;
|
||||
}
|
||||
|
||||
BrutalflyElytraFlightHelper.FlapTier tier = BrutalflyElytraFlightHelper.resolveFlapTier(payload.chargeTicks());
|
||||
if (tier == BrutalflyElytraFlightHelper.FlapTier.FAIL) {
|
||||
return;
|
||||
}
|
||||
|
||||
float lift = BrutalflyElytraFlightHelper.liftFor(tier);
|
||||
float forwardBoost = BrutalflyElytraFlightHelper.forwardBoostFor(tier);
|
||||
Vec3 look = serverPlayer.getLookAngle();
|
||||
Vec3 boost = new Vec3(look.x * forwardBoost, lift, look.z * forwardBoost);
|
||||
serverPlayer.setDeltaMovement(serverPlayer.getDeltaMovement().add(boost));
|
||||
serverPlayer.hasImpulse = true;
|
||||
serverPlayer.hurtMarked = true;
|
||||
serverPlayer.resetFallDistance();
|
||||
serverPlayer.connection.send(new ClientboundSetEntityMotionPacket(serverPlayer));
|
||||
chestStack.hurtAndBreak(1, serverPlayer, player -> player.broadcastBreakEvent(EquipmentSlot.CHEST));
|
||||
serverPlayer.getCooldowns().addCooldown(chestStack.getItem(), BrutalflyElytraFlightHelper.FLAP_COOLDOWN_TICKS);
|
||||
serverPlayer.level().playSound(
|
||||
null,
|
||||
serverPlayer.blockPosition(),
|
||||
SoundEvents.PHANTOM_FLAP,
|
||||
SoundSource.PLAYERS,
|
||||
0.9F,
|
||||
tier == BrutalflyElytraFlightHelper.FlapTier.PERFECT ? 0.8F : tier == BrutalflyElytraFlightHelper.FlapTier.GOOD ? 0.95F : 1.1F
|
||||
);
|
||||
AntarchyForgeNetworkCore.sendToTrackingEntity(
|
||||
serverPlayer,
|
||||
new BrutalflyElytraAnimationPayload(
|
||||
serverPlayer.getId(),
|
||||
BrutalflyElytraFlightHelper.animationTicksFor(tier),
|
||||
lift
|
||||
)
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
private static void handleAnimation(BrutalflyElytraAnimationPayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> BrutalflyElytraClientState.trigger(
|
||||
payload.entityId(),
|
||||
payload.durationTicks(),
|
||||
payload.strength()
|
||||
);
|
||||
));
|
||||
}
|
||||
}
|
||||
+29
-13
@@ -4,26 +4,42 @@ import com.craisinlord.antarchy.content.entity.DorrieEntity;
|
||||
import com.craisinlord.antarchy.content.network.DorrieChargeJumpPayload;
|
||||
import com.craisinlord.antarchy.content.network.DorrieJumpInputPayload;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyPayloadContext;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgePayloadRegistrar;
|
||||
|
||||
public final class DorrieJumpNetworking {
|
||||
private DorrieJumpNetworking() {}
|
||||
|
||||
public static void register() {
|
||||
AntarchyForgeNetworkCore.registerC2S(DorrieJumpInputPayload.class, DorrieJumpInputPayload.STREAM_CODEC, DorrieJumpNetworking::handleJumpInput);
|
||||
AntarchyForgeNetworkCore.registerC2S(DorrieChargeJumpPayload.class, DorrieChargeJumpPayload.STREAM_CODEC, DorrieJumpNetworking::handleChargeInput);
|
||||
public static void register(AntarchyForgePayloadRegistrar registrar) {
|
||||
registrar.playToServer(
|
||||
DorrieJumpInputPayload.TYPE,
|
||||
DorrieJumpInputPayload.STREAM_CODEC,
|
||||
DorrieJumpNetworking::handleJumpInput
|
||||
);
|
||||
registrar.playToServer(
|
||||
DorrieChargeJumpPayload.TYPE,
|
||||
DorrieChargeJumpPayload.STREAM_CODEC,
|
||||
DorrieJumpNetworking::handleChargeInput
|
||||
);
|
||||
}
|
||||
|
||||
private static void handleJumpInput(ServerPlayer player, DorrieJumpInputPayload payload) {
|
||||
if (!(player.getVehicle() instanceof DorrieEntity dorrie)) return;
|
||||
dorrie.setPressingJump(payload.pressing());
|
||||
private static void handleJumpInput(DorrieJumpInputPayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (!(context.player() instanceof ServerPlayer player)) return;
|
||||
if (!(player.getVehicle() instanceof DorrieEntity dorrie)) return;
|
||||
dorrie.setPressingJump(payload.pressing());
|
||||
});
|
||||
}
|
||||
|
||||
private static void handleChargeInput(ServerPlayer player, DorrieChargeJumpPayload payload) {
|
||||
if (!(player.getVehicle() instanceof DorrieEntity dorrie)) return;
|
||||
if (payload.pressing()) {
|
||||
dorrie.startJumpCharge();
|
||||
} else {
|
||||
dorrie.releaseJump();
|
||||
}
|
||||
private static void handleChargeInput(DorrieChargeJumpPayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (!(context.player() instanceof ServerPlayer player)) return;
|
||||
if (!(player.getVehicle() instanceof DorrieEntity dorrie)) return;
|
||||
if (payload.pressing()) {
|
||||
dorrie.startJumpCharge();
|
||||
} else {
|
||||
dorrie.releaseJump();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
+71
-33
@@ -8,48 +8,86 @@ import com.craisinlord.antarchy.content.network.HerculesBeetleJumpInputPayload;
|
||||
import com.craisinlord.antarchy.content.network.HerculesBeetleMountedAttackPayload;
|
||||
import com.craisinlord.antarchy.content.network.HerculesBeetleMountedChargePayload;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyPayloadContext;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgePayloadRegistrar;
|
||||
|
||||
public final class HerculesBeetleNetworking {
|
||||
private HerculesBeetleNetworking() {
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
AntarchyForgeNetworkCore.registerC2S(HerculesBeetleJumpInputPayload.class, HerculesBeetleJumpInputPayload.STREAM_CODEC, HerculesBeetleNetworking::handleJumpInput);
|
||||
AntarchyForgeNetworkCore.registerC2S(HerculesBeetleFlightTogglePayload.class, HerculesBeetleFlightTogglePayload.STREAM_CODEC, HerculesBeetleNetworking::handleFlightToggle);
|
||||
AntarchyForgeNetworkCore.registerC2S(HerculesBeetleMountedAttackPayload.class, HerculesBeetleMountedAttackPayload.STREAM_CODEC, HerculesBeetleNetworking::handleMountedAttack);
|
||||
AntarchyForgeNetworkCore.registerC2S(HerculesBeetleMountedChargePayload.class, HerculesBeetleMountedChargePayload.STREAM_CODEC, HerculesBeetleNetworking::handleMountedCharge);
|
||||
AntarchyForgeNetworkCore.registerS2C(HerculesBeetleImpactShakePayload.class, HerculesBeetleImpactShakePayload.STREAM_CODEC, HerculesBeetleNetworking::handleImpactShake);
|
||||
public static void register(AntarchyForgePayloadRegistrar registrar) {
|
||||
registrar.playToServer(
|
||||
HerculesBeetleJumpInputPayload.TYPE,
|
||||
HerculesBeetleJumpInputPayload.STREAM_CODEC,
|
||||
HerculesBeetleNetworking::handleJumpInput
|
||||
).playToServer(
|
||||
HerculesBeetleFlightTogglePayload.TYPE,
|
||||
HerculesBeetleFlightTogglePayload.STREAM_CODEC,
|
||||
HerculesBeetleNetworking::handleFlightToggle
|
||||
).playToServer(
|
||||
HerculesBeetleMountedAttackPayload.TYPE,
|
||||
HerculesBeetleMountedAttackPayload.STREAM_CODEC,
|
||||
HerculesBeetleNetworking::handleMountedAttack
|
||||
).playToServer(
|
||||
HerculesBeetleMountedChargePayload.TYPE,
|
||||
HerculesBeetleMountedChargePayload.STREAM_CODEC,
|
||||
HerculesBeetleNetworking::handleMountedCharge
|
||||
).playToClient(
|
||||
HerculesBeetleImpactShakePayload.TYPE,
|
||||
HerculesBeetleImpactShakePayload.STREAM_CODEC,
|
||||
HerculesBeetleNetworking::handleImpactShake
|
||||
);
|
||||
}
|
||||
|
||||
private static void handleJumpInput(ServerPlayer player, HerculesBeetleJumpInputPayload payload) {
|
||||
if (player.getVehicle() instanceof HerculesBeetleEntity beetle) {
|
||||
beetle.setRiderJumpPressed(payload.pressing());
|
||||
}
|
||||
}
|
||||
|
||||
private static void handleMountedAttack(ServerPlayer player, HerculesBeetleMountedAttackPayload payload) {
|
||||
if (player.getVehicle() instanceof HerculesBeetleEntity beetle) {
|
||||
beetle.handleMountedRegularAttack(player);
|
||||
}
|
||||
}
|
||||
|
||||
private static void handleFlightToggle(ServerPlayer player, HerculesBeetleFlightTogglePayload payload) {
|
||||
if (player.getVehicle() instanceof HerculesBeetleEntity beetle) {
|
||||
beetle.toggleMountedFlight(player);
|
||||
}
|
||||
}
|
||||
|
||||
private static void handleMountedCharge(ServerPlayer player, HerculesBeetleMountedChargePayload payload) {
|
||||
if (player.getVehicle() instanceof HerculesBeetleEntity beetle) {
|
||||
if (payload.pressing()) {
|
||||
beetle.startMountedCharge(player);
|
||||
} else {
|
||||
beetle.releaseMountedCharge(player);
|
||||
private static void handleJumpInput(HerculesBeetleJumpInputPayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (!(context.player() instanceof ServerPlayer player)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (player.getVehicle() instanceof HerculesBeetleEntity beetle) {
|
||||
beetle.setRiderJumpPressed(payload.pressing());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static void handleImpactShake(HerculesBeetleImpactShakePayload payload) {
|
||||
HerculesBeetleImpactShakeClientState.trigger(payload.durationTicks());
|
||||
private static void handleMountedAttack(HerculesBeetleMountedAttackPayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (!(context.player() instanceof ServerPlayer player)) {
|
||||
return;
|
||||
}
|
||||
if (player.getVehicle() instanceof HerculesBeetleEntity beetle) {
|
||||
beetle.handleMountedRegularAttack(player);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static void handleFlightToggle(HerculesBeetleFlightTogglePayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (!(context.player() instanceof ServerPlayer player)) {
|
||||
return;
|
||||
}
|
||||
if (player.getVehicle() instanceof HerculesBeetleEntity beetle) {
|
||||
beetle.toggleMountedFlight(player);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static void handleMountedCharge(HerculesBeetleMountedChargePayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (!(context.player() instanceof ServerPlayer player)) {
|
||||
return;
|
||||
}
|
||||
if (player.getVehicle() instanceof HerculesBeetleEntity beetle) {
|
||||
if (payload.pressing()) {
|
||||
beetle.startMountedCharge(player);
|
||||
} else {
|
||||
beetle.releaseMountedCharge(player);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static void handleImpactShake(HerculesBeetleImpactShakePayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> HerculesBeetleImpactShakeClientState.trigger(payload.durationTicks()));
|
||||
}
|
||||
}
|
||||
-78
@@ -1,78 +0,0 @@
|
||||
package com.craisinlord.antarchy.forge.network;
|
||||
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner;
|
||||
import com.craisinlord.antarchy.content.entity.multipart.network.MultipartAttackPayload;
|
||||
import com.craisinlord.antarchy.content.entity.multipart.network.MultipartInteractPayload;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.damagesource.DamageSource;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
public final class MultipartNetworking {
|
||||
private MultipartNetworking() {
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
AntarchyForgeNetworkCore.registerC2S(MultipartAttackPayload.class, MultipartAttackPayload.STREAM_CODEC, MultipartNetworking::handleAttack);
|
||||
AntarchyForgeNetworkCore.registerC2S(MultipartInteractPayload.class, MultipartInteractPayload.STREAM_CODEC, MultipartNetworking::handleInteract);
|
||||
}
|
||||
|
||||
private static void handleAttack(ServerPlayer serverPlayer, MultipartAttackPayload payload) {
|
||||
{
|
||||
Entity entity = serverPlayer.serverLevel().getEntity(payload.parentId());
|
||||
if (!(entity instanceof MultipartEntityOwner owner)) {
|
||||
return;
|
||||
}
|
||||
|
||||
Entity[] parts = owner.antarchy$getMultipartParts();
|
||||
if (parts == null) {
|
||||
parts = owner.antarchy$createMultipartParts();
|
||||
owner.antarchy$setMultipartParts(parts);
|
||||
owner.antarchy$syncMultipartParts();
|
||||
}
|
||||
|
||||
if (payload.partIndex() < 0 || payload.partIndex() >= parts.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
Entity part = parts[payload.partIndex()];
|
||||
if (part == null || part.isRemoved()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (serverPlayer.distanceToSqr(part) > 10000.0D) {
|
||||
return;
|
||||
}
|
||||
|
||||
DamageSource source = serverPlayer.level().damageSources().playerAttack(serverPlayer);
|
||||
owner.antarchy$hurtMultipartPart(part, source, payload.damage());
|
||||
}
|
||||
}
|
||||
|
||||
private static void handleInteract(ServerPlayer serverPlayer, MultipartInteractPayload payload) {
|
||||
{
|
||||
Entity entity = serverPlayer.serverLevel().getEntity(payload.parentId());
|
||||
if (!(entity instanceof MultipartEntityOwner owner)) {
|
||||
return;
|
||||
}
|
||||
|
||||
Entity[] parts = owner.antarchy$getMultipartParts();
|
||||
if (parts == null) {
|
||||
parts = owner.antarchy$createMultipartParts();
|
||||
owner.antarchy$setMultipartParts(parts);
|
||||
owner.antarchy$syncMultipartParts();
|
||||
}
|
||||
|
||||
if (payload.partIndex() < 0 || payload.partIndex() >= parts.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
Entity part = parts[payload.partIndex()];
|
||||
if (part == null || part.isRemoved()) {
|
||||
return;
|
||||
}
|
||||
|
||||
InteractionHand hand = payload.handId() == 0 ? InteractionHand.MAIN_HAND : InteractionHand.OFF_HAND;
|
||||
owner.antarchy$interactMultipartPart(part, serverPlayer, part.position(), hand);
|
||||
}
|
||||
}
|
||||
}
|
||||
+28
-22
@@ -1,11 +1,9 @@
|
||||
package com.craisinlord.antarchy.forge.network;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.item.JumpyBootsHelper;
|
||||
import com.craisinlord.antarchy.content.item.JumpyBootsItem;
|
||||
import com.craisinlord.antarchy.content.network.JumpyBootsLaunchPayload;
|
||||
import com.craisinlord.antarchy.content.item.SpringyBootsHelper;
|
||||
import com.craisinlord.antarchy.content.item.SpringyBootsItem;
|
||||
import com.craisinlord.antarchy.content.network.SpringyBootsLaunchPayload;
|
||||
import net.minecraft.network.protocol.game.ClientboundSetEntityMotionPacket;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.sounds.SoundEvents;
|
||||
@@ -14,29 +12,37 @@ import net.minecraft.world.entity.EquipmentSlot;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.entity.living.LivingFallEvent;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyPayloadContext;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgePayloadRegistrar;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID)
|
||||
public final class JumpyBootsNetworking {
|
||||
private JumpyBootsNetworking() {
|
||||
public final class SpringyBootsNetworking {
|
||||
private SpringyBootsNetworking() {
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
AntarchyForgeNetworkCore.registerC2S(JumpyBootsLaunchPayload.class, JumpyBootsLaunchPayload.STREAM_CODEC, JumpyBootsNetworking::handleLaunch);
|
||||
public static void register(AntarchyForgePayloadRegistrar registrar) {
|
||||
registrar.playToServer(
|
||||
SpringyBootsLaunchPayload.TYPE,
|
||||
SpringyBootsLaunchPayload.STREAM_CODEC,
|
||||
SpringyBootsNetworking::handleLaunch
|
||||
);
|
||||
}
|
||||
|
||||
private static void handleLaunch(ServerPlayer player, JumpyBootsLaunchPayload payload) {
|
||||
{
|
||||
if (!JumpyBootsItem.isWearingJumpyBoots(player)) return;
|
||||
private static void handleLaunch(SpringyBootsLaunchPayload payload, AntarchyPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (!(context.player() instanceof ServerPlayer player)) return;
|
||||
if (!SpringyBootsItem.isWearingSpringyBoots(player)) return;
|
||||
if (player.isSpectator() || player.isPassenger()) return;
|
||||
|
||||
ItemStack boots = player.getItemBySlot(EquipmentSlot.FEET);
|
||||
if (player.getCooldowns().isOnCooldown(boots.getItem())) return;
|
||||
|
||||
int clampedCharge = Math.min(payload.chargeTicks(), JumpyBootsHelper.CHARGE_TICKS_MAX);
|
||||
int clampedCharge = Math.min(payload.chargeTicks(), SpringyBootsHelper.CHARGE_TICKS_MAX);
|
||||
if (clampedCharge <= 0) return;
|
||||
|
||||
float verticalBoost = JumpyBootsHelper.verticalBoostFor(clampedCharge);
|
||||
float verticalBoost = SpringyBootsHelper.verticalBoostFor(clampedCharge);
|
||||
Vec3 current = player.getDeltaMovement();
|
||||
|
||||
double newY = verticalBoost;
|
||||
@@ -45,8 +51,8 @@ public final class JumpyBootsNetworking {
|
||||
|
||||
if (payload.sprinting()) {
|
||||
Vec3 look = player.getLookAngle();
|
||||
newX += look.x * JumpyBootsHelper.SPRINT_FORWARD_BOOST;
|
||||
newZ += look.z * JumpyBootsHelper.SPRINT_FORWARD_BOOST;
|
||||
newX += look.x * SpringyBootsHelper.SPRINT_FORWARD_BOOST;
|
||||
newZ += look.z * SpringyBootsHelper.SPRINT_FORWARD_BOOST;
|
||||
}
|
||||
|
||||
player.setDeltaMovement(newX, newY, newZ);
|
||||
@@ -56,19 +62,19 @@ public final class JumpyBootsNetworking {
|
||||
player.resetFallDistance();
|
||||
player.connection.send(new ClientboundSetEntityMotionPacket(player));
|
||||
|
||||
player.level().playSound(null, player.blockPosition(), SoundEvents.SLIME_JUMP, SoundSource.PLAYERS, 1.0F, 0.6F + (clampedCharge / (float) JumpyBootsHelper.CHARGE_TICKS_MAX) * 0.6F);
|
||||
player.level().playSound(null, player.blockPosition(), SoundEvents.SLIME_JUMP, SoundSource.PLAYERS, 1.0F, 0.6F + (clampedCharge / (float) SpringyBootsHelper.CHARGE_TICKS_MAX) * 0.6F);
|
||||
|
||||
player.getPersistentData().putLong(JumpyBootsHelper.FALL_PROTECTION_NBT_KEY, player.level().getGameTime() + JumpyBootsHelper.FALL_PROTECTION_TICKS);
|
||||
player.getPersistentData().putLong(SpringyBootsHelper.FALL_PROTECTION_NBT_KEY, player.level().getGameTime() + SpringyBootsHelper.FALL_PROTECTION_TICKS);
|
||||
|
||||
player.getCooldowns().addCooldown(boots.getItem(), JumpyBootsHelper.COOLDOWN_TICKS);
|
||||
}
|
||||
player.getCooldowns().addCooldown(boots.getItem(), SpringyBootsHelper.COOLDOWN_TICKS);
|
||||
});
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onLivingFall(LivingFallEvent event) {
|
||||
if (!(event.getEntity() instanceof ServerPlayer player)) return;
|
||||
if (!JumpyBootsItem.isWearingJumpyBoots(player)) return;
|
||||
long protectionUntil = player.getPersistentData().getLong(JumpyBootsHelper.FALL_PROTECTION_NBT_KEY);
|
||||
if (!SpringyBootsItem.isWearingSpringyBoots(player)) return;
|
||||
long protectionUntil = player.getPersistentData().getLong(SpringyBootsHelper.FALL_PROTECTION_NBT_KEY);
|
||||
if (player.level().getGameTime() < protectionUntil) {
|
||||
event.setDamageMultiplier(event.getDamageMultiplier() * 0.25F);
|
||||
}
|
||||
-59
@@ -1,59 +0,0 @@
|
||||
package com.craisinlord.antarchy.forge.network;
|
||||
|
||||
import com.craisinlord.antarchy.content.client.ThoraxisWeatherClientState;
|
||||
import com.craisinlord.antarchy.content.weather.ThoraxisWeatherKind;
|
||||
import com.craisinlord.antarchy.content.weather.ThoraxisWeatherSnapshot;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
|
||||
public final class ThoraxisWeatherNetworking {
|
||||
private ThoraxisWeatherNetworking() {
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
AntarchyForgeNetworkCore.registerS2C(
|
||||
com.craisinlord.antarchy.content.network.ThoraxisWeatherPayload.class,
|
||||
com.craisinlord.antarchy.content.network.ThoraxisWeatherPayload.STREAM_CODEC,
|
||||
ThoraxisWeatherNetworking::handleWeatherPayload
|
||||
);
|
||||
}
|
||||
|
||||
public static void syncLevel(ServerLevel level, ThoraxisWeatherSnapshot snapshot) {
|
||||
com.craisinlord.antarchy.content.network.ThoraxisWeatherPayload payload = new com.craisinlord.antarchy.content.network.ThoraxisWeatherPayload(
|
||||
snapshot.dimension(),
|
||||
snapshot.kind(),
|
||||
snapshot.expiresAt(),
|
||||
snapshot.anchor().getX(),
|
||||
snapshot.anchor().getY(),
|
||||
snapshot.anchor().getZ()
|
||||
);
|
||||
|
||||
for (ServerPlayer player : level.players()) {
|
||||
AntarchyForgeNetworkCore.sendToPlayer(player, payload);
|
||||
}
|
||||
}
|
||||
|
||||
public static void syncPlayer(ServerPlayer player, ThoraxisWeatherSnapshot snapshot) {
|
||||
com.craisinlord.antarchy.content.network.ThoraxisWeatherPayload payload = new com.craisinlord.antarchy.content.network.ThoraxisWeatherPayload(
|
||||
snapshot.dimension(),
|
||||
snapshot.kind(),
|
||||
snapshot.expiresAt(),
|
||||
snapshot.anchor().getX(),
|
||||
snapshot.anchor().getY(),
|
||||
snapshot.anchor().getZ()
|
||||
);
|
||||
AntarchyForgeNetworkCore.sendToPlayer(player, payload);
|
||||
}
|
||||
|
||||
private static void handleWeatherPayload(com.craisinlord.antarchy.content.network.ThoraxisWeatherPayload payload) {
|
||||
ThoraxisWeatherClientState.apply(
|
||||
new ResourceLocation(payload.dimensionId()),
|
||||
ThoraxisWeatherKind.byId(payload.weatherId()),
|
||||
payload.expiresAt(),
|
||||
payload.anchorX(),
|
||||
payload.anchorY(),
|
||||
payload.anchorZ()
|
||||
);
|
||||
}
|
||||
}
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
package com.craisinlord.antarchy.forge.network;
|
||||
|
||||
import com.craisinlord.antarchy.content.item.TigerEyeArmorUtil;
|
||||
import com.craisinlord.antarchy.content.network.TigerEyeCamouflageStatePayload;
|
||||
import com.craisinlord.antarchy.content.network.ToggleTigerEyeCamouflagePayload;
|
||||
import com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageController;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
|
||||
public final class TigerEyeNetworking {
|
||||
private TigerEyeNetworking() {
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
AntarchyForgeNetworkCore.registerS2C(TigerEyeCamouflageStatePayload.class, TigerEyeCamouflageStatePayload.STREAM_CODEC, payload ->
|
||||
com.craisinlord.antarchy.content.client.TigerEyeCamouflageClientState.update(payload.entityId(), payload.active(), payload.blockStateId()));
|
||||
AntarchyForgeNetworkCore.registerC2S(ToggleTigerEyeCamouflagePayload.class, ToggleTigerEyeCamouflagePayload.STREAM_CODEC, (player, payload) -> handleToggle(player));
|
||||
}
|
||||
|
||||
private static void handleToggle(ServerPlayer player) {
|
||||
TigerEyeCamouflageController.ToggleResult result = TigerEyeCamouflageController.toggle(player);
|
||||
if (result != TigerEyeCamouflageController.ToggleResult.NO_CHANGE) {
|
||||
AntarchyForgeNetworkCore.sendToTrackingEntity(player,
|
||||
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.payload(player));
|
||||
}
|
||||
String messageKey = switch (result) {
|
||||
case ACTIVATED -> "message.antarchy.tiger_eye_camouflage.activated";
|
||||
case DEACTIVATED -> "message.antarchy.tiger_eye_camouflage.disabled";
|
||||
case FULL_SET_REQUIRED -> TigerEyeArmorUtil.countEquippedPieces(player) > 0
|
||||
? "message.antarchy.tiger_eye_camouflage.full_set_required"
|
||||
: null;
|
||||
case INVALID_BLOCK -> "message.antarchy.tiger_eye_camouflage.invalid_block";
|
||||
case NO_CHANGE -> null;
|
||||
};
|
||||
if (messageKey != null) {
|
||||
player.displayClientMessage(Component.translatable(messageKey), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
+393
-64
@@ -6,26 +6,32 @@ import com.craisinlord.antarchy.content.AntarchyObjects;
|
||||
import com.craisinlord.antarchy.content.block.*;
|
||||
import com.craisinlord.antarchy.content.block.entity.AntNestBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.CritterCageBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.DimensionalTearMarkerBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.DreamCampfireBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.HushweedBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.LucidAnchorBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.PortalGunPortalBaseBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.PortalGunPortalMasterBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.PotentNyxiteBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.QueenTrailSpawnMarkerBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.SeashellBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.UpperBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.WaspNestBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.UndertrialSpawnerBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.UnderVaultBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.QueenTrailSpawnMarkerBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.VortexLensBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.WaspNestBlockEntity;
|
||||
import com.craisinlord.antarchy.content.fluid.BileLiquidBlock;
|
||||
import com.craisinlord.antarchy.content.fluid.LumenLiquidBlock;
|
||||
import com.craisinlord.antarchy.content.portal.PermanentPortalType;
|
||||
import com.craisinlord.antarchy.forge.content.block.WildCornBlock;
|
||||
import com.craisinlord.antarchy.forge.AntarchyWoodTypes;
|
||||
import com.craisinlord.antarchy.forge.content.fluid.AntiwaterFluidType;
|
||||
import com.mojang.serialization.MapCodec;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
import net.minecraft.util.valueproviders.UniformInt;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
import net.minecraft.world.item.context.UseOnContext;
|
||||
import net.minecraft.world.level.block.*;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||
@@ -37,12 +43,23 @@ import net.minecraft.world.level.block.state.properties.WoodType;
|
||||
import net.minecraft.world.level.material.FlowingFluid;
|
||||
import net.minecraft.world.level.material.FluidState;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.common.ToolAction;
|
||||
import net.minecraftforge.common.ToolActions;
|
||||
import net.minecraftforge.fluids.ForgeFlowingFluid;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
|
||||
public final class AntarchyForgeBlocks {
|
||||
private static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(Antarchy.MODID);
|
||||
private static final DeferredRegister<BlockEntityType<?>> BLOCK_ENTITY_TYPES = DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE, Antarchy.MODID);
|
||||
public static final RegistryObject<UndertrialSpawnerBlock> UNDERTRIAL_SPAWNER = BLOCKS.register("undertrial_spawner",
|
||||
() -> new UndertrialSpawnerBlock(AntarchyForgeBlocks::undertrialSpawnerBlockEntityType,
|
||||
BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(net.minecraft.world.level.block.state.properties.NoteBlockInstrument.BASEDRUM).strength(50.0F).noOcclusion().isViewBlocking((state, level, pos) -> false)));
|
||||
public static final RegistryObject<UnderVaultBlock> UNDERVAULT = BLOCKS.register("undervault",
|
||||
() -> new UnderVaultBlock(AntarchyForgeBlocks::underVaultBlockEntityType,
|
||||
BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(net.minecraft.world.level.block.state.properties.NoteBlockInstrument.BASEDRUM).strength(50.0F).noOcclusion().isViewBlocking((state, level, pos) -> false)));
|
||||
public static final RegistryObject<QueenTrailSpawnMarkerBlock> QUEEN_TRAIL_SPAWN_MARKER = BLOCKS.register("queen_trail_spawn_marker",
|
||||
() -> new QueenTrailSpawnMarkerBlock(AntarchyForgeBlocks::queenTrailSpawnMarkerBlockEntityType,
|
||||
BlockBehaviour.Properties.copy(Blocks.BEDROCK).noLootTable()));
|
||||
public static final RegistryObject<DuplicatorLogBlock> DUPLICATOR_LOG = BLOCKS.register("duplicator_log",
|
||||
() -> new DuplicatorLogBlock(BlockBehaviour.Properties.copy(Blocks.OAK_LOG).randomTicks()));
|
||||
public static final RegistryObject<OuranwoodLogBlock> OURANWOOD_LOG = BLOCKS.register("ouranwood_log",
|
||||
@@ -74,7 +91,7 @@ public final class AntarchyForgeBlocks {
|
||||
public static final RegistryObject<PressurePlateBlock> OURANWOOD_PRESSURE_PLATE = BLOCKS.register("ouranwood_pressure_plate",
|
||||
() -> new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, BlockBehaviour.Properties.copy(Blocks.JUNGLE_PRESSURE_PLATE), BlockSetType.JUNGLE));
|
||||
public static final RegistryObject<ButtonBlock> OURANWOOD_BUTTON = BLOCKS.register("ouranwood_button",
|
||||
() -> new ButtonBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_BUTTON), BlockSetType.JUNGLE, 30, false));
|
||||
() -> new ButtonBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_BUTTON), BlockSetType.JUNGLE, 30, true));
|
||||
public static final RegistryObject<OuranwoodLeavesBlock> OURANWOOD_LEAVES = BLOCKS.register("ouranwood_leaves",
|
||||
() -> new OuranwoodLeavesBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_LEAVES).randomTicks()));
|
||||
public static final RegistryObject<OuranwoodAcornBlock> OURANWOOD_ACORN_BLOCK = BLOCKS.register("ouranwood_acorn",
|
||||
@@ -85,6 +102,8 @@ public final class AntarchyForgeBlocks {
|
||||
() -> new MilkweedBlock(BlockBehaviour.Properties.copy(Blocks.PEONY)));
|
||||
public static final RegistryObject<MilkweedBlock> PINK_MILKWEED = BLOCKS.register("pink_milkweed",
|
||||
() -> new MilkweedBlock(BlockBehaviour.Properties.copy(Blocks.PEONY)));
|
||||
public static final RegistryObject<GlimmeringReedBlock> GLIMMERING_REED = BLOCKS.register("glimmering_reed",
|
||||
() -> new GlimmeringReedBlock(BlockBehaviour.Properties.copy(Blocks.SUNFLOWER).lightLevel(state -> 8)));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.block.CamelliaBlock> CAMELLIA = BLOCKS.register("camellia",
|
||||
() -> new com.craisinlord.antarchy.content.block.CamelliaBlock(BlockBehaviour.Properties.copy(Blocks.PEONY)));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.block.SpiderLilyBlock> SPIDER_LILY = BLOCKS.register("spider_lily",
|
||||
@@ -103,6 +122,14 @@ public final class AntarchyForgeBlocks {
|
||||
() -> new LucidAnchorBlock(BlockBehaviour.Properties.copy(Blocks.BEACON).strength(3.0F)));
|
||||
public static final RegistryObject<CritterCageBlock> CRITTER_CAGE_BLOCK = BLOCKS.register("critter_cage_block",
|
||||
() -> new CritterCageBlock(BlockBehaviour.Properties.of().strength(5.0F, 6.0F).sound(net.minecraft.world.level.block.SoundType.METAL).noOcclusion()));
|
||||
public static final RegistryObject<PortalGunPortalMasterBlock> PORTAL_GUN_PORTAL_MASTER = BLOCKS.register("portal_gun_portal_master",
|
||||
() -> new PortalGunPortalMasterBlock(AntarchyForgeBlocks::portalGunPortalMasterBlockEntityType, portalProperties()));
|
||||
public static final RegistryObject<PortalGunPortalBaseBlock> PORTAL_GUN_PORTAL_BASE = BLOCKS.register("portal_gun_portal_base",
|
||||
() -> new PortalGunPortalBaseBlock(AntarchyForgeBlocks::portalGunPortalBaseBlockEntityType, portalProperties()));
|
||||
public static final RegistryObject<DimensionalTearMarkerBlock> DIMENSIONAL_TEAR_MARKER = BLOCKS.register("dimensional_tear_marker",
|
||||
() -> new DimensionalTearMarkerBlock(AntarchyForgeBlocks::dimensionalTearMarkerBlockEntityType,
|
||||
BlockBehaviour.Properties.of().noCollission().noOcclusion().noLootTable().instabreak()
|
||||
.pushReaction(net.minecraft.world.level.material.PushReaction.DESTROY)));
|
||||
public static final RegistryObject<StandingSignBlock> OURANWOOD_SIGN = BLOCKS.register("ouranwood_sign",
|
||||
() -> new StandingSignBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_SIGN), AntarchyWoodTypes.OURANWOOD));
|
||||
public static final RegistryObject<WallSignBlock> OURANWOOD_WALL_SIGN = BLOCKS.register("ouranwood_wall_sign",
|
||||
@@ -136,7 +163,7 @@ public final class AntarchyForgeBlocks {
|
||||
public static final RegistryObject<PressurePlateBlock> PEACH_PRESSURE_PLATE = BLOCKS.register("peach_pressure_plate",
|
||||
() -> new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, BlockBehaviour.Properties.copy(Blocks.JUNGLE_PRESSURE_PLATE), BlockSetType.JUNGLE));
|
||||
public static final RegistryObject<ButtonBlock> PEACH_BUTTON = BLOCKS.register("peach_button",
|
||||
() -> new ButtonBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_BUTTON), BlockSetType.JUNGLE, 30, false));
|
||||
() -> new ButtonBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_BUTTON), BlockSetType.JUNGLE, 30, true));
|
||||
public static final RegistryObject<PeachLeavesBlock> PEACH_LEAVES = BLOCKS.register("peach_leaves",
|
||||
() -> new PeachLeavesBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_LEAVES).randomTicks()));
|
||||
public static final RegistryObject<HangingPeachBlock> PEACH_HANGING_PEACH = BLOCKS.register("hanging_peach",
|
||||
@@ -178,11 +205,11 @@ public final class AntarchyForgeBlocks {
|
||||
public static final RegistryObject<PressurePlateBlock> NADIR_PRESSURE_PLATE = BLOCKS.register("nadir_pressure_plate",
|
||||
() -> new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, BlockBehaviour.Properties.copy(Blocks.JUNGLE_PRESSURE_PLATE), BlockSetType.JUNGLE));
|
||||
public static final RegistryObject<ButtonBlock> NADIR_BUTTON = BLOCKS.register("nadir_button",
|
||||
() -> new ButtonBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_BUTTON), BlockSetType.JUNGLE, 30, false));
|
||||
public static final RegistryObject<Block> NADIR_VEIL = BLOCKS.register("nadir_veil",
|
||||
() -> new Block(BlockBehaviour.Properties.copy(Blocks.MANGROVE_LEAVES).noCollission().noOcclusion()));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.block.NadirSaplingBlock> NADIR_SAPLING = BLOCKS.register("nadir_sapling",
|
||||
() -> new com.craisinlord.antarchy.content.block.NadirSaplingBlock(BlockBehaviour.Properties.copy(Blocks.OAK_SAPLING).randomTicks().noCollission()));
|
||||
() -> new ButtonBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_BUTTON), BlockSetType.JUNGLE, 30, true));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.block.NadirVeilBlock> NADIR_VEIL = BLOCKS.register("nadir_veil",
|
||||
() -> new com.craisinlord.antarchy.content.block.NadirVeilBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_LEAVES).sound(SoundType.SLIME_BLOCK).noOcclusion()));
|
||||
public static final RegistryObject<NadirSaplingBlock> NADIR_SAPLING = BLOCKS.register("nadir_sapling",
|
||||
() -> new NadirSaplingBlock(BlockBehaviour.Properties.copy(Blocks.OAK_SAPLING).randomTicks().noCollission()));
|
||||
public static final RegistryObject<FlowerPotBlock> POTTED_NADIR_SAPLING = BLOCKS.register("potted_nadir_sapling",
|
||||
() -> new FlowerPotBlock(NADIR_SAPLING.get(), BlockBehaviour.Properties.copy(Blocks.POTTED_DANDELION)));
|
||||
public static final RegistryObject<StandingSignBlock> NADIR_SIGN = BLOCKS.register("nadir_sign",
|
||||
@@ -195,6 +222,134 @@ public final class AntarchyForgeBlocks {
|
||||
() -> new WallHangingSignBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_WALL_HANGING_SIGN), AntarchyWoodTypes.NADIR));
|
||||
public static final RegistryObject<DuplicatorSaplingBlock> DUPLICATOR_SAPLING = BLOCKS.register("duplicator_sapling",
|
||||
() -> new DuplicatorSaplingBlock(BlockBehaviour.Properties.copy(Blocks.OAK_SAPLING).randomTicks().noCollission()));
|
||||
public static final RegistryObject<RotatedPillarBlock> ROYAL_LOG = BLOCKS.register("royal_log",
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_LOG)));
|
||||
public static final RegistryObject<RotatedPillarBlock> ROYAL_WOOD = BLOCKS.register("royal_wood",
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_WOOD)));
|
||||
public static final RegistryObject<RotatedPillarBlock> STRIPPED_ROYAL_LOG = BLOCKS.register("stripped_royal_log",
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.STRIPPED_JUNGLE_LOG)));
|
||||
public static final RegistryObject<RotatedPillarBlock> STRIPPED_ROYAL_WOOD = BLOCKS.register("stripped_royal_wood",
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.STRIPPED_JUNGLE_WOOD)));
|
||||
public static final RegistryObject<Block> ROYAL_PLANKS = BLOCKS.register("royal_planks",
|
||||
() -> new Block(BlockBehaviour.Properties.copy(Blocks.JUNGLE_PLANKS)));
|
||||
public static final RegistryObject<StairBlock> ROYAL_STAIRS = BLOCKS.register("royal_stairs",
|
||||
() -> new StairBlock(ROYAL_PLANKS.get().defaultBlockState(), BlockBehaviour.Properties.copy(Blocks.JUNGLE_STAIRS)));
|
||||
public static final RegistryObject<SlabBlock> ROYAL_SLAB = BLOCKS.register("royal_slab",
|
||||
() -> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_SLAB)));
|
||||
public static final RegistryObject<FenceBlock> ROYAL_FENCE = BLOCKS.register("royal_fence",
|
||||
() -> new FenceBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_FENCE)));
|
||||
public static final RegistryObject<FenceGateBlock> ROYAL_FENCE_GATE = BLOCKS.register("royal_fence_gate",
|
||||
() -> new FenceGateBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_FENCE_GATE), WoodType.JUNGLE));
|
||||
public static final RegistryObject<DoorBlock> ROYAL_DOOR = BLOCKS.register("royal_door",
|
||||
() -> new DoorBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_DOOR), BlockSetType.JUNGLE));
|
||||
public static final RegistryObject<TrapDoorBlock> ROYAL_TRAPDOOR = BLOCKS.register("royal_trapdoor",
|
||||
() -> new TrapDoorBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_TRAPDOOR), BlockSetType.JUNGLE));
|
||||
public static final RegistryObject<PressurePlateBlock> ROYAL_PRESSURE_PLATE = BLOCKS.register("royal_pressure_plate",
|
||||
() -> new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, BlockBehaviour.Properties.copy(Blocks.JUNGLE_PRESSURE_PLATE), BlockSetType.JUNGLE));
|
||||
public static final RegistryObject<ButtonBlock> ROYAL_BUTTON = BLOCKS.register("royal_button",
|
||||
() -> new ButtonBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_BUTTON), BlockSetType.JUNGLE, 30, true));
|
||||
public static final RegistryObject<RoyalLeavesBlock> ROYAL_LEAVES = BLOCKS.register("royal_leaves",
|
||||
() -> new RoyalLeavesBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_LEAVES).randomTicks()));
|
||||
public static final RegistryObject<RoyalLeavesBlock> ROYAL_FLOWERING_LEAVES = BLOCKS.register("royal_flowering_leaves",
|
||||
() -> new RoyalLeavesBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_LEAVES).randomTicks().lightLevel(state -> 12)));
|
||||
public static final RegistryObject<RoyalSaplingBlock> ROYAL_SAPLING = BLOCKS.register("royal_sapling",
|
||||
() -> new RoyalSaplingBlock(BlockBehaviour.Properties.copy(Blocks.OAK_SAPLING).noCollission()));
|
||||
public static final RegistryObject<FlowerPotBlock> POTTED_ROYAL_SAPLING = BLOCKS.register("potted_royal_sapling",
|
||||
() -> new FlowerPotBlock(ROYAL_SAPLING.get(), BlockBehaviour.Properties.copy(Blocks.POTTED_DANDELION)));
|
||||
public static final RegistryObject<StandingSignBlock> ROYAL_SIGN = BLOCKS.register("royal_sign",
|
||||
() -> new StandingSignBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_SIGN), AntarchyWoodTypes.ROYAL));
|
||||
public static final RegistryObject<WallSignBlock> ROYAL_WALL_SIGN = BLOCKS.register("royal_wall_sign",
|
||||
() -> new WallSignBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_WALL_SIGN), AntarchyWoodTypes.ROYAL));
|
||||
public static final RegistryObject<CeilingHangingSignBlock> ROYAL_HANGING_SIGN = BLOCKS.register("royal_hanging_sign",
|
||||
() -> new CeilingHangingSignBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_HANGING_SIGN), AntarchyWoodTypes.ROYAL));
|
||||
public static final RegistryObject<WallHangingSignBlock> ROYAL_WALL_HANGING_SIGN = BLOCKS.register("royal_wall_hanging_sign",
|
||||
() -> new WallHangingSignBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_WALL_HANGING_SIGN), AntarchyWoodTypes.ROYAL));
|
||||
public static final RegistryObject<TruffaloLogBlock> TRUFFALO_LOG = BLOCKS.register("truffalo_log",
|
||||
() -> new TruffaloLogBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_LOG)) {
|
||||
@Override
|
||||
public BlockState getToolModifiedState(BlockState state, UseOnContext context, ToolAction itemAbility, boolean simulate) {
|
||||
if (itemAbility == ToolActions.AXE_STRIP) {
|
||||
return STRIPPED_TRUFFALO_LOG.get().withPropertiesOf(state);
|
||||
}
|
||||
return super.getToolModifiedState(state, context, itemAbility, simulate);
|
||||
}
|
||||
});
|
||||
public static final RegistryObject<RotatedPillarBlock> TRUFFALO_WOOD = BLOCKS.register("truffalo_wood",
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_WOOD)) {
|
||||
@Override
|
||||
public BlockState getToolModifiedState(BlockState state, UseOnContext context, ToolAction itemAbility, boolean simulate) {
|
||||
if (itemAbility == ToolActions.AXE_STRIP) {
|
||||
return STRIPPED_TRUFFALO_WOOD.get().withPropertiesOf(state);
|
||||
}
|
||||
return super.getToolModifiedState(state, context, itemAbility, simulate);
|
||||
}
|
||||
});
|
||||
public static final RegistryObject<TruffaloLogBlock> STRIPPED_TRUFFALO_LOG = BLOCKS.register("stripped_truffalo_log",
|
||||
() -> new TruffaloLogBlock(BlockBehaviour.Properties.copy(Blocks.STRIPPED_JUNGLE_LOG)));
|
||||
public static final RegistryObject<RotatedPillarBlock> STRIPPED_TRUFFALO_WOOD = BLOCKS.register("stripped_truffalo_wood",
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.STRIPPED_JUNGLE_WOOD)));
|
||||
public static final RegistryObject<Block> TRUFFALO_PLANKS = BLOCKS.register("truffalo_planks",
|
||||
() -> new Block(BlockBehaviour.Properties.copy(Blocks.JUNGLE_PLANKS)));
|
||||
public static final RegistryObject<StairBlock> TRUFFALO_STAIRS = BLOCKS.register("truffalo_stairs",
|
||||
() -> new StairBlock(TRUFFALO_PLANKS.get().defaultBlockState(), BlockBehaviour.Properties.copy(Blocks.JUNGLE_STAIRS)));
|
||||
public static final RegistryObject<SlabBlock> TRUFFALO_SLAB = BLOCKS.register("truffalo_slab",
|
||||
() -> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_SLAB)));
|
||||
public static final RegistryObject<FenceBlock> TRUFFALO_FENCE = BLOCKS.register("truffalo_fence",
|
||||
() -> new FenceBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_FENCE)));
|
||||
public static final RegistryObject<FenceGateBlock> TRUFFALO_FENCE_GATE = BLOCKS.register("truffalo_fence_gate",
|
||||
() -> new FenceGateBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_FENCE_GATE), WoodType.JUNGLE));
|
||||
public static final RegistryObject<DoorBlock> TRUFFALO_DOOR = BLOCKS.register("truffalo_door",
|
||||
() -> new DoorBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_DOOR), BlockSetType.JUNGLE));
|
||||
public static final RegistryObject<TrapDoorBlock> TRUFFALO_TRAPDOOR = BLOCKS.register("truffalo_trapdoor",
|
||||
() -> new TrapDoorBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_TRAPDOOR), BlockSetType.JUNGLE));
|
||||
public static final RegistryObject<PressurePlateBlock> TRUFFALO_PRESSURE_PLATE = BLOCKS.register("truffalo_pressure_plate",
|
||||
() -> new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, BlockBehaviour.Properties.copy(Blocks.JUNGLE_PRESSURE_PLATE), BlockSetType.JUNGLE));
|
||||
public static final RegistryObject<ButtonBlock> TRUFFALO_BUTTON = BLOCKS.register("truffalo_button",
|
||||
() -> new ButtonBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_BUTTON), BlockSetType.JUNGLE, 30, true));
|
||||
public static final RegistryObject<TruffaloSaplingBlock> TRUFFALO_SAPLING = BLOCKS.register("truffalo_sapling",
|
||||
() -> new TruffaloSaplingBlock(BlockBehaviour.Properties.copy(Blocks.OAK_SAPLING).randomTicks().noCollission()));
|
||||
public static final RegistryObject<FlowerPotBlock> POTTED_TRUFFALO_SAPLING = BLOCKS.register("potted_truffalo_sapling",
|
||||
() -> new FlowerPotBlock(TRUFFALO_SAPLING.get(), BlockBehaviour.Properties.copy(Blocks.POTTED_DANDELION)));
|
||||
public static final RegistryObject<StandingSignBlock> TRUFFALO_SIGN = BLOCKS.register("truffalo_sign",
|
||||
() -> new StandingSignBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_SIGN), AntarchyWoodTypes.TRUFFALO));
|
||||
public static final RegistryObject<WallSignBlock> TRUFFALO_WALL_SIGN = BLOCKS.register("truffalo_wall_sign",
|
||||
() -> new WallSignBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_WALL_SIGN), AntarchyWoodTypes.TRUFFALO));
|
||||
public static final RegistryObject<CeilingHangingSignBlock> TRUFFALO_HANGING_SIGN = BLOCKS.register("truffalo_hanging_sign",
|
||||
() -> new CeilingHangingSignBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_HANGING_SIGN), AntarchyWoodTypes.TRUFFALO));
|
||||
public static final RegistryObject<WallHangingSignBlock> TRUFFALO_WALL_HANGING_SIGN = BLOCKS.register("truffalo_wall_hanging_sign",
|
||||
() -> new WallHangingSignBlock(BlockBehaviour.Properties.copy(Blocks.JUNGLE_WALL_HANGING_SIGN), AntarchyWoodTypes.TRUFFALO));
|
||||
public static final RegistryObject<TruffaloTuftBlock> TRUFFALO_TUFT_WHITE = BLOCKS.register("white_truffalo_tuft",
|
||||
() -> new TruffaloTuftBlock(BlockBehaviour.Properties.copy(Blocks.WHITE_WOOL)));
|
||||
public static final RegistryObject<TruffaloTuftBlock> TRUFFALO_TUFT_ORANGE = BLOCKS.register("orange_truffalo_tuft",
|
||||
() -> new TruffaloTuftBlock(BlockBehaviour.Properties.copy(Blocks.ORANGE_WOOL)));
|
||||
public static final RegistryObject<TruffaloTuftBlock> TRUFFALO_TUFT_MAGENTA = BLOCKS.register("magenta_truffalo_tuft",
|
||||
() -> new TruffaloTuftBlock(BlockBehaviour.Properties.copy(Blocks.MAGENTA_WOOL)));
|
||||
public static final RegistryObject<TruffaloTuftBlock> TRUFFALO_TUFT_LIGHT_BLUE = BLOCKS.register("light_blue_truffalo_tuft",
|
||||
() -> new TruffaloTuftBlock(BlockBehaviour.Properties.copy(Blocks.LIGHT_BLUE_WOOL)));
|
||||
public static final RegistryObject<TruffaloTuftBlock> TRUFFALO_TUFT_YELLOW = BLOCKS.register("yellow_truffalo_tuft",
|
||||
() -> new TruffaloTuftBlock(BlockBehaviour.Properties.copy(Blocks.YELLOW_WOOL)));
|
||||
public static final RegistryObject<TruffaloTuftBlock> TRUFFALO_TUFT_LIME = BLOCKS.register("lime_truffalo_tuft",
|
||||
() -> new TruffaloTuftBlock(BlockBehaviour.Properties.copy(Blocks.LIME_WOOL)));
|
||||
public static final RegistryObject<TruffaloTuftBlock> TRUFFALO_TUFT_PINK = BLOCKS.register("pink_truffalo_tuft",
|
||||
() -> new TruffaloTuftBlock(BlockBehaviour.Properties.copy(Blocks.PINK_WOOL)));
|
||||
public static final RegistryObject<TruffaloTuftBlock> TRUFFALO_TUFT_GRAY = BLOCKS.register("gray_truffalo_tuft",
|
||||
() -> new TruffaloTuftBlock(BlockBehaviour.Properties.copy(Blocks.GRAY_WOOL)));
|
||||
public static final RegistryObject<TruffaloTuftBlock> TRUFFALO_TUFT_LIGHT_GRAY = BLOCKS.register("light_gray_truffalo_tuft",
|
||||
() -> new TruffaloTuftBlock(BlockBehaviour.Properties.copy(Blocks.LIGHT_GRAY_WOOL)));
|
||||
public static final RegistryObject<TruffaloTuftBlock> TRUFFALO_TUFT_CYAN = BLOCKS.register("cyan_truffalo_tuft",
|
||||
() -> new TruffaloTuftBlock(BlockBehaviour.Properties.copy(Blocks.CYAN_WOOL)));
|
||||
public static final RegistryObject<TruffaloTuftBlock> TRUFFALO_TUFT_PURPLE = BLOCKS.register("purple_truffalo_tuft",
|
||||
() -> new TruffaloTuftBlock(BlockBehaviour.Properties.copy(Blocks.PURPLE_WOOL)));
|
||||
public static final RegistryObject<TruffaloTuftBlock> TRUFFALO_TUFT_BLUE = BLOCKS.register("blue_truffalo_tuft",
|
||||
() -> new TruffaloTuftBlock(BlockBehaviour.Properties.copy(Blocks.BLUE_WOOL)));
|
||||
public static final RegistryObject<TruffaloTuftBlock> TRUFFALO_TUFT_BROWN = BLOCKS.register("brown_truffalo_tuft",
|
||||
() -> new TruffaloTuftBlock(BlockBehaviour.Properties.copy(Blocks.BROWN_WOOL)));
|
||||
public static final RegistryObject<TruffaloTuftBlock> TRUFFALO_TUFT_GREEN = BLOCKS.register("green_truffalo_tuft",
|
||||
() -> new TruffaloTuftBlock(BlockBehaviour.Properties.copy(Blocks.GREEN_WOOL)));
|
||||
public static final RegistryObject<TruffaloTuftBlock> TRUFFALO_TUFT_RED = BLOCKS.register("red_truffalo_tuft",
|
||||
() -> new TruffaloTuftBlock(BlockBehaviour.Properties.copy(Blocks.RED_WOOL)));
|
||||
public static final RegistryObject<TruffaloTuftBlock> TRUFFALO_TUFT_BLACK = BLOCKS.register("black_truffalo_tuft",
|
||||
() -> new TruffaloTuftBlock(BlockBehaviour.Properties.copy(Blocks.BLACK_WOOL)));
|
||||
public static final RegistryObject<DuctTapeBlock> DUCT_TAPE = BLOCKS.register("duct_tape",
|
||||
() -> new DuctTapeBlock(BlockBehaviour.Properties.of()
|
||||
.strength(0.2F)
|
||||
@@ -213,6 +368,8 @@ public final class AntarchyForgeBlocks {
|
||||
() -> new Block(nyxiteProperties()));
|
||||
public static final RegistryObject<Block> NYXITE_BRICKS = BLOCKS.register("nyxite_bricks",
|
||||
() -> new Block(nyxiteProperties()));
|
||||
public static final RegistryObject<Block> MOSSY_NYXITE_BRICKS = BLOCKS.register("mossy_nyxite_bricks",
|
||||
() -> new Block(nyxiteProperties()));
|
||||
public static final RegistryObject<StairBlock> NYXITE_STAIRS = BLOCKS.register("nyxite_stairs",
|
||||
() -> new StairBlock(NYXITE.get().defaultBlockState(), nyxiteProperties()));
|
||||
public static final RegistryObject<SlabBlock> NYXITE_SLAB = BLOCKS.register("nyxite_slab",
|
||||
@@ -228,13 +385,19 @@ public final class AntarchyForgeBlocks {
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.block.PolishedNyxitePressurePlateBlock> POLISHED_NYXITE_PRESSURE_PLATE = BLOCKS.register("polished_nyxite_pressure_plate",
|
||||
() -> new com.craisinlord.antarchy.content.block.PolishedNyxitePressurePlateBlock(BlockSetType.STONE, BlockBehaviour.Properties.copy(Blocks.STONE_PRESSURE_PLATE)));
|
||||
public static final RegistryObject<ButtonBlock> POLISHED_NYXITE_BUTTON = BLOCKS.register("polished_nyxite_button",
|
||||
() -> new ButtonBlock(BlockBehaviour.Properties.copy(Blocks.STONE_BUTTON), BlockSetType.STONE, 20, true));
|
||||
() -> new ButtonBlock(BlockBehaviour.Properties.copy(Blocks.STONE_BUTTON), BlockSetType.STONE, 20, false));
|
||||
public static final RegistryObject<StairBlock> NYXITE_BRICK_STAIRS = BLOCKS.register("nyxite_brick_stairs",
|
||||
() -> new StairBlock(NYXITE_BRICKS.get().defaultBlockState(), nyxiteProperties()));
|
||||
public static final RegistryObject<SlabBlock> NYXITE_BRICK_SLAB = BLOCKS.register("nyxite_brick_slab",
|
||||
() -> new SlabBlock(nyxiteProperties()));
|
||||
public static final RegistryObject<WallBlock> NYXITE_BRICK_WALL = BLOCKS.register("nyxite_brick_wall",
|
||||
() -> new WallBlock(nyxiteProperties()));
|
||||
public static final RegistryObject<StairBlock> MOSSY_NYXITE_BRICK_STAIRS = BLOCKS.register("mossy_nyxite_brick_stairs",
|
||||
() -> new StairBlock(MOSSY_NYXITE_BRICKS.get().defaultBlockState(), nyxiteProperties()));
|
||||
public static final RegistryObject<SlabBlock> MOSSY_NYXITE_BRICK_SLAB = BLOCKS.register("mossy_nyxite_brick_slab",
|
||||
() -> new SlabBlock(nyxiteProperties()));
|
||||
public static final RegistryObject<WallBlock> MOSSY_NYXITE_BRICK_WALL = BLOCKS.register("mossy_nyxite_brick_wall",
|
||||
() -> new WallBlock(nyxiteProperties()));
|
||||
public static final RegistryObject<RotatedPillarBlock> NYXITE_PILLAR = BLOCKS.register("nyxite_pillar",
|
||||
() -> new RotatedPillarBlock(nyxiteProperties()));
|
||||
public static final RegistryObject<Block> SHELLSTONE = BLOCKS.register("shellstone",
|
||||
@@ -275,12 +438,12 @@ public final class AntarchyForgeBlocks {
|
||||
() -> new WallBlock(AntarchyObjects.shellstoneProperties()));
|
||||
public static final RegistryObject<RotatedPillarBlock> SHELLSTONE_PILLAR = BLOCKS.register("shellstone_pillar",
|
||||
() -> new RotatedPillarBlock(AntarchyObjects.shellstoneProperties()));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.block.TriffidGooBlock> TRIFFID_GOO_BLOCK = BLOCKS.register("flytrap_goo_block",
|
||||
() -> new com.craisinlord.antarchy.content.block.TriffidGooBlock(BlockBehaviour.Properties.copy(Blocks.SLIME_BLOCK).noOcclusion().isViewBlocking((s, l, p) -> false).isSuffocating((s, l, p) -> false)));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.block.FlytrapGooBlock> FLYTRAP_GOO_BLOCK = BLOCKS.register("flytrap_goo_block",
|
||||
() -> new com.craisinlord.antarchy.content.block.FlytrapGooBlock(BlockBehaviour.Properties.copy(Blocks.SLIME_BLOCK).noOcclusion().isViewBlocking((s, l, p) -> false).isSuffocating((s, l, p) -> false)));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.block.CloudBlock> CLOUD_BLOCK = BLOCKS.register("cloud_block",
|
||||
() -> new com.craisinlord.antarchy.content.block.CloudBlock(
|
||||
AntarchyForgeItems::cloudBucketItem,
|
||||
BlockBehaviour.Properties.copy(Blocks.POWDER_SNOW).noLootTable().noOcclusion()
|
||||
BlockBehaviour.Properties.copy(Blocks.POWDER_SNOW).noLootTable().noOcclusion().emissiveRendering((state, level, pos) -> true)
|
||||
));
|
||||
public static final RegistryObject<AntDimensionPortalBlock> ELYTHIA_PORTAL = BLOCKS.register("elythia_portal",
|
||||
() -> new AntDimensionPortalBlock(PermanentPortalType.ELYTHIA, portalProperties()));
|
||||
@@ -301,6 +464,40 @@ public final class AntarchyForgeBlocks {
|
||||
));
|
||||
public static final RegistryObject<Block> MYRMITE = BLOCKS.register("myrmite",
|
||||
() -> new Block(nyxiteProperties()));
|
||||
public static final RegistryObject<StairBlock> MYRMITE_STAIRS = BLOCKS.register("myrmite_stairs",
|
||||
() -> new StairBlock(MYRMITE.get().defaultBlockState(), nyxiteProperties()));
|
||||
public static final RegistryObject<SlabBlock> MYRMITE_SLAB = BLOCKS.register("myrmite_slab",
|
||||
() -> new SlabBlock(nyxiteProperties()));
|
||||
public static final RegistryObject<WallBlock> MYRMITE_WALL = BLOCKS.register("myrmite_wall",
|
||||
() -> new WallBlock(nyxiteProperties()));
|
||||
public static final RegistryObject<Block> POLISHED_MYRMITE = BLOCKS.register("polished_myrmite",
|
||||
() -> new Block(nyxiteProperties()));
|
||||
public static final RegistryObject<StairBlock> POLISHED_MYRMITE_STAIRS = BLOCKS.register("polished_myrmite_stairs",
|
||||
() -> new StairBlock(POLISHED_MYRMITE.get().defaultBlockState(), nyxiteProperties()));
|
||||
public static final RegistryObject<SlabBlock> POLISHED_MYRMITE_SLAB = BLOCKS.register("polished_myrmite_slab",
|
||||
() -> new SlabBlock(nyxiteProperties()));
|
||||
public static final RegistryObject<WallBlock> POLISHED_MYRMITE_WALL = BLOCKS.register("polished_myrmite_wall",
|
||||
() -> new WallBlock(nyxiteProperties()));
|
||||
public static final RegistryObject<Block> CHISELED_MYRMITE = BLOCKS.register("chiseled_myrmite",
|
||||
() -> new Block(nyxiteProperties()));
|
||||
public static final RegistryObject<Block> MYRMITE_BRICKS = BLOCKS.register("myrmite_bricks",
|
||||
() -> new Block(nyxiteProperties()));
|
||||
public static final RegistryObject<StairBlock> MYRMITE_BRICK_STAIRS = BLOCKS.register("myrmite_brick_stairs",
|
||||
() -> new StairBlock(MYRMITE_BRICKS.get().defaultBlockState(), nyxiteProperties()));
|
||||
public static final RegistryObject<SlabBlock> MYRMITE_BRICK_SLAB = BLOCKS.register("myrmite_brick_slab",
|
||||
() -> new SlabBlock(nyxiteProperties()));
|
||||
public static final RegistryObject<WallBlock> MYRMITE_BRICK_WALL = BLOCKS.register("myrmite_brick_wall",
|
||||
() -> new WallBlock(nyxiteProperties()));
|
||||
public static final RegistryObject<Block> MOSSY_MYRMITE_BRICKS = BLOCKS.register("mossy_myrmite_bricks",
|
||||
() -> new Block(nyxiteProperties()));
|
||||
public static final RegistryObject<StairBlock> MOSSY_MYRMITE_BRICK_STAIRS = BLOCKS.register("mossy_myrmite_brick_stairs",
|
||||
() -> new StairBlock(MOSSY_MYRMITE_BRICKS.get().defaultBlockState(), nyxiteProperties()));
|
||||
public static final RegistryObject<SlabBlock> MOSSY_MYRMITE_BRICK_SLAB = BLOCKS.register("mossy_myrmite_brick_slab",
|
||||
() -> new SlabBlock(nyxiteProperties()));
|
||||
public static final RegistryObject<WallBlock> MOSSY_MYRMITE_BRICK_WALL = BLOCKS.register("mossy_myrmite_brick_wall",
|
||||
() -> new WallBlock(nyxiteProperties()));
|
||||
public static final RegistryObject<RotatedPillarBlock> MYRMITE_PILLAR = BLOCKS.register("myrmite_pillar",
|
||||
() -> new RotatedPillarBlock(nyxiteProperties()));
|
||||
public static final RegistryObject<Block> BIOMITE = BLOCKS.register("biomite",
|
||||
() -> new Block(BlockBehaviour.Properties.copy(Blocks.NETHERRACK)));
|
||||
public static final RegistryObject<Block> BIOMITE_TURF = BLOCKS.register("biomite_turf",
|
||||
@@ -319,6 +516,8 @@ public final class AntarchyForgeBlocks {
|
||||
() -> new Block(broodstoneProperties()));
|
||||
public static final RegistryObject<Block> BROODSTONE_BRICKS = BLOCKS.register("broodstone_bricks",
|
||||
() -> new Block(broodstoneProperties()));
|
||||
public static final RegistryObject<Block> MOSSY_BROODSTONE_BRICKS = BLOCKS.register("mossy_broodstone_bricks",
|
||||
() -> new Block(broodstoneProperties()));
|
||||
public static final RegistryObject<StairBlock> BROODSTONE_STAIRS = BLOCKS.register("broodstone_stairs",
|
||||
() -> new StairBlock(BROODSTONE.get().defaultBlockState(), broodstoneProperties()));
|
||||
public static final RegistryObject<SlabBlock> BROODSTONE_SLAB = BLOCKS.register("broodstone_slab",
|
||||
@@ -337,12 +536,18 @@ public final class AntarchyForgeBlocks {
|
||||
() -> new SlabBlock(broodstoneProperties()));
|
||||
public static final RegistryObject<WallBlock> BROODSTONE_BRICK_WALL = BLOCKS.register("broodstone_brick_wall",
|
||||
() -> new WallBlock(broodstoneProperties()));
|
||||
public static final RegistryObject<StairBlock> MOSSY_BROODSTONE_BRICK_STAIRS = BLOCKS.register("mossy_broodstone_brick_stairs",
|
||||
() -> new StairBlock(MOSSY_BROODSTONE_BRICKS.get().defaultBlockState(), broodstoneProperties()));
|
||||
public static final RegistryObject<SlabBlock> MOSSY_BROODSTONE_BRICK_SLAB = BLOCKS.register("mossy_broodstone_brick_slab",
|
||||
() -> new SlabBlock(broodstoneProperties()));
|
||||
public static final RegistryObject<WallBlock> MOSSY_BROODSTONE_BRICK_WALL = BLOCKS.register("mossy_broodstone_brick_wall",
|
||||
() -> new WallBlock(broodstoneProperties()));
|
||||
public static final RegistryObject<RotatedPillarBlock> BROODSTONE_PILLAR = BLOCKS.register("broodstone_pillar",
|
||||
() -> new RotatedPillarBlock(broodstoneProperties()));
|
||||
public static final RegistryObject<Block> BROODSTONE_URANIUM_ORE = BLOCKS.register("broodstone_uranium_ore",
|
||||
() -> createOre(Blocks.DEEPSLATE_EMERALD_ORE, 4, 8, MapColor.COLOR_YELLOW));
|
||||
public static final RegistryObject<Block> BROODSTONE_TITANIUM_ORE = BLOCKS.register("broodstone_titanium_ore",
|
||||
() -> createOre(Blocks.DEEPSLATE_DIAMOND_ORE, 4, 8, MapColor.COLOR_LIGHT_BLUE));
|
||||
public static final RegistryObject<RotatedPillarBlock> BROODSTONE_PILLAR = BLOCKS.register("broodstone_pillar",
|
||||
() -> new RotatedPillarBlock(broodstoneProperties()));
|
||||
public static final RegistryObject<RotatedPillarBlock> CHITIN_BLOCK = BLOCKS.register("chitin_block",
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.BONE_BLOCK).requiresCorrectToolForDrops()));
|
||||
public static final RegistryObject<UmbralMossBlock> UMBRAL_MOSS_BLOCK = BLOCKS.register("umbral_moss_block",
|
||||
@@ -385,16 +590,20 @@ public final class AntarchyForgeBlocks {
|
||||
.noOcclusion()
|
||||
.noCollission()
|
||||
.replaceable()));
|
||||
public static final RegistryObject<CreepingHorrorEggBlock> CREEPING_HORROR_EGG = BLOCKS.register("crawling_blight_egg",
|
||||
() -> new CreepingHorrorEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG)));
|
||||
public static final RegistryObject<JumpyBugEggBlock> JUMPY_BUG_EGG = BLOCKS.register("springbug_egg",
|
||||
() -> new JumpyBugEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG)));
|
||||
public static final RegistryObject<CrawlingBlightEggBlock> CRAWLING_BLIGHT_EGG = BLOCKS.register("crawling_blight_egg",
|
||||
() -> new CrawlingBlightEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG)));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.block.PrinceEggBlock> PRINCE_EGG = BLOCKS.register("prince_egg",
|
||||
() -> new com.craisinlord.antarchy.content.block.PrinceEggBlock(BlockBehaviour.Properties.copy(Blocks.DRAGON_EGG).randomTicks().noOcclusion()));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.block.PrincessEggBlock> PRINCESS_EGG = BLOCKS.register("princess_egg",
|
||||
() -> new com.craisinlord.antarchy.content.block.PrincessEggBlock(BlockBehaviour.Properties.copy(Blocks.DRAGON_EGG).randomTicks().noOcclusion()));
|
||||
public static final RegistryObject<SpringbugEggBlock> SPRINGBUG_EGG = BLOCKS.register("springbug_egg",
|
||||
() -> new SpringbugEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG)));
|
||||
public static final RegistryObject<SpitBugEggBlock> SPIT_BUG_EGG = BLOCKS.register("spit_bug_egg",
|
||||
() -> new SpitBugEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG)));
|
||||
public static final RegistryObject<JerryEggBlock> JERRY_EGG = BLOCKS.register("jerry_egg",
|
||||
() -> new JerryEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG).randomTicks()));
|
||||
public static final RegistryObject<LurkingTerrorEggBlock> LURKING_TERROR_EGG = BLOCKS.register("skulking_fright_egg",
|
||||
() -> new LurkingTerrorEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG)));
|
||||
public static final RegistryObject<SkulkingFrightEggBlock> SKULKING_FRIGHT_EGG = BLOCKS.register("skulking_fright_egg",
|
||||
() -> new SkulkingFrightEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG)));
|
||||
|
||||
static {
|
||||
BiowartBlock.bindTendrils(BIOWART_TENDRILS);
|
||||
@@ -438,6 +647,11 @@ public final class AntarchyForgeBlocks {
|
||||
() -> new AntNestBlock(AntarchyForgeEntites.RAINBOW_ANT, AntarchyForgeItems::antNestBlockEntityType, BlockBehaviour.Properties.copy(Blocks.DIRT).noLootTable()));
|
||||
public static final RegistryObject<AntNestBlock> TERMITE_NEST = BLOCKS.register("termite_nest",
|
||||
() -> new AntNestBlock(AntarchyForgeEntites.TERMITE, AntarchyForgeItems::antNestBlockEntityType, BlockBehaviour.Properties.copy(Blocks.DIRT).noLootTable()));
|
||||
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.block.AntTrapBlock> ANT_TRAP = BLOCKS.register("ant_trap",
|
||||
() -> new com.craisinlord.antarchy.content.block.AntTrapBlock(
|
||||
() -> java.util.List.of(AntarchyForgeEntites.RED_ANT.get(), AntarchyForgeEntites.BROWN_ANT.get(), AntarchyForgeEntites.RAINBOW_ANT.get(), AntarchyForgeEntites.TERMITE.get()),
|
||||
AntarchyForgeItems::antNestBlockEntityType, BlockBehaviour.Properties.copy(Blocks.OAK_PRESSURE_PLATE).noOcclusion()));
|
||||
public static final RegistryObject<Block> URANIUM_ORE = BLOCKS.register("uranium_ore",
|
||||
() -> createOre(Blocks.EMERALD_ORE, 4, 8, MapColor.COLOR_YELLOW));
|
||||
public static final RegistryObject<Block> DEEPSLATE_URANIUM_ORE = BLOCKS.register("deepslate_uranium_ore",
|
||||
@@ -452,6 +666,9 @@ public final class AntarchyForgeBlocks {
|
||||
() -> new BluestoneWireBlock(BlockBehaviour.Properties.copy(Blocks.REDSTONE_WIRE).mapColor(MapColor.COLOR_BLUE).noCollission().instabreak()));
|
||||
public static final RegistryObject<BluestoneBlock> BLUESTONE_BLOCK = BLOCKS.register("bluestone_block",
|
||||
() -> new BluestoneBlock(BlockBehaviour.Properties.copy(Blocks.REDSTONE_BLOCK).mapColor(MapColor.COLOR_BLUE)));
|
||||
public static final RegistryObject<VortexLensBlock> VORTEX_LENS = BLOCKS.register("vortex_lens",
|
||||
() -> new VortexLensBlock(AntarchyForgeBlocks::vortexLensBlockEntityType,
|
||||
BlockBehaviour.Properties.copy(Blocks.COPPER_BLOCK).mapColor(MapColor.COLOR_GREEN).strength(3.0F, 6.0F).requiresCorrectToolForDrops().noOcclusion()));
|
||||
public static final RegistryObject<BluestoneRepeaterBlock> BLUESTONE_REPEATER = BLOCKS.register("bluestone_repeater",
|
||||
() -> new BluestoneRepeaterBlock(BlockBehaviour.Properties.copy(Blocks.REPEATER).mapColor(MapColor.COLOR_BLUE).noCollission()));
|
||||
public static final RegistryObject<BluestoneComparatorBlock> BLUESTONE_COMPARATOR = BLOCKS.register("bluestone_comparator",
|
||||
@@ -460,6 +677,8 @@ public final class AntarchyForgeBlocks {
|
||||
() -> new BluestoneTorchBlock(BlockBehaviour.Properties.copy(Blocks.REDSTONE_TORCH).mapColor(MapColor.COLOR_BLUE).lightLevel(state -> state.getValue(BluestoneTorchBlock.LIT) ? 7 : 0).noCollission().instabreak()));
|
||||
public static final RegistryObject<BluestoneLampBlock> BLUESTONE_LAMP = BLOCKS.register("bluestone_lamp",
|
||||
() -> new BluestoneLampBlock(BlockBehaviour.Properties.copy(Blocks.REDSTONE_LAMP).mapColor(MapColor.COLOR_BLUE)));
|
||||
public static final RegistryObject<Block> TIGERS_EYE_BLOCK = BLOCKS.register("tigers_eye_block",
|
||||
() -> createStorageBlock(Blocks.EMERALD_BLOCK, MapColor.COLOR_ORANGE));
|
||||
public static final RegistryObject<Block> URANIUM_BLOCK = BLOCKS.register("uranium_block",
|
||||
() -> createStorageBlock(Blocks.EMERALD_BLOCK, MapColor.COLOR_YELLOW));
|
||||
public static final RegistryObject<Block> TITANIUM_BLOCK = BLOCKS.register("titanium_block",
|
||||
@@ -481,13 +700,13 @@ public final class AntarchyForgeBlocks {
|
||||
public static final RegistryObject<StairBlock> CUT_TITANIUM_STAIRS = BLOCKS.register("cut_titanium_stairs",
|
||||
() -> new StairBlock(CUT_TITANIUM.get().defaultBlockState(), BlockBehaviour.Properties.copy(Blocks.CUT_COPPER_STAIRS).mapColor(MapColor.COLOR_LIGHT_BLUE)));
|
||||
public static final RegistryObject<Block> CHISELED_URANIUM = BLOCKS.register("chiseled_uranium",
|
||||
() -> createHorizontalFacingStorageBlock(Blocks.CHISELED_STONE_BRICKS, MapColor.COLOR_YELLOW));
|
||||
() -> createHorizontalFacingStorageBlock(Blocks.COPPER_BLOCK, MapColor.COLOR_YELLOW));
|
||||
public static final RegistryObject<Block> CHISELED_TITANIUM = BLOCKS.register("chiseled_titanium",
|
||||
() -> createHorizontalFacingStorageBlock(Blocks.CHISELED_STONE_BRICKS, MapColor.COLOR_LIGHT_BLUE));
|
||||
() -> createHorizontalFacingStorageBlock(Blocks.COPPER_BLOCK, MapColor.COLOR_LIGHT_BLUE));
|
||||
public static final RegistryObject<SignalSavingBulbBlock> URANIUM_BULB = BLOCKS.register("uranium_bulb",
|
||||
() -> new SignalSavingBulbBlock(BlockBehaviour.Properties.copy(Blocks.REDSTONE_LAMP).mapColor(MapColor.COLOR_YELLOW)));
|
||||
() -> new SignalSavingBulbBlock(BlockBehaviour.Properties.copy(Blocks.COPPER_BLOCK).isRedstoneConductor((state, level, pos) -> false).mapColor(MapColor.COLOR_YELLOW)));
|
||||
public static final RegistryObject<SignalSavingBulbBlock> TITANIUM_BULB = BLOCKS.register("titanium_bulb",
|
||||
() -> new SignalSavingBulbBlock(BlockBehaviour.Properties.copy(Blocks.REDSTONE_LAMP).mapColor(MapColor.COLOR_LIGHT_BLUE)));
|
||||
() -> new SignalSavingBulbBlock(BlockBehaviour.Properties.copy(Blocks.COPPER_BLOCK).isRedstoneConductor((state, level, pos) -> false).mapColor(MapColor.COLOR_LIGHT_BLUE)));
|
||||
public static final RegistryObject<DoorBlock> URANIUM_DOOR = BLOCKS.register("uranium_door",
|
||||
() -> new DoorBlock(BlockBehaviour.Properties.copy(Blocks.IRON_DOOR).mapColor(MapColor.COLOR_YELLOW), BlockSetType.IRON));
|
||||
public static final RegistryObject<DoorBlock> TITANIUM_DOOR = BLOCKS.register("titanium_door",
|
||||
@@ -501,19 +720,19 @@ public final class AntarchyForgeBlocks {
|
||||
public static final RegistryObject<IronBarsBlock> TITANIUM_BARS = BLOCKS.register("titanium_bars",
|
||||
() -> new IronBarsBlock(BlockBehaviour.Properties.copy(Blocks.IRON_BARS).mapColor(MapColor.COLOR_LIGHT_BLUE)));
|
||||
public static final RegistryObject<RotatedPillarBlock> ANTIMETAL = BLOCKS.register("antimetal",
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.BASALT)));
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.BASALT).sound(antimetalSoundType())));
|
||||
public static final RegistryObject<RotatedPillarBlock> POLISHED_ANTIMETAL = BLOCKS.register("polished_antimetal",
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.POLISHED_BASALT)));
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.POLISHED_BASALT).sound(antimetalSoundType())));
|
||||
public static final RegistryObject<StairBlock> ANTIMETAL_STAIRS = BLOCKS.register("antimetal_stairs",
|
||||
() -> new StairBlock(ANTIMETAL.get().defaultBlockState(), BlockBehaviour.Properties.copy(Blocks.BASALT)));
|
||||
() -> new StairBlock(ANTIMETAL.get().defaultBlockState(), BlockBehaviour.Properties.copy(Blocks.BASALT).sound(antimetalSoundType())));
|
||||
public static final RegistryObject<SlabBlock> ANTIMETAL_SLAB = BLOCKS.register("antimetal_slab",
|
||||
() -> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.BASALT)));
|
||||
() -> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.BASALT).sound(antimetalSoundType())));
|
||||
public static final RegistryObject<StairBlock> POLISHED_ANTIMETAL_STAIRS = BLOCKS.register("polished_antimetal_stairs",
|
||||
() -> new StairBlock(POLISHED_ANTIMETAL.get().defaultBlockState(), BlockBehaviour.Properties.copy(Blocks.POLISHED_BASALT)));
|
||||
() -> new StairBlock(POLISHED_ANTIMETAL.get().defaultBlockState(), BlockBehaviour.Properties.copy(Blocks.POLISHED_BASALT).sound(antimetalSoundType())));
|
||||
public static final RegistryObject<SlabBlock> POLISHED_ANTIMETAL_SLAB = BLOCKS.register("polished_antimetal_slab",
|
||||
() -> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.POLISHED_BASALT)));
|
||||
() -> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.POLISHED_BASALT).sound(antimetalSoundType())));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.block.AntimetalScaffoldingBlock> ANTIMETAL_SCAFFOLDING = BLOCKS.register("antimetal_scaffolding",
|
||||
() -> new com.craisinlord.antarchy.content.block.AntimetalScaffoldingBlock(BlockBehaviour.Properties.copy(Blocks.SCAFFOLDING)));
|
||||
() -> new com.craisinlord.antarchy.content.block.AntimetalScaffoldingBlock(BlockBehaviour.Properties.copy(Blocks.SCAFFOLDING).sound(antimetalScaffoldingSoundType())));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.block.AntimetalRailBlock> ANTIMETAL_RAIL = BLOCKS.register("antimetal_rail",
|
||||
() -> new com.craisinlord.antarchy.content.block.AntimetalRailBlock(BlockBehaviour.Properties.copy(Blocks.RAIL)));
|
||||
public static final RegistryObject<UpperBlock> UPPER = BLOCKS.register("upper",
|
||||
@@ -567,10 +786,22 @@ public final class AntarchyForgeBlocks {
|
||||
() -> new AntigravelBlock(BlockBehaviour.Properties.copy(Blocks.GRAVEL)));
|
||||
public static final RegistryObject<Block> LOAM = BLOCKS.register("loam",
|
||||
() -> new Block(BlockBehaviour.Properties.copy(Blocks.MUD)));
|
||||
public static final RegistryObject<Block> PACKED_LOAM = BLOCKS.register("packed_loam",
|
||||
() -> new Block(BlockBehaviour.Properties.copy(Blocks.PACKED_MUD)));
|
||||
public static final RegistryObject<Block> LOAM_BRICKS = BLOCKS.register("loam_bricks",
|
||||
() -> new Block(BlockBehaviour.Properties.copy(Blocks.MUD_BRICKS)));
|
||||
public static final RegistryObject<StairBlock> LOAM_BRICK_STAIRS = BLOCKS.register("loam_brick_stairs",
|
||||
() -> new StairBlock(LOAM_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.copy(Blocks.MUD_BRICK_STAIRS)));
|
||||
public static final RegistryObject<SlabBlock> LOAM_BRICK_SLAB = BLOCKS.register("loam_brick_slab",
|
||||
() -> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.MUD_BRICK_SLAB)));
|
||||
public static final RegistryObject<WallBlock> LOAM_BRICK_WALL = BLOCKS.register("loam_brick_wall",
|
||||
() -> new WallBlock(BlockBehaviour.Properties.copy(Blocks.MUD_BRICK_WALL)));
|
||||
public static final RegistryObject<Block> CHISELED_LOAM_BRICKS = BLOCKS.register("chiseled_loam_bricks",
|
||||
() -> new Block(BlockBehaviour.Properties.copy(Blocks.MUD_BRICKS)));
|
||||
public static final RegistryObject<MucusBlock> MUCUS = BLOCKS.register("mucus",
|
||||
() -> new MucusBlock(BlockBehaviour.Properties.copy(Blocks.GLOW_LICHEN).friction(0.98F).lightLevel(state -> 0).sound(net.minecraft.world.level.block.SoundType.SLIME_BLOCK)));
|
||||
public static final RegistryObject<Block> DREAM_SANDSTONE = BLOCKS.register("dream_sandstone",
|
||||
() -> new Block(BlockBehaviour.Properties.copy(Blocks.SANDSTONE)));
|
||||
() -> new MucusBlock(BlockBehaviour.Properties.copy(Blocks.GLOW_LICHEN).friction(0.995F).lightLevel(state -> 0).sound(SoundType.SLIME_BLOCK)));
|
||||
public static final RegistryObject<DreamSandstoneBlock> DREAM_SANDSTONE = BLOCKS.register("dream_sandstone",
|
||||
() -> new DreamSandstoneBlock(BlockBehaviour.Properties.copy(Blocks.SANDSTONE)));
|
||||
public static final RegistryObject<Block> CHISELED_DREAM_SANDSTONE = BLOCKS.register("chiseled_dream_sandstone",
|
||||
() -> new Block(BlockBehaviour.Properties.copy(Blocks.CHISELED_SANDSTONE)));
|
||||
public static final RegistryObject<Block> CUT_DREAM_SANDSTONE = BLOCKS.register("cut_dream_sandstone",
|
||||
@@ -589,6 +820,58 @@ public final class AntarchyForgeBlocks {
|
||||
() -> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.SMOOTH_SANDSTONE_SLAB)));
|
||||
public static final RegistryObject<SlabBlock> CUT_DREAM_SANDSTONE_SLAB = BLOCKS.register("cut_dream_sandstone_slab",
|
||||
() -> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.CUT_SANDSTONE_SLAB)));
|
||||
public static final RegistryObject<Block> TYPHONITE = BLOCKS.register("typhonite",
|
||||
() -> new Block(BlockBehaviour.Properties.copy(Blocks.BLACKSTONE)));
|
||||
public static final RegistryObject<DirectionalNyxiumBlock> NADIR_NYXIUM = BLOCKS.register("nadir_nyxium",
|
||||
() -> new DirectionalNyxiumBlock(nyxiteProperties(), DirectionalNyxiumBlock.Type.NADIR));
|
||||
public static final RegistryObject<DirectionalNyxiumBlock> VERDANT_NYXIUM = BLOCKS.register("verdant_nyxium",
|
||||
() -> new DirectionalNyxiumBlock(nyxiteProperties(), DirectionalNyxiumBlock.Type.VERDANT));
|
||||
public static final RegistryObject<RotatedPillarBlock> TYPHONITE_PILLAR = BLOCKS.register("typhonite_pillar",
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.BLACKSTONE)));
|
||||
public static final RegistryObject<Block> TYPHONITE_BRICKS = BLOCKS.register("typhonite_bricks",
|
||||
() -> new Block(BlockBehaviour.Properties.copy(Blocks.BLACKSTONE)));
|
||||
public static final RegistryObject<Block> CHISELED_TYPHONITE = BLOCKS.register("chiseled_typhonite",
|
||||
() -> new Block(BlockBehaviour.Properties.copy(Blocks.BLACKSTONE)));
|
||||
public static final RegistryObject<Block> POLISHED_TYPHONITE = BLOCKS.register("polished_typhonite",
|
||||
() -> new Block(BlockBehaviour.Properties.copy(Blocks.BLACKSTONE)));
|
||||
public static final RegistryObject<Block> VEINED_TYPHONITE = BLOCKS.register("veined_typhonite",
|
||||
() -> new Block(BlockBehaviour.Properties.copy(Blocks.BLACKSTONE).lightLevel(state -> 8)));
|
||||
public static final RegistryObject<TyphoniteSpikeBlock> TYPHONITE_SPIKE = BLOCKS.register("typhonite_spike",
|
||||
() -> new TyphoniteSpikeBlock(BlockBehaviour.Properties.copy(Blocks.POINTED_DRIPSTONE)));
|
||||
public static final RegistryObject<StairBlock> TYPHONITE_STAIRS = BLOCKS.register("typhonite_stairs",
|
||||
() -> new StairBlock(TYPHONITE.get().defaultBlockState(), BlockBehaviour.Properties.copy(Blocks.BLACKSTONE_STAIRS)));
|
||||
public static final RegistryObject<SlabBlock> TYPHONITE_SLAB = BLOCKS.register("typhonite_slab",
|
||||
() -> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.BLACKSTONE_SLAB)));
|
||||
public static final RegistryObject<WallBlock> TYPHONITE_WALL = BLOCKS.register("typhonite_wall",
|
||||
() -> new WallBlock(BlockBehaviour.Properties.copy(Blocks.BLACKSTONE_WALL)));
|
||||
public static final RegistryObject<StairBlock> TYPHONITE_BRICK_STAIRS = BLOCKS.register("typhonite_brick_stairs",
|
||||
() -> new StairBlock(TYPHONITE_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.copy(Blocks.BLACKSTONE_STAIRS)));
|
||||
public static final RegistryObject<SlabBlock> TYPHONITE_BRICK_SLAB = BLOCKS.register("typhonite_brick_slab",
|
||||
() -> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.BLACKSTONE_SLAB)));
|
||||
public static final RegistryObject<WallBlock> TYPHONITE_BRICK_WALL = BLOCKS.register("typhonite_brick_wall",
|
||||
() -> new WallBlock(BlockBehaviour.Properties.copy(Blocks.BLACKSTONE_WALL)));
|
||||
public static final RegistryObject<StairBlock> POLISHED_TYPHONITE_STAIRS = BLOCKS.register("polished_typhonite_stairs",
|
||||
() -> new StairBlock(POLISHED_TYPHONITE.get().defaultBlockState(), BlockBehaviour.Properties.copy(Blocks.BLACKSTONE_STAIRS)));
|
||||
public static final RegistryObject<SlabBlock> POLISHED_TYPHONITE_SLAB = BLOCKS.register("polished_typhonite_slab",
|
||||
() -> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.BLACKSTONE_SLAB)));
|
||||
public static final RegistryObject<WallBlock> POLISHED_TYPHONITE_WALL = BLOCKS.register("polished_typhonite_wall",
|
||||
() -> new WallBlock(BlockBehaviour.Properties.copy(Blocks.BLACKSTONE_WALL)));
|
||||
public static final RegistryObject<SpiralingVinesBlock> SPIRALING_VINES = BLOCKS.register("spiraling_vines",
|
||||
() -> new SpiralingVinesBlock(BlockBehaviour.Properties.copy(Blocks.TWISTING_VINES)));
|
||||
public static final RegistryObject<GorevineBlock> GOREVINE = BLOCKS.register("gorevine",
|
||||
() -> new GorevineBlock(BlockBehaviour.Properties.copy(Blocks.WEEPING_VINES).lightLevel(state -> 4)));
|
||||
public static final RegistryObject<WhirlflowerBlock> WHIRLFLOWER = BLOCKS.register("whirlflower",
|
||||
() -> new WhirlflowerBlock(BlockBehaviour.Properties.copy(Blocks.ALLIUM)));
|
||||
public static final RegistryObject<NadirFernBlock> NADIR_FERN = BLOCKS.register("nadir_fern",
|
||||
() -> new NadirFernBlock(BlockBehaviour.Properties.copy(Blocks.FERN)));
|
||||
public static final RegistryObject<LargeNadirFernBlock> LARGE_NADIR_FERN = BLOCKS.register("large_nadir_fern",
|
||||
() -> new LargeNadirFernBlock(BlockBehaviour.Properties.copy(Blocks.LARGE_FERN).noCollission()));
|
||||
public static final RegistryObject<DirectionalThoraxisFlowerBlock> DUSKBELL = BLOCKS.register("duskbell",
|
||||
() -> new DirectionalThoraxisFlowerBlock(BlockBehaviour.Properties.copy(Blocks.ALLIUM).lightLevel(state -> 4)));
|
||||
public static final RegistryObject<DirectionalThoraxisFlowerBlock> NADIR_ROOTS = BLOCKS.register("nadir_roots",
|
||||
() -> new DirectionalThoraxisFlowerBlock(BlockBehaviour.Properties.copy(Blocks.CRIMSON_ROOTS)));
|
||||
public static final RegistryObject<DirectionalThoraxisFlowerBlock> VERDANT_ROOTS = BLOCKS.register("verdant_roots",
|
||||
() -> new DirectionalThoraxisFlowerBlock(BlockBehaviour.Properties.copy(Blocks.WARPED_ROOTS)));
|
||||
public static final RegistryObject<Block> DEAD_STAR_CORAL_BLOCK = BLOCKS.register("dead_star_coral_block",
|
||||
() -> new Block(BlockBehaviour.Properties.copy(Blocks.TUBE_CORAL_BLOCK)));
|
||||
public static final RegistryObject<net.minecraft.world.level.block.BaseCoralPlantBlock> DEAD_STAR_CORAL = BLOCKS.register("dead_star_coral",
|
||||
@@ -606,24 +889,20 @@ public final class AntarchyForgeBlocks {
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.block.StarCoralWallFanBlock> STAR_CORAL_WALL_FAN = BLOCKS.register("star_coral_wall_fan",
|
||||
() -> new com.craisinlord.antarchy.content.block.StarCoralWallFanBlock(DEAD_STAR_CORAL_WALL_FAN.get(), BlockBehaviour.Properties.copy(Blocks.TUBE_CORAL_WALL_FAN).lightLevel(state -> 8)));
|
||||
|
||||
public static final RegistryObject<UndertrialSpawnerBlock> UNDERTRIAL_SPAWNER = BLOCKS.register("undertrial_spawner",
|
||||
() -> new UndertrialSpawnerBlock(AntarchyForgeBlocks::undertrialSpawnerBlockEntityType,
|
||||
BlockBehaviour.Properties.copy(Blocks.OBSIDIAN).noOcclusion()));
|
||||
public static final RegistryObject<UnderVaultBlock> UNDERVAULT = BLOCKS.register("undervault",
|
||||
() -> new UnderVaultBlock(AntarchyForgeBlocks::underVaultBlockEntityType,
|
||||
BlockBehaviour.Properties.copy(Blocks.OBSIDIAN).noOcclusion()));
|
||||
public static final RegistryObject<QueenTrailSpawnMarkerBlock> QUEEN_TRAIL_SPAWN_MARKER = BLOCKS.register("queen_trail_spawn_marker",
|
||||
() -> new QueenTrailSpawnMarkerBlock(AntarchyForgeBlocks::queenTrailSpawnMarkerBlockEntityType,
|
||||
BlockBehaviour.Properties.of().noCollission().noOcclusion().noLootTable().strength(-1.0F)));
|
||||
|
||||
// Block entity types
|
||||
public static final RegistryObject<BlockEntityType<com.craisinlord.antarchy.content.block.entity.RoyalEggBlockEntity>> ROYAL_EGG_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("royal_egg",
|
||||
() -> BlockEntityType.Builder.of(
|
||||
com.craisinlord.antarchy.content.block.entity.RoyalEggBlockEntity::new,
|
||||
PRINCE_EGG.get(),
|
||||
PRINCESS_EGG.get()
|
||||
).build(null));
|
||||
public static final RegistryObject<BlockEntityType<AntNestBlockEntity>> ANT_NEST_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("ant_nest",
|
||||
() -> BlockEntityType.Builder.of(
|
||||
AntNestBlockEntity::new,
|
||||
RED_ANT_NEST.get(),
|
||||
BROWN_ANT_NEST.get(),
|
||||
RAINBOW_ANT_NEST.get(),
|
||||
TERMITE_NEST.get()
|
||||
TERMITE_NEST.get(),
|
||||
ANT_TRAP.get()
|
||||
).build(null));
|
||||
public static final RegistryObject<BlockEntityType<DreamCampfireBlockEntity>> DREAM_CAMPFIRE_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("dream_campfire",
|
||||
() -> BlockEntityType.Builder.of(
|
||||
@@ -650,9 +929,9 @@ public final class AntarchyForgeBlocks {
|
||||
SeashellBlockEntity::new,
|
||||
SEASHELL.get()
|
||||
).build(null));
|
||||
public static final RegistryObject<BlockEntityType<com.craisinlord.antarchy.content.block.entity.LucidAnchorBlockEntity>> LUCID_ANCHOR_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("lucid_anchor",
|
||||
public static final RegistryObject<BlockEntityType<LucidAnchorBlockEntity>> LUCID_ANCHOR_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("lucid_anchor",
|
||||
() -> BlockEntityType.Builder.of(
|
||||
com.craisinlord.antarchy.content.block.entity.LucidAnchorBlockEntity::new,
|
||||
LucidAnchorBlockEntity::new,
|
||||
LUCID_ANCHOR.get()
|
||||
).build(null));
|
||||
public static final RegistryObject<BlockEntityType<CritterCageBlockEntity>> CRITTER_CAGE_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("critter_cage_block",
|
||||
@@ -670,15 +949,37 @@ public final class AntarchyForgeBlocks {
|
||||
(pos, state) -> new UpperBlockEntity(pos, state, AntarchyForgeBlocks::upperBlockEntityType),
|
||||
UPPER.get()
|
||||
).build(null));
|
||||
public static final RegistryObject<BlockEntityType<UndertrialSpawnerBlockEntity>> UNDERTRIAL_SPAWNER_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("undertrial_spawner",
|
||||
() -> BlockEntityType.Builder.of((pos, state) -> new UndertrialSpawnerBlockEntity(pos, state, AntarchyForgeBlocks::undertrialSpawnerBlockEntityType),
|
||||
UNDERTRIAL_SPAWNER.get()).build(null));
|
||||
public static final RegistryObject<BlockEntityType<UnderVaultBlockEntity>> UNDERVAULT_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("undervault",
|
||||
() -> BlockEntityType.Builder.of((pos, state) -> new UnderVaultBlockEntity(pos, state, AntarchyForgeBlocks::underVaultBlockEntityType),
|
||||
UNDERVAULT.get()).build(null));
|
||||
public static final RegistryObject<BlockEntityType<VortexLensBlockEntity>> VORTEX_LENS_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("vortex_lens",
|
||||
() -> BlockEntityType.Builder.of(
|
||||
(pos, state) -> new VortexLensBlockEntity(pos, state, AntarchyForgeBlocks::vortexLensBlockEntityType),
|
||||
VORTEX_LENS.get()
|
||||
).build(null));
|
||||
public static final RegistryObject<BlockEntityType<PortalGunPortalMasterBlockEntity>> PORTAL_GUN_PORTAL_MASTER_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("portal_gun_portal_master",
|
||||
() -> BlockEntityType.Builder.of(
|
||||
(pos, state) -> new PortalGunPortalMasterBlockEntity(pos, state, AntarchyForgeBlocks::portalGunPortalMasterBlockEntityType),
|
||||
PORTAL_GUN_PORTAL_MASTER.get()
|
||||
).build(null));
|
||||
public static final RegistryObject<BlockEntityType<PortalGunPortalBaseBlockEntity>> PORTAL_GUN_PORTAL_BASE_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("portal_gun_portal_base",
|
||||
() -> BlockEntityType.Builder.of(
|
||||
(pos, state) -> new PortalGunPortalBaseBlockEntity(pos, state, AntarchyForgeBlocks::portalGunPortalBaseBlockEntityType),
|
||||
PORTAL_GUN_PORTAL_BASE.get()
|
||||
).build(null));
|
||||
public static final RegistryObject<BlockEntityType<DimensionalTearMarkerBlockEntity>> DIMENSIONAL_TEAR_MARKER_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("dimensional_tear_marker",
|
||||
() -> BlockEntityType.Builder.of(
|
||||
(pos, state) -> new DimensionalTearMarkerBlockEntity(pos, state, AntarchyForgeBlocks::dimensionalTearMarkerBlockEntityType),
|
||||
DIMENSIONAL_TEAR_MARKER.get()
|
||||
).build(null));
|
||||
public static final RegistryObject<BlockEntityType<QueenTrailSpawnMarkerBlockEntity>> QUEEN_TRAIL_SPAWN_MARKER_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("queen_trail_spawn_marker",
|
||||
() -> BlockEntityType.Builder.of((pos, state) -> new QueenTrailSpawnMarkerBlockEntity(pos, state, AntarchyForgeBlocks::queenTrailSpawnMarkerBlockEntityType),
|
||||
QUEEN_TRAIL_SPAWN_MARKER.get()).build(null));
|
||||
() -> BlockEntityType.Builder.of(
|
||||
(pos, state) -> new QueenTrailSpawnMarkerBlockEntity(pos, state, AntarchyForgeBlocks::queenTrailSpawnMarkerBlockEntityType),
|
||||
QUEEN_TRAIL_SPAWN_MARKER.get()
|
||||
).build(null));
|
||||
public static final RegistryObject<BlockEntityType<UndertrialSpawnerBlockEntity>> UNDERTRIAL_SPAWNER_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("undertrial_spawner",
|
||||
() -> BlockEntityType.Builder.of((pos, state) -> new UndertrialSpawnerBlockEntity(pos, state, AntarchyForgeBlocks::undertrialSpawnerBlockEntityType), UNDERTRIAL_SPAWNER.get()).build(null));
|
||||
public static final RegistryObject<BlockEntityType<UnderVaultBlockEntity>> UNDERVAULT_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("undervault",
|
||||
() -> BlockEntityType.Builder.of((pos, state) -> new UnderVaultBlockEntity(pos, state, AntarchyForgeBlocks::underVaultBlockEntityType), UNDERVAULT.get()).build(null));
|
||||
|
||||
private AntarchyForgeBlocks() {}
|
||||
|
||||
private static BlockEntityType<UndertrialSpawnerBlockEntity> undertrialSpawnerBlockEntityType() {
|
||||
return UNDERTRIAL_SPAWNER_BLOCK_ENTITY.get();
|
||||
@@ -688,12 +989,6 @@ public final class AntarchyForgeBlocks {
|
||||
return UNDERVAULT_BLOCK_ENTITY.get();
|
||||
}
|
||||
|
||||
private static BlockEntityType<QueenTrailSpawnMarkerBlockEntity> queenTrailSpawnMarkerBlockEntityType() {
|
||||
return QUEEN_TRAIL_SPAWN_MARKER_BLOCK_ENTITY.get();
|
||||
}
|
||||
|
||||
private AntarchyForgeBlocks() {}
|
||||
|
||||
public static void register(IEventBus modEventBus) {
|
||||
BLOCKS.register(modEventBus);
|
||||
BLOCK_ENTITY_TYPES.register(modEventBus);
|
||||
@@ -734,6 +1029,20 @@ public final class AntarchyForgeBlocks {
|
||||
return new Block(BlockBehaviour.Properties.copy(copyFrom).mapColor(mapColor).requiresCorrectToolForDrops());
|
||||
}
|
||||
|
||||
private static SoundType antimetalSoundType() {
|
||||
return new SoundType(1.0F, 1.0F,
|
||||
AntarchyForgeSounds.ANTIMETAL_PLACE.get(),
|
||||
AntarchyForgeSounds.ANTIMETAL_STEP.get(),
|
||||
AntarchyForgeSounds.ANTIMETAL_PLACE.get(),
|
||||
AntarchyForgeSounds.ANTIMETAL_STEP.get(),
|
||||
AntarchyForgeSounds.ANTIMETAL_PLACE.get());
|
||||
}
|
||||
|
||||
private static SoundType antimetalScaffoldingSoundType() {
|
||||
SoundEvent scaffold = AntarchyForgeSounds.ANTIMETAL_SCAFFOLD.get();
|
||||
return new SoundType(1.0F, 1.0F, scaffold, scaffold, scaffold, scaffold, scaffold);
|
||||
}
|
||||
|
||||
private static Block smallBloodCrystalBudBlock() {
|
||||
return SMALL_BLOOD_CRYSTAL_BUD.get();
|
||||
}
|
||||
@@ -758,8 +1067,28 @@ public final class AntarchyForgeBlocks {
|
||||
return UPPER_BLOCK_ENTITY.get();
|
||||
}
|
||||
|
||||
private static BlockEntityType<VortexLensBlockEntity> vortexLensBlockEntityType() {
|
||||
return VORTEX_LENS_BLOCK_ENTITY.get();
|
||||
}
|
||||
|
||||
private static BlockEntityType<PortalGunPortalMasterBlockEntity> portalGunPortalMasterBlockEntityType() {
|
||||
return PORTAL_GUN_PORTAL_MASTER_BLOCK_ENTITY.get();
|
||||
}
|
||||
|
||||
private static BlockEntityType<PortalGunPortalBaseBlockEntity> portalGunPortalBaseBlockEntityType() {
|
||||
return PORTAL_GUN_PORTAL_BASE_BLOCK_ENTITY.get();
|
||||
}
|
||||
|
||||
private static BlockEntityType<DimensionalTearMarkerBlockEntity> dimensionalTearMarkerBlockEntityType() {
|
||||
return DIMENSIONAL_TEAR_MARKER_BLOCK_ENTITY.get();
|
||||
}
|
||||
|
||||
private static BlockEntityType<QueenTrailSpawnMarkerBlockEntity> queenTrailSpawnMarkerBlockEntityType() {
|
||||
return QUEEN_TRAIL_SPAWN_MARKER_BLOCK_ENTITY.get();
|
||||
}
|
||||
|
||||
private static final class SimpleHorizontalFacingBlock extends HorizontalDirectionalBlock {
|
||||
|
||||
private SimpleHorizontalFacingBlock(BlockBehaviour.Properties properties) {
|
||||
super(properties);
|
||||
registerDefaultState(stateDefinition.any().setValue(FACING, Direction.NORTH));
|
||||
|
||||
+3
-2
@@ -1,6 +1,5 @@
|
||||
package com.craisinlord.antarchy.forge.registry;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.creative.CreativeTabContents;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.world.item.*;
|
||||
@@ -9,9 +8,11 @@ import net.minecraftforge.event.BuildCreativeModeTabContentsEvent;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
|
||||
public class AntarchyForgeCreativeModeTabs {
|
||||
private static final String MODID = "antarchy";
|
||||
|
||||
private AntarchyForgeCreativeModeTabs() {}
|
||||
|
||||
private static final DeferredRegister<CreativeModeTab> CREATIVE_MODE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, Antarchy.MODID);
|
||||
private static final DeferredRegister<CreativeModeTab> CREATIVE_MODE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MODID);
|
||||
|
||||
public static void register(IEventBus modEventBus) {
|
||||
CREATIVE_MODE_TABS.register(modEventBus);
|
||||
|
||||
+158
-36
@@ -4,7 +4,7 @@ import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.entity.AppleCowEntityVariants.AppleCow;
|
||||
import com.craisinlord.antarchy.content.entity.AppleCowEntityVariants.EnchantedGoldenAppleCow;
|
||||
import com.craisinlord.antarchy.content.entity.AppleCowEntityVariants.GoldenAppleCow;
|
||||
import com.craisinlord.antarchy.content.entity.cloud_shark.CloudSharkEntity;
|
||||
import com.craisinlord.antarchy.content.entity.stratoshark.StratosharkEntity;
|
||||
import com.craisinlord.antarchy.content.entity.BedBugEntity;
|
||||
import com.craisinlord.antarchy.content.entity.BomberEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ButterflyEntity;
|
||||
@@ -18,9 +18,11 @@ import com.craisinlord.antarchy.content.entity.OuranwoodDeerEntity;
|
||||
import com.craisinlord.antarchy.content.entity.glimmer.GlimmerEntity;
|
||||
import com.craisinlord.antarchy.content.entity.HushProjectileEntity;
|
||||
import com.craisinlord.antarchy.content.entity.CritterCageProjectileEntity;
|
||||
import com.craisinlord.antarchy.content.entity.WormHookProjectileEntity;
|
||||
import com.craisinlord.antarchy.content.entity.HerculesBeetleEntity;
|
||||
import com.craisinlord.antarchy.content.entity.HoverboardEntity;
|
||||
import com.craisinlord.antarchy.content.entity.JerryEntity;
|
||||
import com.craisinlord.antarchy.content.entity.JumpyBugEntity;
|
||||
import com.craisinlord.antarchy.content.entity.SpringbugEntity;
|
||||
import com.craisinlord.antarchy.content.entity.AlphaMantisEntity;
|
||||
import com.craisinlord.antarchy.content.entity.RollyPollyEntity;
|
||||
import com.craisinlord.antarchy.content.entity.MantisEntity;
|
||||
@@ -28,10 +30,15 @@ import com.craisinlord.antarchy.content.entity.MissileSquidEntity;
|
||||
import com.craisinlord.antarchy.content.entity.OctopusBombEntity;
|
||||
import com.craisinlord.antarchy.content.entity.MolevoreEntity;
|
||||
import com.craisinlord.antarchy.content.entity.MolewormEntity;
|
||||
import com.craisinlord.antarchy.content.entity.WormEntity;
|
||||
import com.craisinlord.antarchy.content.entity.OuranwoodBoatEntity;
|
||||
import com.craisinlord.antarchy.content.entity.OuranwoodChestBoatEntity;
|
||||
import com.craisinlord.antarchy.content.entity.NadirBoatEntity;
|
||||
import com.craisinlord.antarchy.content.entity.NadirChestBoatEntity;
|
||||
import com.craisinlord.antarchy.content.entity.RoyalBoatEntity;
|
||||
import com.craisinlord.antarchy.content.entity.RoyalChestBoatEntity;
|
||||
import com.craisinlord.antarchy.content.entity.TruffaloBoatEntity;
|
||||
import com.craisinlord.antarchy.content.entity.TruffaloChestBoatEntity;
|
||||
import com.craisinlord.antarchy.content.entity.PeachBoatEntity;
|
||||
import com.craisinlord.antarchy.content.entity.PeachChestBoatEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ReverieEntity;
|
||||
@@ -40,7 +47,7 @@ import com.craisinlord.antarchy.content.entity.SizeRayProjectileEntity;
|
||||
import com.craisinlord.antarchy.content.entity.SpitBugEntity;
|
||||
import com.craisinlord.antarchy.content.entity.SpitBugProjectileEntity;
|
||||
import com.craisinlord.antarchy.content.entity.StinkBugEntity;
|
||||
import com.craisinlord.antarchy.content.entity.TriffidEntity;
|
||||
import com.craisinlord.antarchy.content.entity.FlytrapEntity;
|
||||
import com.craisinlord.antarchy.content.entity.UpwardFallingBlockEntity;
|
||||
import com.craisinlord.antarchy.content.entity.WaspEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ant.BaseAntEntity;
|
||||
@@ -58,17 +65,22 @@ import com.craisinlord.antarchy.content.entity.kraken.TentacleEntity;
|
||||
import com.craisinlord.antarchy.content.entity.lucid.LucidBoltEntity;
|
||||
import com.craisinlord.antarchy.content.entity.lucid.LucidEntity;
|
||||
import com.craisinlord.antarchy.content.entity.lucid.LucidEyeProjectileEntity;
|
||||
import com.craisinlord.antarchy.content.entity.vortex.VortexChargeProjectileEntity;
|
||||
import com.craisinlord.antarchy.content.entity.vortex.VortexEntity;
|
||||
import com.craisinlord.antarchy.content.entity.vortex.WindVortexEntity;
|
||||
import com.craisinlord.antarchy.content.entity.nightmare.NightmareEntity;
|
||||
import com.craisinlord.antarchy.content.entity.nightmare.NightmareBiteEntity;
|
||||
import com.craisinlord.antarchy.content.entity.nightmare.NightmarePortalEntity;
|
||||
import com.craisinlord.antarchy.content.entity.nightmare.NightmareBiteEntity;
|
||||
import com.craisinlord.antarchy.content.entity.portal.DimensionalTearEntity;
|
||||
import com.craisinlord.antarchy.content.time.TimeDilationFieldEntity;
|
||||
import com.craisinlord.antarchy.content.entity.CheepEntity;
|
||||
import com.craisinlord.antarchy.content.entity.CreepingHorrorEntity;
|
||||
import com.craisinlord.antarchy.content.entity.CrawlingBlightEntity;
|
||||
import com.craisinlord.antarchy.content.entity.DorrieEntity;
|
||||
import com.craisinlord.antarchy.content.entity.LurkingTerrorEntity;
|
||||
import com.craisinlord.antarchy.content.entity.SkulkingFrightEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ManticoreEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ToreterrorEntity;
|
||||
import com.craisinlord.antarchy.content.entity.WaterBombEntity;
|
||||
import com.craisinlord.antarchy.content.portalgun.PortalGunPortalEntity;
|
||||
import com.craisinlord.antarchy.content.portalgun.PortalGunProjectileEntity;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import net.minecraft.world.entity.MobCategory;
|
||||
@@ -103,6 +115,11 @@ public final class AntarchyForgeEntites {
|
||||
.sized(0.4F, 0.3F)
|
||||
.clientTrackingRange(8)
|
||||
.build("moleworm"));
|
||||
public static final RegistryObject<EntityType<WormEntity>> WORM = ENTITY_TYPES.register("worm",
|
||||
() -> EntityType.Builder.of(WormEntity::new, MobCategory.MONSTER)
|
||||
.sized(1.35F, 2.75F)
|
||||
.clientTrackingRange(10)
|
||||
.build("worm"));
|
||||
public static final RegistryObject<EntityType<MantisEntity>> MANTIS = ENTITY_TYPES.register("mantis",
|
||||
() -> EntityType.Builder.of(MantisEntity::new, MobCategory.MONSTER)
|
||||
.sized(3.125F, 2.5F)
|
||||
@@ -154,13 +171,42 @@ public final class AntarchyForgeEntites {
|
||||
.clientTrackingRange(10)
|
||||
.updateInterval(10)
|
||||
.build("nadir_chest_boat"));
|
||||
public static final RegistryObject<EntityType<RoyalBoatEntity>> ROYAL_BOAT_ENTITY = ENTITY_TYPES.register("royal_boat",
|
||||
() -> EntityType.Builder.<RoyalBoatEntity>of(RoyalBoatEntity::new, MobCategory.MISC)
|
||||
.sized(1.375F, 0.5625F)
|
||||
.clientTrackingRange(10)
|
||||
.updateInterval(10)
|
||||
.build("royal_boat"));
|
||||
public static final RegistryObject<EntityType<RoyalChestBoatEntity>> ROYAL_CHEST_BOAT_ENTITY = ENTITY_TYPES.register("royal_chest_boat",
|
||||
() -> EntityType.Builder.<RoyalChestBoatEntity>of(RoyalChestBoatEntity::new, MobCategory.MISC)
|
||||
.sized(1.375F, 0.5625F)
|
||||
.clientTrackingRange(10)
|
||||
.updateInterval(10)
|
||||
.build("royal_chest_boat"));
|
||||
public static final RegistryObject<EntityType<TruffaloBoatEntity>> TRUFFALO_BOAT_ENTITY = ENTITY_TYPES.register("truffalo_boat",
|
||||
() -> EntityType.Builder.<TruffaloBoatEntity>of(TruffaloBoatEntity::new, MobCategory.MISC)
|
||||
.sized(1.375F, 0.5625F)
|
||||
.clientTrackingRange(10)
|
||||
.updateInterval(10)
|
||||
.build("truffalo_boat"));
|
||||
public static final RegistryObject<EntityType<TruffaloChestBoatEntity>> TRUFFALO_CHEST_BOAT_ENTITY = ENTITY_TYPES.register("truffalo_chest_boat",
|
||||
() -> EntityType.Builder.<TruffaloChestBoatEntity>of(TruffaloChestBoatEntity::new, MobCategory.MISC)
|
||||
.sized(1.375F, 0.5625F)
|
||||
.clientTrackingRange(10)
|
||||
.updateInterval(10)
|
||||
.build("truffalo_chest_boat"));
|
||||
public static final RegistryObject<EntityType<HoverboardEntity>> HOVERBOARD = ENTITY_TYPES.register("hoverboard",
|
||||
() -> EntityType.Builder.<HoverboardEntity>of(HoverboardEntity::new, MobCategory.MISC)
|
||||
.sized(1.5F, 0.6875F)
|
||||
.clientTrackingRange(10)
|
||||
.build("hoverboard"));
|
||||
public static final RegistryObject<EntityType<MolevoreEntity>> MOLEVORE = ENTITY_TYPES.register("molevore",
|
||||
() -> EntityType.Builder.of(MolevoreEntity::new, MobCategory.MONSTER)
|
||||
.sized(1.95F, 1.1F)
|
||||
.clientTrackingRange(10)
|
||||
.build("molevore"));
|
||||
public static final RegistryObject<EntityType<TriffidEntity>> TRIFFID = ENTITY_TYPES.register("flytrap",
|
||||
() -> EntityType.Builder.of(TriffidEntity::new, MobCategory.MONSTER)
|
||||
public static final RegistryObject<EntityType<FlytrapEntity>> FLYTRAP = ENTITY_TYPES.register("flytrap",
|
||||
() -> EntityType.Builder.of(FlytrapEntity::new, MobCategory.MONSTER)
|
||||
.sized(2.0F, 5.0F)
|
||||
.clientTrackingRange(10)
|
||||
.build("flytrap"));
|
||||
@@ -184,8 +230,8 @@ public final class AntarchyForgeEntites {
|
||||
.sized(0.55F, 0.75F)
|
||||
.clientTrackingRange(8)
|
||||
.build("bomber"));
|
||||
public static final RegistryObject<EntityType<JumpyBugEntity>> JUMPY_BUG = ENTITY_TYPES.register("springbug",
|
||||
() -> EntityType.Builder.of(JumpyBugEntity::new, MobCategory.MONSTER)
|
||||
public static final RegistryObject<EntityType<SpringbugEntity>> SPRINGBUG = ENTITY_TYPES.register("springbug",
|
||||
() -> EntityType.Builder.of(SpringbugEntity::new, MobCategory.MONSTER)
|
||||
.sized(3.0F, 6.0F)
|
||||
.clientTrackingRange(8)
|
||||
.build("springbug"));
|
||||
@@ -258,8 +304,8 @@ public final class AntarchyForgeEntites {
|
||||
.sized(0.6F, 1.95F)
|
||||
.clientTrackingRange(10)
|
||||
.build("dr_trayaurus"));
|
||||
public static final RegistryObject<EntityType<CloudSharkEntity>> CLOUD_SHARK = ENTITY_TYPES.register("stratoshark",
|
||||
() -> EntityType.Builder.of(CloudSharkEntity::new, MobCategory.MONSTER)
|
||||
public static final RegistryObject<EntityType<StratosharkEntity>> STRATOSHARK = ENTITY_TYPES.register("stratoshark",
|
||||
() -> EntityType.Builder.of(StratosharkEntity::new, MobCategory.MONSTER)
|
||||
.sized(2.4F, 0.9F)
|
||||
.clientTrackingRange(10)
|
||||
.build("stratoshark"));
|
||||
@@ -289,6 +335,25 @@ public final class AntarchyForgeEntites {
|
||||
.clientTrackingRange(10)
|
||||
.updateInterval(1)
|
||||
.build("nightmare_portal"));
|
||||
public static final RegistryObject<EntityType<DimensionalTearEntity>> DIMENSIONAL_TEAR = ENTITY_TYPES.register("dimensional_tear",
|
||||
() -> EntityType.Builder.of(DimensionalTearEntity::new, MobCategory.MISC)
|
||||
.sized(2.8F, 3.2F)
|
||||
.clientTrackingRange(12)
|
||||
.updateInterval(1)
|
||||
.build("dimensional_tear"));
|
||||
public static final RegistryObject<EntityType<PortalGunPortalEntity>> PORTAL_GUN_PORTAL = ENTITY_TYPES.register("portal_gun_portal",
|
||||
() -> EntityType.Builder.of(PortalGunPortalEntity::new, MobCategory.MISC)
|
||||
.sized(1.0F, 2.0F)
|
||||
.clientTrackingRange(10)
|
||||
.updateInterval(1)
|
||||
.build("portal_gun_portal"));
|
||||
|
||||
public static final RegistryObject<EntityType<PortalGunProjectileEntity>> PORTAL_GUN_PROJECTILE = ENTITY_TYPES.register("portal_gun_projectile",
|
||||
() -> EntityType.Builder.<PortalGunProjectileEntity>of(PortalGunProjectileEntity::new, MobCategory.MISC)
|
||||
.sized(0.25F, 0.25F)
|
||||
.clientTrackingRange(8)
|
||||
.updateInterval(1)
|
||||
.build("portal_gun_projectile"));
|
||||
public static final RegistryObject<EntityType<NightmareBiteEntity>> NIGHTMARE_BITE = ENTITY_TYPES.register("nightmare_bite",
|
||||
() -> EntityType.Builder.of(NightmareBiteEntity::new, MobCategory.MISC)
|
||||
.sized(2.5F, 2.0F)
|
||||
@@ -300,6 +365,33 @@ public final class AntarchyForgeEntites {
|
||||
.sized(2.0F, 2.0F)
|
||||
.clientTrackingRange(10)
|
||||
.build("lucid"));
|
||||
public static final RegistryObject<EntityType<VortexEntity>> VORTEX = ENTITY_TYPES.register("vortex",
|
||||
() -> EntityType.Builder.of(VortexEntity::new, MobCategory.MONSTER)
|
||||
.sized(2.0F, 2.0F)
|
||||
.clientTrackingRange(10)
|
||||
.fireImmune()
|
||||
.build("vortex"));
|
||||
public static final RegistryObject<EntityType<WindVortexEntity>> WIND_VORTEX = ENTITY_TYPES.register("wind_vortex",
|
||||
() -> EntityType.Builder.<WindVortexEntity>of(WindVortexEntity::new, MobCategory.MISC)
|
||||
.sized(3.0F, 5.0F)
|
||||
.clientTrackingRange(10)
|
||||
.updateInterval(1)
|
||||
.fireImmune()
|
||||
.build("wind_vortex"));
|
||||
public static final RegistryObject<EntityType<com.craisinlord.antarchy.content.entity.royal.RoyalBlackHoleEntity>> ROYAL_BLACK_HOLE = ENTITY_TYPES.register("royal_black_hole",
|
||||
() -> EntityType.Builder.<com.craisinlord.antarchy.content.entity.royal.RoyalBlackHoleEntity>of(com.craisinlord.antarchy.content.entity.royal.RoyalBlackHoleEntity::new, MobCategory.MISC)
|
||||
.sized(1.0F, 1.0F)
|
||||
.clientTrackingRange(16)
|
||||
.updateInterval(2)
|
||||
.fireImmune()
|
||||
.build("royal_black_hole"));
|
||||
public static final RegistryObject<EntityType<com.craisinlord.antarchy.content.entity.royal.RoyalAssailantBlackHoleEntity>> ROYAL_ASSAILANT_BLACK_HOLE = ENTITY_TYPES.register("royal_assailant_black_hole",
|
||||
() -> EntityType.Builder.<com.craisinlord.antarchy.content.entity.royal.RoyalAssailantBlackHoleEntity>of(com.craisinlord.antarchy.content.entity.royal.RoyalAssailantBlackHoleEntity::new, MobCategory.MISC)
|
||||
.sized(1.0F, 1.0F)
|
||||
.clientTrackingRange(16)
|
||||
.updateInterval(2)
|
||||
.fireImmune()
|
||||
.build("royal_assailant_black_hole"));
|
||||
public static final RegistryObject<EntityType<LucidBoltEntity>> LUCID_BOLT = ENTITY_TYPES.register("lucid_bolt",
|
||||
() -> EntityType.Builder.<LucidBoltEntity>of(LucidBoltEntity::new, MobCategory.MISC)
|
||||
.sized(0.3F, 0.3F)
|
||||
@@ -325,6 +417,7 @@ public final class AntarchyForgeEntites {
|
||||
() -> EntityType.Builder.of(ScorpionEntity::new, MobCategory.MONSTER)
|
||||
.sized(1.5F, 1.0F)
|
||||
.clientTrackingRange(8)
|
||||
.fireImmune()
|
||||
.build("scorpion"));
|
||||
public static final RegistryObject<EntityType<BasiliskEntity>> BASILISK = ENTITY_TYPES.register("basilisk",
|
||||
() -> EntityType.Builder.of(BasiliskEntity::new, MobCategory.MONSTER)
|
||||
@@ -335,6 +428,7 @@ public final class AntarchyForgeEntites {
|
||||
() -> EntityType.Builder.of(EmperorScorpionEntity::new, MobCategory.MONSTER)
|
||||
.sized(6.0F, 3.0F)
|
||||
.clientTrackingRange(12)
|
||||
.fireImmune()
|
||||
.build("emperor_scorpion"));
|
||||
public static final RegistryObject<EntityType<LucidEyeProjectileEntity>> LUCID_PEARL_PROJECTILE = ENTITY_TYPES.register("lucid_pearl_projectile",
|
||||
() -> EntityType.Builder.<LucidEyeProjectileEntity>of(LucidEyeProjectileEntity::new, MobCategory.MISC)
|
||||
@@ -342,12 +436,24 @@ public final class AntarchyForgeEntites {
|
||||
.clientTrackingRange(8)
|
||||
.updateInterval(1)
|
||||
.build("lucid_pearl_projectile"));
|
||||
public static final RegistryObject<EntityType<VortexChargeProjectileEntity>> VORTEX_CHARGE_PROJECTILE = ENTITY_TYPES.register("vortex_charge_projectile",
|
||||
() -> EntityType.Builder.<VortexChargeProjectileEntity>of(VortexChargeProjectileEntity::new, MobCategory.MISC)
|
||||
.sized(0.25F, 0.25F)
|
||||
.clientTrackingRange(8)
|
||||
.updateInterval(1)
|
||||
.build("vortex_charge_projectile"));
|
||||
public static final RegistryObject<EntityType<CritterCageProjectileEntity>> CRITTER_CAGE_PROJECTILE = ENTITY_TYPES.register("critter_cage_projectile",
|
||||
() -> EntityType.Builder.<CritterCageProjectileEntity>of(CritterCageProjectileEntity::new, MobCategory.MISC)
|
||||
.sized(0.25F, 0.25F)
|
||||
.clientTrackingRange(8)
|
||||
.updateInterval(1)
|
||||
.build("critter_cage_projectile"));
|
||||
public static final RegistryObject<EntityType<WormHookProjectileEntity>> WORM_HOOK_PROJECTILE = ENTITY_TYPES.register("worm_hook_projectile",
|
||||
() -> EntityType.Builder.<WormHookProjectileEntity>of(WormHookProjectileEntity::new, MobCategory.MISC)
|
||||
.sized(0.25F, 0.25F)
|
||||
.clientTrackingRange(10)
|
||||
.updateInterval(1)
|
||||
.build("worm_hook_projectile"));
|
||||
public static final RegistryObject<EntityType<HushProjectileEntity>> HUSH_PROJECTILE = ENTITY_TYPES.register("hush_projectile",
|
||||
() -> EntityType.Builder.<HushProjectileEntity>of(HushProjectileEntity::new, MobCategory.MISC)
|
||||
.sized(0.35F, 0.35F)
|
||||
@@ -371,16 +477,22 @@ public final class AntarchyForgeEntites {
|
||||
.clientTrackingRange(8)
|
||||
.updateInterval(1)
|
||||
.build("water_bomb"));
|
||||
public static final RegistryObject<EntityType<CreepingHorrorEntity>> CREEPING_HORROR = ENTITY_TYPES.register("crawling_blight",
|
||||
() -> EntityType.Builder.of(CreepingHorrorEntity::new, MobCategory.MONSTER)
|
||||
public static final RegistryObject<EntityType<CrawlingBlightEntity>> CRAWLING_BLIGHT = ENTITY_TYPES.register("crawling_blight",
|
||||
() -> EntityType.Builder.of(CrawlingBlightEntity::new, MobCategory.MONSTER)
|
||||
.sized(1.3F, 1.5F)
|
||||
.clientTrackingRange(10)
|
||||
.build("crawling_blight"));
|
||||
public static final RegistryObject<EntityType<LurkingTerrorEntity>> LURKING_TERROR = ENTITY_TYPES.register("skulking_fright",
|
||||
() -> EntityType.Builder.of(LurkingTerrorEntity::new, MobCategory.MONSTER)
|
||||
public static final RegistryObject<EntityType<SkulkingFrightEntity>> SKULKING_FRIGHT = ENTITY_TYPES.register("skulking_fright",
|
||||
() -> EntityType.Builder.of(SkulkingFrightEntity::new, MobCategory.MONSTER)
|
||||
.sized(1.3F, 1.5F)
|
||||
.clientTrackingRange(10)
|
||||
.build("skulking_fright"));
|
||||
public static final RegistryObject<EntityType<ManticoreEntity>> MANTICORE = ENTITY_TYPES.register("manticore",
|
||||
() -> EntityType.Builder.of(ManticoreEntity::new, MobCategory.MONSTER)
|
||||
.sized(1.95F, 2.75F)
|
||||
.clientTrackingRange(10)
|
||||
.fireImmune()
|
||||
.build("manticore"));
|
||||
public static final RegistryObject<EntityType<JerryEntity>> JERRY = ENTITY_TYPES.register("jerry",
|
||||
() -> EntityType.Builder.of(JerryEntity::new, MobCategory.MONSTER)
|
||||
.sized(1.4F, 1.4F)
|
||||
@@ -401,6 +513,35 @@ public final class AntarchyForgeEntites {
|
||||
.sized(3.0F, 4.0F)
|
||||
.clientTrackingRange(12)
|
||||
.build("hercules_beetle"));
|
||||
public static final RegistryObject<EntityType<com.craisinlord.antarchy.content.entity.royal.PrinceEntity>> PRINCE = ENTITY_TYPES.register("prince",
|
||||
() -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.royal.PrinceEntity::new, MobCategory.CREATURE)
|
||||
.sized(2.2F, 1.5F).clientTrackingRange(10).updateInterval(3).fireImmune().build("prince"));
|
||||
public static final RegistryObject<EntityType<com.craisinlord.antarchy.content.entity.royal.PrincessEntity>> PRINCESS = ENTITY_TYPES.register("princess",
|
||||
() -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.royal.PrincessEntity::new, MobCategory.CREATURE)
|
||||
.sized(2.2F, 1.5F).clientTrackingRange(10).updateInterval(3).fireImmune().build("princess"));
|
||||
public static final RegistryObject<EntityType<com.craisinlord.antarchy.content.entity.royal.KingEntity>> KING = ENTITY_TYPES.register("king",
|
||||
() -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.royal.KingEntity::new, MobCategory.MONSTER)
|
||||
.sized(com.craisinlord.antarchy.content.entity.royal.RoyalBossEntity.GAMEPLAY_WIDTH, com.craisinlord.antarchy.content.entity.royal.RoyalBossEntity.GAMEPLAY_HEIGHT)
|
||||
.clientTrackingRange(16)
|
||||
.updateInterval(3)
|
||||
.fireImmune()
|
||||
.build("king"));
|
||||
public static final RegistryObject<EntityType<com.craisinlord.antarchy.content.entity.royal.QueenEntity>> QUEEN = ENTITY_TYPES.register("queen",
|
||||
() -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.royal.QueenEntity::new, MobCategory.MONSTER)
|
||||
.sized(com.craisinlord.antarchy.content.entity.royal.RoyalBossEntity.GAMEPLAY_WIDTH, com.craisinlord.antarchy.content.entity.royal.RoyalBossEntity.GAMEPLAY_HEIGHT)
|
||||
.clientTrackingRange(16)
|
||||
.updateInterval(3)
|
||||
.fireImmune()
|
||||
.build("queen"));
|
||||
public static final RegistryObject<EntityType<com.craisinlord.antarchy.content.entity.royal.RoyalBoltEntity>> ROYAL_BOLT = ENTITY_TYPES.register("royal_bolt",
|
||||
() -> EntityType.Builder.<com.craisinlord.antarchy.content.entity.royal.RoyalBoltEntity>of(com.craisinlord.antarchy.content.entity.royal.RoyalBoltEntity::new, MobCategory.MISC)
|
||||
.sized(0.4F, 0.4F).clientTrackingRange(8).updateInterval(1).fireImmune().build("royal_bolt"));
|
||||
public static final RegistryObject<EntityType<com.craisinlord.antarchy.content.entity.royal.RoyalElementalProjectileEntity>> ROYAL_ELEMENTAL_PROJECTILE = ENTITY_TYPES.register("royal_elemental_projectile",
|
||||
() -> EntityType.Builder.<com.craisinlord.antarchy.content.entity.royal.RoyalElementalProjectileEntity>of(com.craisinlord.antarchy.content.entity.royal.RoyalElementalProjectileEntity::new, MobCategory.MISC)
|
||||
.sized(1.0F, 1.0F).clientTrackingRange(16).updateInterval(1).fireImmune().build("royal_elemental_projectile"));
|
||||
public static final RegistryObject<EntityType<com.craisinlord.antarchy.content.entity.royal.RoyalIceSpikeEntity>> ROYAL_ICE_SPIKE = ENTITY_TYPES.register("royal_ice_spike",
|
||||
() -> EntityType.Builder.<com.craisinlord.antarchy.content.entity.royal.RoyalIceSpikeEntity>of(com.craisinlord.antarchy.content.entity.royal.RoyalIceSpikeEntity::new, MobCategory.MISC)
|
||||
.sized(2.0F, 4.0F).clientTrackingRange(16).updateInterval(1).fireImmune().build("royal_ice_spike"));
|
||||
public static final RegistryObject<EntityType<OuranwoodDeerEntity>> OURANWOOD_DEER = ENTITY_TYPES.register("ouranwood_deer",
|
||||
() -> EntityType.Builder.of(OuranwoodDeerEntity::new, MobCategory.CREATURE)
|
||||
.sized(1.125F, 1.75F)
|
||||
@@ -423,25 +564,6 @@ public final class AntarchyForgeEntites {
|
||||
.clientTrackingRange(10)
|
||||
.updateInterval(1)
|
||||
.build("upward_falling_block"));
|
||||
public static final RegistryObject<EntityType<DimensionalTearEntity>> DIMENSIONAL_TEAR = ENTITY_TYPES.register("dimensional_tear",
|
||||
() -> EntityType.Builder.<DimensionalTearEntity>of(DimensionalTearEntity::new, MobCategory.MISC)
|
||||
.sized(1.0F, 2.75F)
|
||||
.clientTrackingRange(12)
|
||||
.updateInterval(2)
|
||||
.build("dimensional_tear"));
|
||||
public static final RegistryObject<EntityType<TimeDilationFieldEntity>> TIME_DILATION_FIELD = ENTITY_TYPES.register("time_dilation_field",
|
||||
() -> EntityType.Builder.<TimeDilationFieldEntity>of(TimeDilationFieldEntity::new, MobCategory.MISC)
|
||||
.sized(0.5F, 0.5F)
|
||||
.clientTrackingRange(16)
|
||||
.updateInterval(20)
|
||||
.build("time_dilation_field"));
|
||||
public static final RegistryObject<EntityType<com.craisinlord.antarchy.content.entity.royal.RoyalAssailantBlackHoleEntity>> ROYAL_ASSAILANT_BLACK_HOLE = ENTITY_TYPES.register("royal_assailant_black_hole",
|
||||
() -> EntityType.Builder.<com.craisinlord.antarchy.content.entity.royal.RoyalAssailantBlackHoleEntity>of(com.craisinlord.antarchy.content.entity.royal.RoyalAssailantBlackHoleEntity::new, MobCategory.MISC)
|
||||
.sized(1.0F, 1.0F)
|
||||
.clientTrackingRange(16)
|
||||
.updateInterval(2)
|
||||
.fireImmune()
|
||||
.build("royal_assailant_black_hole"));
|
||||
|
||||
private AntarchyForgeEntites() {}
|
||||
|
||||
|
||||
+17
-8
@@ -2,11 +2,12 @@ package com.craisinlord.antarchy.forge.registry;
|
||||
|
||||
import com.craisinlord.antarchy.config.AntarchySettings;
|
||||
import com.craisinlord.antarchy.content.entity.*;
|
||||
import com.craisinlord.antarchy.content.entity.CreepingHorrorEntity;
|
||||
import com.craisinlord.antarchy.content.entity.LurkingTerrorEntity;
|
||||
import com.craisinlord.antarchy.content.entity.CrawlingBlightEntity;
|
||||
import com.craisinlord.antarchy.content.entity.SkulkingFrightEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ManticoreEntity;
|
||||
import com.craisinlord.antarchy.content.entity.basilisk.BasiliskEntity;
|
||||
import com.craisinlord.antarchy.content.entity.brutalfly.BrutalflyEntity;
|
||||
import com.craisinlord.antarchy.content.entity.cloud_shark.CloudSharkEntity;
|
||||
import com.craisinlord.antarchy.content.entity.stratoshark.StratosharkEntity;
|
||||
import com.craisinlord.antarchy.content.entity.flying_squirrel.FlyingSquirrelEntity;
|
||||
import com.craisinlord.antarchy.content.entity.kraken.KrakenEntity;
|
||||
import com.craisinlord.antarchy.content.entity.kraken.TentacleEntity;
|
||||
@@ -48,7 +49,7 @@ public class AntarchyForgeEntityAttributes {
|
||||
).build());
|
||||
event.put(AntarchyForgeEntites.ROLLY_POLLY.get(), RollyPollyEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.DR_TRAYAURUS.get(), Villager.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.CLOUD_SHARK.get(), CloudSharkEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.STRATOSHARK.get(), StratosharkEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.KRAKEN.get(), KrakenEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.MISSILE_SQUID.get(), MissileSquidEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.OCTOPUS_BOMB.get(), OctopusBombEntity.createAttributes().build());
|
||||
@@ -58,18 +59,20 @@ public class AntarchyForgeEntityAttributes {
|
||||
event.put(AntarchyForgeEntites.STINK_BUG.get(), StinkBugEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.WASP.get(), WaspEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.BOMBER.get(), BomberEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.JUMPY_BUG.get(), JumpyBugEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.SPRINGBUG.get(), SpringbugEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.SPIT_BUG.get(), SpitBugEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.MANTIS.get(), MantisEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.ALPHA_MANTIS.get(), AlphaMantisEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.TRIFFID.get(), TriffidEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.FLYTRAP.get(), FlytrapEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.LUCID.get(), LucidEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.VORTEX.get(), com.craisinlord.antarchy.content.entity.vortex.VortexEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.SCORPION.get(), ScorpionEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.BASILISK.get(), BasiliskEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.EMPEROR_SCORPION.get(), EmperorScorpionEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.TORETERROR.get(), ToreterrorEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.CREEPING_HORROR.get(), CreepingHorrorEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.LURKING_TERROR.get(), LurkingTerrorEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.CRAWLING_BLIGHT.get(), CrawlingBlightEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.SKULKING_FRIGHT.get(), SkulkingFrightEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.MANTICORE.get(), ManticoreEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.JERRY.get(), JerryEntity.createAttributes().build());
|
||||
|
||||
AttributeSupplier redAntAttributes = buildAntAttributes(AntarchySettings.redAntHealth(), AntarchySettings.redAntMovementSpeed(), AntarchySettings.redAntAttackDamage()).build();
|
||||
@@ -79,13 +82,19 @@ public class AntarchyForgeEntityAttributes {
|
||||
event.put(AntarchyForgeEntites.BROWN_ANT.get(), brownAntAttributes);
|
||||
event.put(AntarchyForgeEntites.RAINBOW_ANT.get(), rainbowAntAttributes);
|
||||
event.put(AntarchyForgeEntites.MOLEWORM.get(), MolewormEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.WORM.get(), WormEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.MOLEVORE.get(), MolevoreEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.CHEEP.get(), com.craisinlord.antarchy.content.entity.CheepEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.DORRIE.get(), com.craisinlord.antarchy.content.entity.DorrieEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.HERCULES_BEETLE.get(), com.craisinlord.antarchy.content.entity.HerculesBeetleEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.PRINCE.get(), com.craisinlord.antarchy.content.entity.royal.PrinceEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.PRINCESS.get(), com.craisinlord.antarchy.content.entity.royal.PrincessEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.KING.get(), com.craisinlord.antarchy.content.entity.royal.KingEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.QUEEN.get(), com.craisinlord.antarchy.content.entity.royal.QueenEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.OURANWOOD_DEER.get(), com.craisinlord.antarchy.content.entity.OuranwoodDeerEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.GLIMMER.get(), com.craisinlord.antarchy.content.entity.glimmer.GlimmerEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.ELKA.get(), ElkaEntity.createAttributes().build());
|
||||
event.put(AntarchyForgeEntites.HOVERBOARD.get(), com.craisinlord.antarchy.content.entity.HoverboardEntity.createAttributes().build());
|
||||
}
|
||||
|
||||
private static AttributeSupplier.Builder buildAntAttributes(double health, double speed, double attackDamage) {
|
||||
|
||||
+256
-222
@@ -1,13 +1,14 @@
|
||||
package com.craisinlord.antarchy.forge.registry;
|
||||
|
||||
import com.craisinlord.anthology.effect.AnthologyEffects;
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.config.AntarchySettings;
|
||||
import com.craisinlord.antarchy.content.AntarchyObjects;
|
||||
import com.craisinlord.antarchy.content.AntarchySoundEvents;
|
||||
import com.craisinlord.antarchy.content.recipe.CustomBrewingRecipes;
|
||||
import com.craisinlord.antarchy.content.block.DuctTapeBlock;
|
||||
import com.craisinlord.antarchy.content.dispenser.RpoLauncherDispenseBehavior;
|
||||
import com.craisinlord.antarchy.content.dispenser.SizeRayDispenseBehavior;
|
||||
import com.craisinlord.antarchy.content.dispenser.BugSprayDispenseBehavior;
|
||||
import com.craisinlord.antarchy.content.dispenser.SquidzookaDispenseBehavior;
|
||||
import com.craisinlord.antarchy.content.dispenser.WaterCannonDispenseBehavior;
|
||||
import com.craisinlord.antarchy.content.dispenser.AntimetalMinecartDispenseBehavior;
|
||||
@@ -19,18 +20,25 @@ import com.craisinlord.antarchy.content.entity.kraken.KrakenEntity;
|
||||
import com.craisinlord.antarchy.content.entity.lucid.LucidBoltEntity;
|
||||
import com.craisinlord.antarchy.content.entity.lucid.LucidEntity;
|
||||
import com.craisinlord.antarchy.content.entity.lucid.LucidEyeProjectileEntity;
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartFramework;
|
||||
import com.craisinlord.antarchy.content.entity.vortex.VortexChargeProjectileEntity;
|
||||
import com.craisinlord.antarchy.content.entity.vortex.VortexEntity;
|
||||
import com.craisinlord.antarchy.content.entity.trades.DrTrayaurusTradeManager;
|
||||
import com.craisinlord.antarchy.content.horde.CavarynHordeManager;
|
||||
import com.craisinlord.antarchy.content.item.*;
|
||||
import com.craisinlord.antarchy.content.worldgen.thoraxis.ThoraxisUndersideManager;
|
||||
import com.craisinlord.antarchy.content.item.ultimate.UltimateGearHelper;
|
||||
import com.craisinlord.antarchy.content.movement.DreamSandLowGravityAccess;
|
||||
import com.craisinlord.antarchy.content.AntarchyTags;
|
||||
import com.craisinlord.antarchy.mixins.PoiTypesAccessor;
|
||||
import com.craisinlord.antarchy.content.portal.PermanentPortalManager;
|
||||
import com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageController;
|
||||
import com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync;
|
||||
import com.craisinlord.antarchy.forge.AntarchyForgeFluidTypes;
|
||||
import com.craisinlord.antarchy.forge.entity.multipart.MultipartPartEntity;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyGravityNetworking;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
@@ -57,6 +65,8 @@ import net.minecraftforge.common.ToolActions;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.common.ForgeMod;
|
||||
import net.minecraft.world.entity.npc.VillagerProfession;
|
||||
import net.minecraft.world.entity.ai.village.poi.PoiType;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.entity.npc.VillagerTrades;
|
||||
import net.minecraft.world.item.trading.MerchantOffer;
|
||||
import net.minecraftforge.event.AddReloadListenerEvent;
|
||||
@@ -67,14 +77,17 @@ import net.minecraftforge.event.entity.player.PlayerEvent;
|
||||
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
|
||||
import net.minecraftforge.event.level.BlockEvent;
|
||||
import net.minecraftforge.event.entity.living.LivingEvent;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import net.minecraftforge.event.village.VillagerTradesEvent;
|
||||
import net.minecraftforge.event.village.WandererTradesEvent;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import net.minecraftforge.fluids.FluidInteractionRegistry;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
import com.craisinlord.antarchy.content.time.TimeDilationManager;
|
||||
|
||||
public final class AntarchyForgeEvents {
|
||||
private static final double OVERHEAD_INVERSION_WARN_MS = 10.0D;
|
||||
private static final long OVERHEAD_INVERSION_WARN_INTERVAL_TICKS = 100L;
|
||||
private static long lastOverheadInversionWarnTick = Long.MIN_VALUE / 2L;
|
||||
|
||||
private AntarchyForgeEvents() {}
|
||||
|
||||
public static void register(IEventBus modEventBus) {
|
||||
@@ -90,26 +103,27 @@ public final class AntarchyForgeEvents {
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleUltimateBowDamage);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleUltimateCrossbowDamage);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleNightmareArmorDoubleDamage);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleBossMagicBurstMitigation);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleScorpionWhipAttackEntity);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleAttitudeAdjusterAttackEntity);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handlePortalGunAttackEntity);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleScorpionWhipLeftClickBlock);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handlePortalGunLeftClickBlock);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleScorpionWhipRightClickBlock);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleScorpionWhipRightClickItem);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleGiantFryingPanRightClickItem);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleParalyzedAttackEntity);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleParalyzedLeftClickBlock);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleParalyzedRightClickBlock);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleParalyzedRightClickItem);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleParalyzedEntityInteract);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleParalyzedEntityInteractSpecific);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleDreamSandJump);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::tickDreadAndIchor);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::tickScorpionWhips);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::tickDreamSandLowGravity);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::tickWormHooks);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::tickAttitudeAdjusterSlams);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::tickTimeDilation);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleAntiwaterDamage);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleAntiwaterFall);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleDreamSandFall);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleBloodCrystalBootsFall);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleBloodglassShield);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleBloodCrystalArmorEquip);
|
||||
@@ -117,24 +131,24 @@ public final class AntarchyForgeEvents {
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleBloodglassWardRemoved);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleBloodglassWardExpired);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::tickBloodglassRecharge);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::tickAntArrivals);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleBloodglassPlayerDeath);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleBloodglassRespawn);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleBloodglassLogin);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleCavarynHordeKill);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleCavarynHordeBlockBreak);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::tickCavarynHordes);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::tickThoraxisUnderside);
|
||||
modEventBus.addListener(AntarchyForgeEvents::modifyEntityAttributes);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::tickOverheadInversion);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::tickDuctTapeStickiness);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleDreadDeath);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleFallenKingCrownKill);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleDreadBedSleep);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleStartTracking);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleDreamSandLogout);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleTigerEyeLogin);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleTigerEyeLogout);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleTigerEyeDeath);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleTigerEyeRespawn);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleTigerEyeLogin);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleTigerEyeDimensionChange);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::tickTigerEyeCamouflage);
|
||||
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::registerReloadListeners);
|
||||
@@ -143,7 +157,23 @@ public final class AntarchyForgeEvents {
|
||||
}
|
||||
|
||||
static void onVillagerTrades(VillagerTradesEvent event) {
|
||||
if (event.getType() == VillagerProfession.FARMER) {
|
||||
if (event.getType() == AntarchyForgeMisc.COMPUTER_SCIENTIST.get()) {
|
||||
int[] slots = com.craisinlord.antarchy.content.entity.trades.ComputerScientistTradeManager.slotsPerLevel();
|
||||
for (int level = 1; level <= slots.length; level++) {
|
||||
for (int index = 0; index < slots[level - 1]; index++) {
|
||||
event.getTrades().computeIfAbsent(level, ignored -> new java.util.ArrayList<>())
|
||||
.add(com.craisinlord.antarchy.content.entity.trades.ComputerScientistTradeManager.listing(level, index));
|
||||
}
|
||||
}
|
||||
} else if (event.getType() == AntarchyForgeMisc.PEST_CONTROL.get()) {
|
||||
int[] slots = com.craisinlord.antarchy.content.entity.trades.PestControlTradeManager.slotsPerLevel();
|
||||
for (int level = 1; level <= slots.length; level++) {
|
||||
for (int index = 0; index < slots[level - 1]; index++) {
|
||||
event.getTrades().computeIfAbsent(level, ignored -> new java.util.ArrayList<>())
|
||||
.add(com.craisinlord.antarchy.content.entity.trades.PestControlTradeManager.listing(level, index));
|
||||
}
|
||||
}
|
||||
} else if (event.getType() == VillagerProfession.FARMER) {
|
||||
event.getTrades().get(1).add(emeraldForItems(AntarchyObjects.CORN.get(), 20, 16, 2));
|
||||
} else if (event.getType() == VillagerProfession.BUTCHER) {
|
||||
event.getTrades().get(1).add(emeraldForItems(AntarchyObjects.COOKED_CORNDOG.get(), 5, 16, 2));
|
||||
@@ -206,16 +236,23 @@ public final class AntarchyForgeEvents {
|
||||
for (ServerLevel level : event.getServer().getAllLevels()) {
|
||||
CavarynHordeManager.tick(level);
|
||||
com.craisinlord.antarchy.content.horde.CavarynCreatureSpawner.tick(level);
|
||||
com.craisinlord.antarchy.content.entity.glimmer.GlimmerNightSpawner.tick(level);
|
||||
com.craisinlord.antarchy.content.worldgen.elythia.KingsTreeGridFeature.tickPendingSpawns(level);
|
||||
}
|
||||
}
|
||||
|
||||
@net.minecraftforge.eventbus.api.SubscribeEvent
|
||||
static void tickTimeDilation(TickEvent.ServerTickEvent event) {
|
||||
if (event.phase == TickEvent.Phase.END) {
|
||||
TimeDilationManager.tickServer(event.getServer());
|
||||
static void tickThoraxisUnderside(TickEvent.ServerTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
for (ServerLevel level : event.getServer().getAllLevels()) {
|
||||
ThoraxisUndersideManager.tick(level);
|
||||
}
|
||||
}
|
||||
|
||||
static void tickAntArrivals(TickEvent.ServerTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
com.craisinlord.antarchy.content.entity.ant.AntArrivalScheduler.tick(event.getServer());
|
||||
}
|
||||
|
||||
private static int badOmenLevel(Player player) {
|
||||
MobEffectInstance effect = player.getEffect(MobEffects.BAD_OMEN);
|
||||
return effect != null ? effect.getAmplifier() + 1 : 0;
|
||||
@@ -268,75 +305,56 @@ public final class AntarchyForgeEvents {
|
||||
|
||||
static void registerReloadListeners(AddReloadListenerEvent event) {
|
||||
event.addListener(new DrTrayaurusTradeManager());
|
||||
event.addListener(new com.craisinlord.antarchy.content.entity.trades.ComputerScientistTradeManager());
|
||||
event.addListener(new com.craisinlord.antarchy.content.entity.trades.PestControlTradeManager());
|
||||
}
|
||||
static void handleDreamSandLogout(PlayerEvent.PlayerLoggedOutEvent event) {
|
||||
clearDreamSandLowGravity(event.getEntity());
|
||||
}
|
||||
private static void clearDreamSandLowGravity(LivingEntity livingEntity) {
|
||||
DreamSandLowGravityAccess access = dreamSandAccess(livingEntity);
|
||||
access.antarchy$setDreamSandLowGravityActive(false);
|
||||
access.antarchy$setDreamSandLowGravityTicksRemaining(0);
|
||||
access.antarchy$setDreamSandLandingGraceTicks(0);
|
||||
}
|
||||
private static DreamSandLowGravityAccess dreamSandAccess(LivingEntity livingEntity) {
|
||||
return (DreamSandLowGravityAccess) livingEntity;
|
||||
}
|
||||
|
||||
static void handleStartTracking(PlayerEvent.StartTracking event) {
|
||||
if (event.getTarget().level().isClientSide()) {
|
||||
return;
|
||||
}
|
||||
|
||||
AntarchyGravityNetworking.syncEntity(event.getTarget());
|
||||
if (event.getTarget() instanceof com.craisinlord.antarchy.content.time.TimeDilationEntityAccess access
|
||||
&& event.getEntity() instanceof ServerPlayer trackingPlayer) {
|
||||
com.craisinlord.antarchy.forge.network.AntarchyTimeDilationNetworking.syncRateToPlayer(
|
||||
trackingPlayer, event.getTarget(), access.antarchy$getTimeDilationRate()
|
||||
);
|
||||
}
|
||||
if (event.getTarget() instanceof ServerPlayer trackedPlayer && event.getEntity() instanceof ServerPlayer trackingPlayer) {
|
||||
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.syncTo(trackingPlayer, trackedPlayer);
|
||||
}
|
||||
}
|
||||
|
||||
static void handleTigerEyeLogin(PlayerEvent.PlayerLoggedInEvent event) {
|
||||
if (event.getEntity() instanceof ServerPlayer player) {
|
||||
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.sync(player);
|
||||
TigerEyeCamouflageSync.syncTo(trackingPlayer, trackedPlayer);
|
||||
}
|
||||
}
|
||||
|
||||
static void handleTigerEyeLogout(PlayerEvent.PlayerLoggedOutEvent event) {
|
||||
if (event.getEntity() instanceof ServerPlayer player) {
|
||||
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageController.deactivate(player, false);
|
||||
TigerEyeCamouflageController.deactivate(player, false);
|
||||
}
|
||||
}
|
||||
|
||||
static void handleTigerEyeDeath(LivingDeathEvent event) {
|
||||
if (event.getEntity() instanceof ServerPlayer player) {
|
||||
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageController.deactivate(player, false);
|
||||
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.sync(player);
|
||||
TigerEyeCamouflageController.deactivate(player, false);
|
||||
TigerEyeCamouflageSync.sync(player);
|
||||
}
|
||||
}
|
||||
|
||||
static void handleTigerEyeRespawn(PlayerEvent.PlayerRespawnEvent event) {
|
||||
if (event.getEntity() instanceof ServerPlayer player) {
|
||||
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageController.deactivate(player, false);
|
||||
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.sync(player);
|
||||
TigerEyeCamouflageController.deactivate(player, false);
|
||||
TigerEyeCamouflageSync.sync(player);
|
||||
}
|
||||
}
|
||||
|
||||
static void handleTigerEyeLogin(PlayerEvent.PlayerLoggedInEvent event) {
|
||||
if (event.getEntity() instanceof ServerPlayer player) {
|
||||
TigerEyeCamouflageSync.sync(player);
|
||||
}
|
||||
}
|
||||
|
||||
static void handleTigerEyeDimensionChange(PlayerEvent.PlayerChangedDimensionEvent event) {
|
||||
if (event.getEntity() instanceof ServerPlayer player) {
|
||||
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageController.deactivate(player, false);
|
||||
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.sync(player);
|
||||
TigerEyeCamouflageController.deactivate(player, false);
|
||||
TigerEyeCamouflageSync.sync(player);
|
||||
}
|
||||
}
|
||||
|
||||
static void tickTigerEyeCamouflage(TickEvent.PlayerTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
if (event.player instanceof ServerPlayer player
|
||||
&& com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageController.validateOrDeactivate(player)) {
|
||||
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.sync(player);
|
||||
if (event.player instanceof ServerPlayer player && TigerEyeCamouflageController.validateOrDeactivate(player)) {
|
||||
TigerEyeCamouflageSync.sync(player);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -346,11 +364,13 @@ public final class AntarchyForgeEvents {
|
||||
if (!event.getEntity().hasEffect(AntarchyForgeMisc.DREAD.get())) {
|
||||
return;
|
||||
}
|
||||
Player player = event.getEntity();
|
||||
player.displayClientMessage(net.minecraft.network.chat.Component.translatable("message.antarchy.dread_too_scared_to_sleep"), true);
|
||||
event.getEntity().displayClientMessage(net.minecraft.network.chat.Component.translatable("message.antarchy.dread_too_scared_to_sleep"), true);
|
||||
event.setResult(net.minecraft.world.entity.player.Player.BedSleepingProblem.OTHER_PROBLEM);
|
||||
|
||||
if (!(player.level() instanceof net.minecraft.server.level.ServerLevel level)) return;
|
||||
if (!(event.getEntity().level() instanceof net.minecraft.server.level.ServerLevel level)) {
|
||||
return;
|
||||
}
|
||||
Player player = event.getEntity();
|
||||
long gameTime = level.getGameTime();
|
||||
long nextSpawnTime = player.getPersistentData().getLong(DREAD_BED_BUG_NEXT_SPAWN_KEY);
|
||||
if (nextSpawnTime > gameTime) {
|
||||
@@ -399,15 +419,8 @@ public final class AntarchyForgeEvents {
|
||||
event.setResult(net.minecraftforge.eventbus.api.Event.Result.DENY);
|
||||
}
|
||||
|
||||
static void tickDuctTapeStickiness(LivingEvent.LivingTickEvent event) {
|
||||
if (DuctTapeBlock.shouldTickStuckEntity(event.getEntity())) {
|
||||
DuctTapeBlock.tickStuckEntity(event.getEntity());
|
||||
}
|
||||
}
|
||||
|
||||
static void handleDreadDeath(LivingDeathEvent event) {
|
||||
LivingEntity entity = event.getEntity();
|
||||
clearDreamSandLowGravity(entity);
|
||||
if (!entity.hasEffect(AntarchyForgeMisc.DREAD.get())) {
|
||||
return;
|
||||
}
|
||||
@@ -433,6 +446,9 @@ public final class AntarchyForgeEvents {
|
||||
}
|
||||
|
||||
private static final int ANTIMETAL_INVERTED_REFRESH_TICKS = 20;
|
||||
private static final int ANTIMETAL_INVERTED_REFRESH_THRESHOLD_TICKS = 12;
|
||||
private static final int ANTIMETAL_PLAYER_SCAN_INTERVAL_TICKS = 2;
|
||||
private static final int ANTIMETAL_MOB_SCAN_INTERVAL_TICKS = 10;
|
||||
|
||||
static void tickOverheadInversion(LivingEvent.LivingTickEvent event) {
|
||||
LivingEntity livingEntity = event.getEntity();
|
||||
@@ -442,17 +458,47 @@ public final class AntarchyForgeEvents {
|
||||
if (livingEntity instanceof Player player && player.isSpectator()) {
|
||||
return;
|
||||
}
|
||||
if (!isDirectlyBelowAntimetal(livingEntity)) {
|
||||
|
||||
MobEffectInstance existingInverted = livingEntity.getEffect(AnthologyEffects.inverted());
|
||||
long gameTime = livingEntity.level().getGameTime();
|
||||
if (!shouldScanOverheadAntimetal(livingEntity, existingInverted, gameTime)) {
|
||||
return;
|
||||
}
|
||||
|
||||
MobEffectInstance existingInverted = livingEntity.getEffect(AntarchyForgeMisc.INVERTED.get());
|
||||
if (existingInverted == null || existingInverted.getDuration() <= 5) {
|
||||
livingEntity.addEffect(new MobEffectInstance(AntarchyForgeMisc.INVERTED.get(), ANTIMETAL_INVERTED_REFRESH_TICKS, 0, false, false, false));
|
||||
long startNanos = System.nanoTime();
|
||||
boolean directlyBelowAntimetal = isDirectlyBelowAntimetal(livingEntity);
|
||||
double elapsedMs = (System.nanoTime() - startNanos) / 1_000_000.0D;
|
||||
if (elapsedMs >= OVERHEAD_INVERSION_WARN_MS
|
||||
&& gameTime - lastOverheadInversionWarnTick >= OVERHEAD_INVERSION_WARN_INTERVAL_TICKS) {
|
||||
lastOverheadInversionWarnTick = gameTime;
|
||||
Antarchy.LOGGER.warn(
|
||||
"[antarchy-gravity] slow overhead antimetal scan targetType={} uuid={} pos=({}, {}, {}) dim={} elapsedMs={} inverted={} forced={} gameTime={}",
|
||||
livingEntity.getType(), livingEntity.getUUID(), livingEntity.getX(), livingEntity.getY(), livingEntity.getZ(),
|
||||
livingEntity.level().dimension().location(), elapsedMs,
|
||||
com.craisinlord.anthology.gravity.GravityApi.isGravityInverted(livingEntity),
|
||||
com.craisinlord.anthology.gravity.GravityApi.isGravityForced(livingEntity),
|
||||
gameTime
|
||||
);
|
||||
}
|
||||
if (!directlyBelowAntimetal) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (existingInverted == null || existingInverted.getDuration() <= ANTIMETAL_INVERTED_REFRESH_THRESHOLD_TICKS) {
|
||||
livingEntity.addEffect(new MobEffectInstance(AnthologyEffects.inverted(), ANTIMETAL_INVERTED_REFRESH_TICKS, 0, false, false, false));
|
||||
spawnAntimetalInversionParticles(livingEntity);
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean shouldScanOverheadAntimetal(LivingEntity entity, MobEffectInstance existingInverted, long gameTime) {
|
||||
if (existingInverted != null && existingInverted.getDuration() <= ANTIMETAL_INVERTED_REFRESH_THRESHOLD_TICKS) {
|
||||
return true;
|
||||
}
|
||||
int interval = entity instanceof Player ? ANTIMETAL_PLAYER_SCAN_INTERVAL_TICKS : ANTIMETAL_MOB_SCAN_INTERVAL_TICKS;
|
||||
long phase = (long) entity.getUUID().hashCode() + gameTime;
|
||||
return Math.floorMod(phase, interval) == 0L;
|
||||
}
|
||||
|
||||
private static boolean isInOrBelowAntimetalScaffolding(LivingEntity entity) {
|
||||
AABB bounds = entity.getBoundingBox().deflate(1.0E-3D);
|
||||
int minX = net.minecraft.util.Mth.floor(bounds.minX);
|
||||
@@ -485,18 +531,16 @@ public final class AntarchyForgeEvents {
|
||||
|
||||
int minX = net.minecraft.util.Mth.floor(bounds.minX);
|
||||
int maxX = net.minecraft.util.Mth.floor(bounds.maxX);
|
||||
int minY = net.minecraft.util.Mth.floor(bounds.minY);
|
||||
int maxY = net.minecraft.util.Mth.floor(bounds.maxY);
|
||||
int minZ = net.minecraft.util.Mth.floor(bounds.minZ);
|
||||
int maxZ = net.minecraft.util.Mth.floor(bounds.maxZ);
|
||||
|
||||
net.minecraft.core.BlockPos.MutableBlockPos crystalPos = new net.minecraft.core.BlockPos.MutableBlockPos();
|
||||
for (int x = minX; x <= maxX; x++) {
|
||||
for (int y = minY; y <= maxY; y++) {
|
||||
for (int z = minZ; z <= maxZ; z++) {
|
||||
net.minecraft.core.BlockPos crystalPos = new net.minecraft.core.BlockPos(x, y + 1, z);
|
||||
if (entity.level().getBlockState(crystalPos).is(AntarchyTags.Blocks.ANTIMETAL_INVERSION_BLOCKS)) {
|
||||
return true;
|
||||
}
|
||||
for (int z = minZ; z <= maxZ; z++) {
|
||||
crystalPos.set(x, maxY + 1, z);
|
||||
if (entity.level().getBlockState(crystalPos).is(com.craisinlord.antarchy.content.AntarchyTags.Blocks.ANTIMETAL_INVERSION_BLOCKS)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -600,9 +644,7 @@ public final class AntarchyForgeEvents {
|
||||
- access.antarchy$getArmorShieldsActive() - access.antarchy$getArmorShieldLostCount())
|
||||
);
|
||||
int currentCap = access.antarchy$getAppleShieldsActive() + access.antarchy$getAppleShieldLostCount();
|
||||
// Only grant newly-added capacity (e.g. first application, or a higher amplifier).
|
||||
// A mere duration refresh of an already-active ward must not reset shields that are
|
||||
// already lost, nor restart their recharge timer.
|
||||
|
||||
if (targetCap > currentCap) {
|
||||
access.antarchy$setAppleShieldsActive(access.antarchy$getAppleShieldsActive() + (targetCap - currentCap));
|
||||
syncBloodglass((ServerPlayer) player);
|
||||
@@ -681,8 +723,8 @@ public final class AntarchyForgeEvents {
|
||||
if (changed && player instanceof ServerPlayer sp) {
|
||||
syncBloodglass(sp);
|
||||
sp.playNotifySound(
|
||||
net.minecraft.sounds.SoundEvents.AMETHYST_BLOCK_CHIME,
|
||||
net.minecraft.sounds.SoundSource.PLAYERS, 0.6f, 1.6f);
|
||||
AntarchySoundEvents.BLOODGLASS_WARD_HEART_REGEN.get(),
|
||||
net.minecraft.sounds.SoundSource.PLAYERS, 1.0f, 1.0f);
|
||||
}
|
||||
}
|
||||
static void handleBloodCrystalArmorEquip(LivingEquipmentChangeEvent event) {
|
||||
@@ -701,7 +743,7 @@ public final class AntarchyForgeEvents {
|
||||
BloodglassAccess access = (BloodglassAccess) player;
|
||||
|
||||
if (fromIsBC && !toIsBC) {
|
||||
// Unequipped BC armor, remove one shield slot
|
||||
|
||||
if (access.antarchy$getArmorShieldsActive() > 0) {
|
||||
access.antarchy$setArmorShieldsActive(access.antarchy$getArmorShieldsActive() - 1);
|
||||
} else if (access.antarchy$getArmorShieldLostCount() > 0) {
|
||||
@@ -711,7 +753,7 @@ public final class AntarchyForgeEvents {
|
||||
}
|
||||
}
|
||||
} else if (!fromIsBC && toIsBC) {
|
||||
// Newly equipped BC armor,only add if not already accounted for (by respawn init)
|
||||
|
||||
int bcPieces = countBCArmorPieces(player);
|
||||
int currentTotal = access.antarchy$getArmorShieldsActive() + access.antarchy$getArmorShieldLostCount();
|
||||
if (currentTotal < bcPieces) {
|
||||
@@ -719,8 +761,7 @@ public final class AntarchyForgeEvents {
|
||||
access.antarchy$setArmorRechargeTimer(AntarchySettings.bloodCrystalArmorShieldRechargeTicks());
|
||||
}
|
||||
} else if (fromIsBC) {
|
||||
// BC armor replaced with another BC armor (or same after re-equip sequence)
|
||||
// Remove old shield, start recharging new one and reset timer
|
||||
|
||||
if (access.antarchy$getArmorShieldsActive() > 0) {
|
||||
access.antarchy$setArmorShieldsActive(access.antarchy$getArmorShieldsActive() - 1);
|
||||
} else if (access.antarchy$getArmorShieldLostCount() > 0) {
|
||||
@@ -747,12 +788,12 @@ public final class AntarchyForgeEvents {
|
||||
|
||||
static void handleBloodCrystalBootsFall(LivingFallEvent event) {
|
||||
if (!(event.getEntity() instanceof Player player)) return;
|
||||
if (!com.craisinlord.antarchy.content.gravity.AntarchyGravityApi.isGravityInverted(player)) return;
|
||||
if (!(player.getItemBySlot(net.minecraft.world.entity.EquipmentSlot.FEET).getItem() instanceof BloodCrystalArmorItem)) return;
|
||||
if (!com.craisinlord.anthology.gravity.GravityApi.isGravityInverted(player)) return;
|
||||
if (com.craisinlord.antarchy.content.enchantment.AntarchyEnchantments.featherRisingLevel(player) <= 0) return;
|
||||
event.setCanceled(true);
|
||||
}
|
||||
|
||||
static void handleBloodglassShield(LivingHurtEvent event) {
|
||||
static void handleBloodglassShield(LivingAttackEvent event) {
|
||||
if (!(event.getEntity() instanceof Player player)) return;
|
||||
if (player.level().isClientSide()) return;
|
||||
|
||||
@@ -764,7 +805,6 @@ public final class AntarchyForgeEvents {
|
||||
int totalActive = access.antarchy$getTotalShieldsActive();
|
||||
if (totalActive <= 0) return;
|
||||
|
||||
// Consume apple shields first, then armor shields
|
||||
if (access.antarchy$getAppleShieldsActive() > 0) {
|
||||
access.antarchy$setAppleShieldsActive(access.antarchy$getAppleShieldsActive() - 1);
|
||||
access.antarchy$setAppleShieldLostCount(access.antarchy$getAppleShieldLostCount() + 1);
|
||||
@@ -786,7 +826,7 @@ public final class AntarchyForgeEvents {
|
||||
serverLevel.broadcastEntityEvent(player, (byte) 2);
|
||||
|
||||
serverLevel.playSound(null, player.blockPosition(),
|
||||
net.minecraft.sounds.SoundEvents.GLASS_BREAK,
|
||||
AntarchySoundEvents.BLOODGLASS_WARD_HEART_BREAK.get(),
|
||||
net.minecraft.sounds.SoundSource.PLAYERS, 1.0f, 1.0f);
|
||||
|
||||
serverLevel.sendParticles(
|
||||
@@ -811,8 +851,6 @@ public final class AntarchyForgeEvents {
|
||||
return;
|
||||
}
|
||||
|
||||
// Shared item code now scales arrow base damage directly so attribute and projectile
|
||||
// modifiers stay in the damage pipeline. Leave non-player hits untouched here.
|
||||
}
|
||||
|
||||
static void handleUltimateCrossbowDamage(LivingHurtEvent event) {
|
||||
@@ -821,9 +859,8 @@ public final class AntarchyForgeEvents {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void handleNightmareArmorDoubleDamage(LivingHurtEvent event) {
|
||||
if (com.craisinlord.antarchy.content.item.RoyalGuardianSwordAbilities.isApplyingSecondaryDamage()) return;
|
||||
net.minecraft.world.damagesource.DamageSource source = event.getSource();
|
||||
if (!(source.getEntity() instanceof net.minecraft.world.entity.LivingEntity attacker)) return;
|
||||
if (!attacker.getAttributes().hasAttribute(AntarchyForgeMisc.DOUBLE_DAMAGE_CHANCE.get())) return;
|
||||
@@ -844,7 +881,39 @@ public final class AntarchyForgeEvents {
|
||||
}
|
||||
}
|
||||
|
||||
static void handleAntiwaterDamage(LivingHurtEvent event) {
|
||||
static void handleBossMagicBurstMitigation(LivingHurtEvent event) {
|
||||
LivingEntity boss = event.getEntity();
|
||||
if (!boss.getType().is(AntarchyTags.Entities.SPELL_RESISTANT_BOSS)) return;
|
||||
if (!com.craisinlord.antarchy.content.boss.BossCombatUtil.isMagicBurstSource(event.getSource())) return;
|
||||
|
||||
float maxHealth = boss.getMaxHealth();
|
||||
float amount = event.getAmount();
|
||||
|
||||
float perHitCap = maxHealth * (float) AntarchySettings.bossMagicPerHitCapFraction();
|
||||
if (amount > perHitCap) {
|
||||
amount = perHitCap;
|
||||
}
|
||||
|
||||
float windowCap = maxHealth * (float) AntarchySettings.bossMagicWindowCapFraction();
|
||||
float remainingBudget = com.craisinlord.antarchy.content.boss.BossCombatUtil.remainingWindowBudget(boss, windowCap);
|
||||
boolean breachedWindow = amount > remainingBudget;
|
||||
if (breachedWindow) {
|
||||
amount = Math.max(0.0F, remainingBudget);
|
||||
}
|
||||
|
||||
com.craisinlord.antarchy.content.boss.BossCombatUtil.trackMagicBurstWindow(boss, amount, AntarchySettings.bossMagicWindowTicks());
|
||||
|
||||
if (breachedWindow) {
|
||||
int breaches = com.craisinlord.antarchy.content.boss.BossCombatUtil.recordMagicWindowBreach(boss);
|
||||
if (breaches >= AntarchySettings.bossMagicWardTriggerBreaches()) {
|
||||
com.craisinlord.antarchy.content.boss.BossCombatUtil.triggerMagicWard(boss, AntarchySettings.bossMagicWardDurationTicks());
|
||||
}
|
||||
}
|
||||
|
||||
event.setAmount(amount);
|
||||
}
|
||||
|
||||
static void handleAntiwaterDamage(LivingAttackEvent event) {
|
||||
if (!event.getSource().is(DamageTypes.FALL)) {
|
||||
return;
|
||||
}
|
||||
@@ -884,6 +953,13 @@ public final class AntarchyForgeEvents {
|
||||
AttitudeAdjusterSlamManager.markSpecialHit(player);
|
||||
}
|
||||
|
||||
static void handlePortalGunAttackEntity(AttackEntityEvent event) {
|
||||
if (event.getEntity().getMainHandItem().getItem() instanceof com.craisinlord.antarchy.content.item.PortalGunItem
|
||||
|| event.getEntity().getOffhandItem().getItem() instanceof com.craisinlord.antarchy.content.item.PortalGunItem) {
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
|
||||
static void handleScorpionWhipLeftClickBlock(PlayerInteractEvent.LeftClickBlock event) {
|
||||
if (!(event.getEntity() instanceof ServerPlayer player)) {
|
||||
return;
|
||||
@@ -894,6 +970,13 @@ public final class AntarchyForgeEvents {
|
||||
event.setCanceled(true);
|
||||
}
|
||||
|
||||
static void handlePortalGunLeftClickBlock(PlayerInteractEvent.LeftClickBlock event) {
|
||||
if (!(event.getEntity().getMainHandItem().getItem() instanceof com.craisinlord.antarchy.content.item.PortalGunItem)) {
|
||||
return;
|
||||
}
|
||||
event.setCanceled(true);
|
||||
}
|
||||
|
||||
static void handleScorpionWhipRightClickBlock(PlayerInteractEvent.RightClickBlock event) {
|
||||
if (!(event.getEntity() instanceof ServerPlayer player)) {
|
||||
return;
|
||||
@@ -910,6 +993,14 @@ public final class AntarchyForgeEvents {
|
||||
}
|
||||
}
|
||||
|
||||
static void handleGiantFryingPanRightClickItem(PlayerInteractEvent.RightClickItem event) {
|
||||
InteractionResult result = com.craisinlord.antarchy.content.item.GiantFryingPanItem.handleMainHandUse(event.getLevel(), event.getEntity(), event.getHand());
|
||||
if (result != InteractionResult.PASS) {
|
||||
event.setCanceled(true);
|
||||
event.setCancellationResult(result);
|
||||
}
|
||||
}
|
||||
|
||||
static void handleScorpionWhipRightClickItem(PlayerInteractEvent.RightClickItem event) {
|
||||
if (!(event.getEntity() instanceof ServerPlayer player)) {
|
||||
return;
|
||||
@@ -970,24 +1061,6 @@ public final class AntarchyForgeEvents {
|
||||
return player.hasEffect(AntarchyForgeMisc.PARALYZED.get());
|
||||
}
|
||||
|
||||
static void handleDreamSandJump(LivingEvent.LivingJumpEvent event) {
|
||||
LivingEntity livingEntity = event.getEntity();
|
||||
if (!AntarchySettings.dreamSandEnabled() || isDreamSandLowGravityBlacklisted(livingEntity)) {
|
||||
clearDreamSandLowGravity(livingEntity);
|
||||
} else if (isStandingOnDreamSand(livingEntity)) {
|
||||
livingEntity.setDeltaMovement(
|
||||
livingEntity.getDeltaMovement().x,
|
||||
livingEntity.getDeltaMovement().y * AntarchySettings.dreamSandJumpVelocityMultiplier(),
|
||||
livingEntity.getDeltaMovement().z
|
||||
);
|
||||
DreamSandLowGravityAccess access = dreamSandAccess(livingEntity);
|
||||
access.antarchy$setDreamSandLowGravityActive(true);
|
||||
access.antarchy$setDreamSandLowGravityTicksRemaining((int) Math.max(1L, Math.round(AntarchySettings.dreamSandEffectDurationSeconds() * 20.0D)));
|
||||
access.antarchy$setDreamSandLandingGraceTicks(0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void tickDreadAndIchor(TickEvent.PlayerTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
Player player = event.player;
|
||||
@@ -1006,6 +1079,13 @@ public final class AntarchyForgeEvents {
|
||||
}
|
||||
}
|
||||
|
||||
static void tickWormHooks(TickEvent.PlayerTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
if (event.player instanceof ServerPlayer player) {
|
||||
com.craisinlord.antarchy.content.item.WormHookTetherManager.tick(player);
|
||||
}
|
||||
}
|
||||
|
||||
static void tickAttitudeAdjusterSlams(TickEvent.ServerTickEvent event) {
|
||||
if (event.phase != TickEvent.Phase.END) return;
|
||||
for (ServerLevel level : event.getServer().getAllLevels()) {
|
||||
@@ -1013,49 +1093,6 @@ public final class AntarchyForgeEvents {
|
||||
}
|
||||
}
|
||||
|
||||
static void tickDreamSandLowGravity(LivingEvent.LivingTickEvent event) {
|
||||
LivingEntity livingEntity = event.getEntity();
|
||||
|
||||
DreamSandLowGravityAccess access = dreamSandAccess(livingEntity);
|
||||
int landingGraceTicks = access.antarchy$getDreamSandLandingGraceTicks();
|
||||
if (landingGraceTicks > 0) {
|
||||
access.antarchy$setDreamSandLandingGraceTicks(landingGraceTicks - 1);
|
||||
}
|
||||
|
||||
if (!AntarchySettings.dreamSandEnabled() || isDreamSandLowGravityBlacklisted(livingEntity) || !access.antarchy$isDreamSandLowGravityActive()) {
|
||||
return;
|
||||
}
|
||||
|
||||
int remainingTicks = access.antarchy$getDreamSandLowGravityTicksRemaining();
|
||||
if (remainingTicks > 0) {
|
||||
access.antarchy$setDreamSandLowGravityTicksRemaining(remainingTicks - 1);
|
||||
}
|
||||
if (access.antarchy$getDreamSandLowGravityTicksRemaining() <= 0) {
|
||||
clearDreamSandLowGravity(livingEntity);
|
||||
return;
|
||||
}
|
||||
|
||||
if (isOnSolidGround(livingEntity)) {
|
||||
access.antarchy$setDreamSandLowGravityActive(false);
|
||||
access.antarchy$setDreamSandLowGravityTicksRemaining(0);
|
||||
access.antarchy$setDreamSandLandingGraceTicks(2);
|
||||
} else if (!livingEntity.onGround() && livingEntity.getDeltaMovement().y < 0.0D) {
|
||||
livingEntity.setDeltaMovement(
|
||||
livingEntity.getDeltaMovement().x,
|
||||
livingEntity.getDeltaMovement().y * AntarchySettings.dreamSandGravityMultiplier(),
|
||||
livingEntity.getDeltaMovement().z
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isOnSolidGround(LivingEntity livingEntity) {
|
||||
return livingEntity.onGround() && livingEntity.getBlockStateOn().blocksMotion();
|
||||
}
|
||||
|
||||
private static boolean isStandingOnDreamSand(LivingEntity livingEntity) {
|
||||
return livingEntity.level().getBlockState(livingEntity.getOnPosLegacy()).is(AntarchyForgeBlocks.DREAM_SAND.get());
|
||||
}
|
||||
|
||||
static void handleAntiwaterFall(LivingFallEvent event) {
|
||||
LivingEntity livingEntity = event.getEntity();
|
||||
if (intersectsAntiwater(livingEntity, livingEntity.getBoundingBox().inflate(0.05D))) {
|
||||
@@ -1063,23 +1100,6 @@ public final class AntarchyForgeEvents {
|
||||
}
|
||||
}
|
||||
|
||||
static void handleDreamSandFall(LivingFallEvent event) {
|
||||
LivingEntity livingEntity = event.getEntity();
|
||||
DreamSandLowGravityAccess access = dreamSandAccess(livingEntity);
|
||||
if (!AntarchySettings.dreamSandEnabled()
|
||||
|| isDreamSandLowGravityBlacklisted(livingEntity)
|
||||
|| (!access.antarchy$isDreamSandLowGravityActive() && access.antarchy$getDreamSandLandingGraceTicks() <= 0)) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.setCanceled(true);
|
||||
}
|
||||
|
||||
private static boolean isDreamSandLowGravityBlacklisted(LivingEntity livingEntity) {
|
||||
return livingEntity.getType().is(AntarchyTags.Entities.DREAM_SAND_LOW_GRAVITY_BLACKLIST);
|
||||
}
|
||||
|
||||
|
||||
private static boolean intersectsAntiwater(Entity entity, AABB box) {
|
||||
BlockPos.MutableBlockPos cursor = new BlockPos.MutableBlockPos();
|
||||
BlockPos min = BlockPos.containing(box.minX, box.minY, box.minZ);
|
||||
@@ -1100,10 +1120,10 @@ public final class AntarchyForgeEvents {
|
||||
|
||||
static void onInvertedEffectExpired(MobEffectEvent.Expired event) {
|
||||
if (event.getEffectInstance() == null) return;
|
||||
if (event.getEffectInstance().getEffect() != AntarchyForgeMisc.INVERTED.get()) return;
|
||||
if (event.getEffectInstance().getEffect() != AnthologyEffects.inverted()) return;
|
||||
LivingEntity entity = event.getEntity();
|
||||
if (!entity.level().isClientSide()) {
|
||||
com.craisinlord.antarchy.content.gravity.AntarchyMountedGravityHelper.syncConnectedStackIgnoring(entity, entity);
|
||||
com.craisinlord.anthology.gravity.MountedGravityHelper.syncConnectedStackIgnoring(entity, entity);
|
||||
if (entity instanceof Player player) {
|
||||
notifyNearbyReveriesOfInversionChange(player);
|
||||
}
|
||||
@@ -1120,22 +1140,7 @@ public final class AntarchyForgeEvents {
|
||||
}
|
||||
|
||||
private static void addPotionMix(net.minecraft.world.item.alchemy.Potion input, Item ingredient, net.minecraft.world.item.alchemy.Potion output) {
|
||||
net.minecraftforge.common.brewing.BrewingRecipeRegistry.addRecipe(new net.minecraftforge.common.brewing.IBrewingRecipe() {
|
||||
@Override
|
||||
public boolean isInput(ItemStack stack) {
|
||||
return stack.is(Items.POTION) && net.minecraft.world.item.alchemy.PotionUtils.getPotion(stack) == input;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isIngredient(ItemStack stack) {
|
||||
return stack.is(ingredient);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getOutput(ItemStack input1, ItemStack ingredient1) {
|
||||
return net.minecraft.world.item.alchemy.PotionUtils.setPotion(new ItemStack(input1.getItem()), output);
|
||||
}
|
||||
});
|
||||
com.craisinlord.antarchy.mixins.PotionBrewingInvoker.antarchy$addMix(input, ingredient, output);
|
||||
}
|
||||
|
||||
static void registerBrewingRecipes() {
|
||||
@@ -1191,8 +1196,8 @@ public final class AntarchyForgeEvents {
|
||||
addPotionMix(AntarchyForgeMisc.PARALYSIS.get(), Items.REDSTONE, AntarchyForgeMisc.LONG_PARALYSIS.get());
|
||||
addPotionMix(Potions.AWKWARD, AntarchyForgeItems.MOLEWORM_ITEM.get(), AntarchyForgeMisc.HASTE.get());
|
||||
addPotionMix(AntarchyForgeMisc.HASTE.get(), Items.GLOWSTONE_DUST, AntarchyForgeMisc.STRONG_HASTE.get());
|
||||
addPotionMix(Potions.AWKWARD, AntarchyForgeItems.CLOUD_SHARK_FIN.get(), Potions.SLOW_FALLING);
|
||||
addPotionMix(Potions.AWKWARD, AntarchyForgeItems.JUMPY_BUG_LEG.get(), Potions.LEAPING);
|
||||
addPotionMix(Potions.AWKWARD, AntarchyForgeItems.STRATOSHARK_FIN.get(), Potions.SLOW_FALLING);
|
||||
addPotionMix(Potions.AWKWARD, AntarchyForgeItems.SPRINGBUG_LEG.get(), Potions.LEAPING);
|
||||
addPotionMix(Potions.AWKWARD, AntarchyForgeItems.CORNEA_EAR.get(), Potions.NIGHT_VISION);
|
||||
addPotionMix(Potions.AWKWARD, AntarchyForgeItems.URANIUM_NUGGET.get(), AntarchyForgeMisc.SHRINKING.get());
|
||||
addPotionMix(AntarchyForgeMisc.SHRINKING.get(), Items.GLOWSTONE_DUST, AntarchyForgeMisc.STRONG_SHRINKING.get());
|
||||
@@ -1200,8 +1205,13 @@ public final class AntarchyForgeEvents {
|
||||
addPotionMix(Potions.AWKWARD, AntarchyForgeItems.TITANIUM_NUGGET.get(), AntarchyForgeMisc.GROWING.get());
|
||||
addPotionMix(AntarchyForgeMisc.GROWING.get(), Items.GLOWSTONE_DUST, AntarchyForgeMisc.STRONG_GROWING.get());
|
||||
addPotionMix(AntarchyForgeMisc.STRONG_GROWING.get(), Items.GLOWSTONE_DUST, AntarchyForgeMisc.EXTREME_GROWING.get());
|
||||
addPotionMix(Potions.AWKWARD, AntarchyForgeItems.KING_SCALE.get(), AntarchyForgeMisc.COMMAND.get());
|
||||
addPotionMix(AntarchyForgeMisc.COMMAND.get(), Items.REDSTONE, AntarchyForgeMisc.LONG_COMMAND.get());
|
||||
addPotionMix(Potions.AWKWARD, AntarchyForgeItems.QUEEN_SCALE.get(), AntarchyForgeMisc.TIME_DILATION.get());
|
||||
addPotionMix(AntarchyForgeMisc.TIME_DILATION.get(), Items.GLOWSTONE_DUST, AntarchyForgeMisc.LONG_TIME_DILATION.get());
|
||||
addPotionMix(AntarchyForgeMisc.TIME_DILATION.get(), Items.FERMENTED_SPIDER_EYE, AntarchyForgeMisc.TIME_CONTRACTION.get());
|
||||
addPotionMix(AntarchyForgeMisc.TIME_CONTRACTION.get(), Items.GLOWSTONE_DUST, AntarchyForgeMisc.LONG_TIME_CONTRACTION.get());
|
||||
|
||||
}
|
||||
|
||||
static void onMobEffectApplicable(MobEffectEvent.Applicable event) {
|
||||
@@ -1215,7 +1225,7 @@ public final class AntarchyForgeEvents {
|
||||
}
|
||||
|
||||
if (event.getEntity().getType().is(AntarchyTags.Entities.INVERTED_IMMUNE)
|
||||
&& event.getEffectInstance().getEffect() == AntarchyForgeMisc.INVERTED.get()) {
|
||||
&& event.getEffectInstance().getEffect() == AnthologyEffects.inverted()) {
|
||||
event.setResult(net.minecraftforge.eventbus.api.Event.Result.DENY);
|
||||
return;
|
||||
}
|
||||
@@ -1233,18 +1243,17 @@ public final class AntarchyForgeEvents {
|
||||
}
|
||||
|
||||
if (event.getEntity() instanceof Player player
|
||||
&& event.getEffectInstance().getEffect() == AntarchyForgeMisc.INVERTED.get()
|
||||
&& !player.hasEffect(AntarchyForgeMisc.INVERTED.get())) {
|
||||
&& event.getEffectInstance().getEffect() == AnthologyEffects.inverted()
|
||||
&& !player.hasEffect(AnthologyEffects.inverted())) {
|
||||
notifyNearbyReveriesOfInversionChange(player);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void onInvertedEffectRemoved(MobEffectEvent.Remove event) {
|
||||
if (event.getEffect() != AntarchyForgeMisc.INVERTED.get()) return;
|
||||
if (event.getEffect() != AnthologyEffects.inverted()) return;
|
||||
LivingEntity entity = event.getEntity();
|
||||
if (!entity.level().isClientSide()) {
|
||||
com.craisinlord.antarchy.content.gravity.AntarchyMountedGravityHelper.syncConnectedStackIgnoring(entity, entity);
|
||||
com.craisinlord.anthology.gravity.MountedGravityHelper.syncConnectedStackIgnoring(entity, entity);
|
||||
if (entity instanceof Player player) {
|
||||
notifyNearbyReveriesOfInversionChange(player);
|
||||
}
|
||||
@@ -1252,7 +1261,7 @@ public final class AntarchyForgeEvents {
|
||||
}
|
||||
|
||||
static void handleBlockToolModification(BlockEvent.BlockToolModificationEvent event) {
|
||||
if (event.getToolAction() != net.minecraftforge.common.ToolActions.AXE_STRIP) {
|
||||
if (event.getToolAction() != ToolActions.AXE_STRIP) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1288,18 +1297,52 @@ public final class AntarchyForgeEvents {
|
||||
|
||||
if (state.is(AntarchyForgeBlocks.PEACH_WOOD.get())) {
|
||||
event.setFinalState(AntarchyForgeBlocks.STRIPPED_PEACH_WOOD.get().defaultBlockState().setValue(RotatedPillarBlock.AXIS, state.getValue(RotatedPillarBlock.AXIS)));
|
||||
return;
|
||||
}
|
||||
|
||||
if (state.is(AntarchyForgeBlocks.NADIR_LOG.get())) {
|
||||
event.setFinalState(AntarchyForgeBlocks.STRIPPED_NADIR_LOG.get().defaultBlockState().setValue(RotatedPillarBlock.AXIS, state.getValue(RotatedPillarBlock.AXIS)));
|
||||
return;
|
||||
}
|
||||
|
||||
if (state.is(AntarchyForgeBlocks.NADIR_WOOD.get())) {
|
||||
event.setFinalState(AntarchyForgeBlocks.STRIPPED_NADIR_WOOD.get().defaultBlockState().setValue(RotatedPillarBlock.AXIS, state.getValue(RotatedPillarBlock.AXIS)));
|
||||
return;
|
||||
}
|
||||
|
||||
if (state.is(AntarchyForgeBlocks.ROYAL_LOG.get())) {
|
||||
event.setFinalState(AntarchyForgeBlocks.STRIPPED_ROYAL_LOG.get().defaultBlockState().setValue(RotatedPillarBlock.AXIS, state.getValue(RotatedPillarBlock.AXIS)));
|
||||
return;
|
||||
}
|
||||
|
||||
if (state.is(AntarchyForgeBlocks.ROYAL_WOOD.get())) {
|
||||
event.setFinalState(AntarchyForgeBlocks.STRIPPED_ROYAL_WOOD.get().defaultBlockState().setValue(RotatedPillarBlock.AXIS, state.getValue(RotatedPillarBlock.AXIS)));
|
||||
}
|
||||
}
|
||||
|
||||
static void onCommonSetup(FMLCommonSetupEvent event) {
|
||||
BloodCrystalShardItem.SYNC_BLOODGLASS = AntarchyForgeEvents::syncBloodglass;
|
||||
if (com.craisinlord.antarchy.compat.infinity.InfinityCompat.get().isAvailable()) {
|
||||
com.craisinlord.antarchy.compat.infinity.InfinityConfigRefresh.refreshIfStale(net.minecraftforge.fml.loading.FMLPaths.CONFIGDIR.get());
|
||||
}
|
||||
event.enqueueWork(() -> {
|
||||
Holder<net.minecraft.world.entity.ai.village.poi.PoiType> computerPoi = BuiltInRegistries.POINT_OF_INTEREST_TYPE.getHolderOrThrow(
|
||||
net.minecraft.resources.ResourceKey.create(Registries.POINT_OF_INTEREST_TYPE,
|
||||
new net.minecraft.resources.ResourceLocation(Antarchy.MODID, "computer")));
|
||||
net.minecraft.world.level.block.Block computerBlock = com.craisinlord.antos.forge.AntOSForgeContent.COMPUTER.get();
|
||||
for (net.minecraft.world.level.block.state.BlockState state : computerBlock.getStateDefinition().getPossibleStates()) {
|
||||
PoiTypesAccessor.antarchy$getTypeByState().put(state, computerPoi);
|
||||
}
|
||||
|
||||
registerBrewingRecipes();
|
||||
DispenserBlock.registerBehavior(AntarchyForgeItems.SHRINK_RAY.get(), new SizeRayDispenseBehavior());
|
||||
DispenserBlock.registerBehavior(AntarchyForgeItems.GROWTH_RAY.get(), new SizeRayDispenseBehavior());
|
||||
DispenserBlock.registerBehavior(AntarchyForgeItems.SQUIDZOOKA.get(), new SquidzookaDispenseBehavior());
|
||||
DispenserBlock.registerBehavior(AntarchyForgeItems.RPO_LAUNCHER.get(), new RpoLauncherDispenseBehavior());
|
||||
DispenserBlock.registerBehavior(AntarchyForgeItems.WATER_CANNON.get(), new WaterCannonDispenseBehavior());
|
||||
DispenserBlock.registerBehavior(AntarchyForgeItems.VORTEX_CHARGE.get(), new com.craisinlord.antarchy.content.dispenser.VortexChargeDispenseBehavior());
|
||||
DispenserBlock.registerBehavior(AntarchyForgeItems.EYE_OF_THE_STORM.get(), new com.craisinlord.antarchy.content.dispenser.EyeOfTheStormDispenseBehavior());
|
||||
DispenserBlock.registerBehavior(AntarchyForgeItems.BUG_SPRAY.get(), new BugSprayDispenseBehavior());
|
||||
AntimetalMinecartDispenseBehavior antimetalMinecartDispenseBehavior = new AntimetalMinecartDispenseBehavior();
|
||||
DispenserBlock.registerBehavior(Items.MINECART, antimetalMinecartDispenseBehavior);
|
||||
DispenserBlock.registerBehavior(Items.CHEST_MINECART, antimetalMinecartDispenseBehavior);
|
||||
@@ -1308,7 +1351,7 @@ public final class AntarchyForgeEvents {
|
||||
DispenserBlock.registerBehavior(Items.HOPPER_MINECART, antimetalMinecartDispenseBehavior);
|
||||
DispenserBlock.registerBehavior(Items.COMMAND_BLOCK_MINECART, antimetalMinecartDispenseBehavior);
|
||||
LucidEyeProjectileEntity.defaultItemSupplier = () -> AntarchyForgeItems.LUCID_PEARL.get();
|
||||
LucidEntity.invertedEffectSupplier = () -> AntarchyForgeMisc.INVERTED.get();
|
||||
LucidEntity.invertedEffectSupplier = AnthologyEffects::inverted;
|
||||
FluidInteractionRegistry.addInteraction(
|
||||
AntarchyForgeFluidTypes.ANTIWATER_TYPE.get(),
|
||||
new FluidInteractionRegistry.InteractionInformation(
|
||||
@@ -1319,26 +1362,12 @@ public final class AntarchyForgeEvents {
|
||||
)
|
||||
);
|
||||
LucidEntity.boltEntityTypeSupplier = () -> AntarchyForgeEntites.LUCID_BOLT.get();
|
||||
LucidBoltEntity.invertedEffectSupplier = () -> AntarchyForgeMisc.INVERTED.get();
|
||||
LucidEyeProjectileEntity.invertedEffectSupplier = () -> AntarchyForgeMisc.INVERTED.get();
|
||||
MultipartFramework.bootstrap(
|
||||
(owner, partIndex, spec) -> new MultipartPartEntity((Entity) owner, owner, partIndex, spec),
|
||||
new MultipartFramework.NetworkBridge() {
|
||||
@Override
|
||||
public void sendAttack(java.util.UUID parentId, int partIndex, float damage) {
|
||||
AntarchyForgeNetworkCore.sendToServer(
|
||||
new com.craisinlord.antarchy.content.entity.multipart.network.MultipartAttackPayload(parentId, partIndex, damage)
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendInteract(java.util.UUID parentId, int partIndex, int handId) {
|
||||
AntarchyForgeNetworkCore.sendToServer(
|
||||
new com.craisinlord.antarchy.content.entity.multipart.network.MultipartInteractPayload(parentId, partIndex, handId)
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
LucidBoltEntity.invertedEffectSupplier = AnthologyEffects::inverted;
|
||||
LucidEyeProjectileEntity.invertedEffectSupplier = AnthologyEffects::inverted;
|
||||
VortexEntity.windVortexTypeSupplier = () -> AntarchyForgeEntites.WIND_VORTEX.get();
|
||||
VortexChargeProjectileEntity.defaultItemSupplier = () -> AntarchyForgeItems.VORTEX_CHARGE.get();
|
||||
VortexChargeProjectileEntity.projectileTypeSupplier = () -> AntarchyForgeEntites.VORTEX_CHARGE_PROJECTILE.get();
|
||||
VortexChargeProjectileEntity.windVortexTypeSupplier = () -> AntarchyForgeEntites.WIND_VORTEX.get();
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyForgeBlocks.UMBRAL_MOSS_BLOCK.get().asItem(), 0.65f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyForgeBlocks.UMBRAL_MOSS_CARPET.get().asItem(), 0.3f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyForgeBlocks.BLUSH_MOSS_BLOCK.get().asItem(), 0.65f);
|
||||
@@ -1348,6 +1377,11 @@ public final class AntarchyForgeEvents {
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyForgeBlocks.PEACH_LEAVES.get().asItem(), 0.3f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyForgeItems.PEACH_SAPLING_ITEM.get(), 0.3f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyForgeItems.NADIR_SAPLING_ITEM.get(), 0.3f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyForgeItems.NADIR_FERN_ITEM.get(), 0.3f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyForgeItems.LARGE_NADIR_FERN_ITEM.get(), 0.5f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyForgeItems.DUSKBELL_ITEM.get(), 0.65f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyForgeItems.WHIRLFLOWER_ITEM.get(), 0.65f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyForgeItems.GOREVINE_ITEM.get(), 0.5f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyForgeItems.CORN.get(), 0.65f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyForgeItems.CORN_SEEDS.get(), 0.3f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyForgeItems.PEACH.get(), 0.65f);
|
||||
|
||||
+570
-140
File diff suppressed because it is too large.
Load diff
+142
-86
@@ -1,19 +1,18 @@
|
||||
package com.craisinlord.antarchy.forge.registry;
|
||||
|
||||
import com.craisinlord.anthology.effect.AnthologyEffects;
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.client.particle.InvertedGeyserBaseParticleOptions;
|
||||
import com.craisinlord.antarchy.content.client.particle.InvertedGeyserParticleOptions;
|
||||
import com.craisinlord.antarchy.content.effect.DreadMobEffect;
|
||||
import com.craisinlord.antarchy.content.effect.BleedingMobEffect;
|
||||
import com.craisinlord.antarchy.content.effect.BloodMoonMobEffect;
|
||||
import com.craisinlord.antarchy.content.effect.GoopedMobEffect;
|
||||
import com.craisinlord.antarchy.content.effect.GrowthMobEffect;
|
||||
import com.craisinlord.antarchy.content.effect.InvertedMobEffect;
|
||||
import com.craisinlord.antarchy.content.effect.CommandedMobEffect;
|
||||
import com.craisinlord.antarchy.content.effect.ParalyzedMobEffect;
|
||||
import com.craisinlord.antarchy.content.effect.ShrinkMobEffect;
|
||||
import com.craisinlord.antarchy.content.effect.StinkyMobEffect;
|
||||
import com.craisinlord.antarchy.content.effect.DilatedMobEffect;
|
||||
import com.craisinlord.antarchy.content.effect.ContractedMobEffect;
|
||||
import com.craisinlord.antarchy.content.enchantment.ChronosphereEnchantment;
|
||||
import com.craisinlord.antarchy.content.enchantment.FeatherRisingEnchantment;
|
||||
import com.craisinlord.antarchy.content.recipe.AmericanizeRecipe;
|
||||
import com.craisinlord.antarchy.content.worldgen.ants.BrownAntNestFeature;
|
||||
import com.craisinlord.antarchy.content.worldgen.ants.RainbowAntNestFeature;
|
||||
@@ -33,18 +32,21 @@ import com.craisinlord.antarchy.content.worldgen.elythia.*;
|
||||
import com.craisinlord.antarchy.forge.worldgen.CornPatchFeature;
|
||||
import com.craisinlord.antarchy.forge.worldgen.LumenLilyPadFeature;
|
||||
import com.craisinlord.antarchy.content.worldgen.thoraxis.*;
|
||||
import com.craisinlord.antarchy.content.worldgen.truffalo.*;
|
||||
import com.craisinlord.antarchy.content.worldgen.royal.*;
|
||||
import com.craisinlord.antarchy.forge.content.fluid.AntiwaterFluid;
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.core.particles.ParticleType;
|
||||
import net.minecraft.core.particles.SimpleParticleType;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.core.particles.SimpleParticleType;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.world.flag.FeatureFlags;
|
||||
import net.minecraft.world.effect.MobEffect;
|
||||
import net.minecraft.world.effect.MobEffectInstance;
|
||||
import net.minecraft.world.effect.MobEffects;
|
||||
import net.minecraft.world.entity.ai.attributes.Attribute;
|
||||
import net.minecraft.world.entity.EquipmentSlot;
|
||||
import net.minecraft.world.entity.ai.village.poi.PoiType;
|
||||
import net.minecraft.world.entity.npc.VillagerProfession;
|
||||
import net.minecraft.world.inventory.MenuType;
|
||||
import net.minecraft.world.item.alchemy.Potion;
|
||||
import net.minecraft.world.item.enchantment.Enchantment;
|
||||
@@ -61,6 +63,39 @@ import net.minecraftforge.registries.RegistryObject;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
|
||||
public final class AntarchyForgeMisc {
|
||||
private static final DeferredRegister<PoiType> POI_TYPES = DeferredRegister.create(Registries.POINT_OF_INTEREST_TYPE, Antarchy.MODID);
|
||||
private static final DeferredRegister<VillagerProfession> VILLAGER_PROFESSIONS = DeferredRegister.create(Registries.VILLAGER_PROFESSION, Antarchy.MODID);
|
||||
|
||||
public static final RegistryObject<PoiType> COMPUTER_POI = POI_TYPES.register("computer",
|
||||
() -> new PoiType(
|
||||
java.util.Set.copyOf(com.craisinlord.antos.forge.AntOSForgeContent.COMPUTER.get().getStateDefinition().getPossibleStates()),
|
||||
1,
|
||||
1));
|
||||
|
||||
public static final RegistryObject<VillagerProfession> COMPUTER_SCIENTIST = VILLAGER_PROFESSIONS.register("computer_scientist",
|
||||
() -> new VillagerProfession(
|
||||
"computer_scientist",
|
||||
holder -> holder.value() == COMPUTER_POI.get(),
|
||||
holder -> holder.value() == COMPUTER_POI.get(),
|
||||
com.google.common.collect.ImmutableSet.of(),
|
||||
com.google.common.collect.ImmutableSet.of(),
|
||||
net.minecraft.sounds.SoundEvents.VILLAGER_WORK_LIBRARIAN));
|
||||
|
||||
public static final RegistryObject<PoiType> PEST_CONTROL_POI = POI_TYPES.register("pest_control",
|
||||
() -> new PoiType(java.util.Set.copyOf(AntarchyForgeBlocks.ANT_TRAP.get().getStateDefinition().getPossibleStates()), 1, 1));
|
||||
|
||||
public static final RegistryObject<PoiType> ELYTHIA_PORTAL_POI = POI_TYPES.register("elythia_portal",
|
||||
() -> new PoiType(java.util.Set.copyOf(AntarchyForgeBlocks.ELYTHIA_PORTAL.get().getStateDefinition().getPossibleStates()), 0, 1));
|
||||
|
||||
public static final RegistryObject<PoiType> THORAXIS_PORTAL_POI = POI_TYPES.register("thoraxis_portal",
|
||||
() -> new PoiType(java.util.Set.copyOf(AntarchyForgeBlocks.THORAXIS_PORTAL.get().getStateDefinition().getPossibleStates()), 0, 1));
|
||||
|
||||
public static final RegistryObject<PoiType> CAVARYN_PORTAL_POI = POI_TYPES.register("cavaryn_portal",
|
||||
() -> new PoiType(java.util.Set.copyOf(AntarchyForgeBlocks.CAVARYN_PORTAL.get().getStateDefinition().getPossibleStates()), 0, 1));
|
||||
|
||||
public static final RegistryObject<VillagerProfession> PEST_CONTROL = VILLAGER_PROFESSIONS.register("pest_control",
|
||||
() -> new VillagerProfession("pest_control", holder -> holder.value() == PEST_CONTROL_POI.get(),
|
||||
holder -> holder.value() == PEST_CONTROL_POI.get(), com.google.common.collect.ImmutableSet.of(), com.google.common.collect.ImmutableSet.of(), net.minecraft.sounds.SoundEvents.VILLAGER_WORK_FLETCHER));
|
||||
private static final DeferredRegister<MobEffect> MOB_EFFECTS = DeferredRegister.create(Registries.MOB_EFFECT, Antarchy.MODID);
|
||||
private static final DeferredRegister<Potion> POTIONS = DeferredRegister.create(Registries.POTION, Antarchy.MODID);
|
||||
private static final DeferredRegister<FluidType> FLUID_TYPES = DeferredRegister.create(ForgeRegistries.Keys.FLUID_TYPES, Antarchy.MODID);
|
||||
@@ -73,9 +108,9 @@ public final class AntarchyForgeMisc {
|
||||
private static final DeferredRegister<MenuType<?>> MENU_TYPES = DeferredRegister.create(Registries.MENU, Antarchy.MODID);
|
||||
private static final DeferredRegister<Enchantment> ENCHANTMENTS = DeferredRegister.create(Registries.ENCHANTMENT, Antarchy.MODID);
|
||||
public static final RegistryObject<Enchantment> FEATHER_RISING = ENCHANTMENTS.register("feather_rising",
|
||||
() -> new FeatherRisingEnchantment(Enchantment.Rarity.RARE, EquipmentSlot.FEET));
|
||||
() -> new com.craisinlord.antarchy.content.enchantment.FeatherRisingEnchantment());
|
||||
public static final RegistryObject<Enchantment> CHRONOSPHERE = ENCHANTMENTS.register("chronosphere",
|
||||
() -> new ChronosphereEnchantment(Enchantment.Rarity.RARE, EquipmentSlot.CHEST));
|
||||
() -> new com.craisinlord.antarchy.content.enchantment.ChronosphereEnchantment());
|
||||
private static final DeferredRegister<net.minecraft.world.entity.animal.FrogVariant> FROG_VARIANTS =
|
||||
DeferredRegister.create(Registries.FROG_VARIANT, Antarchy.MODID);
|
||||
public static final RegistryObject<net.minecraft.world.entity.animal.FrogVariant> ELYTHIA_FROG_VARIANT = FROG_VARIANTS.register(
|
||||
@@ -87,11 +122,9 @@ public final class AntarchyForgeMisc {
|
||||
|
||||
public static final RegistryObject<net.minecraft.world.item.crafting.RecipeSerializer<AmericanizeRecipe>> AMERICANIZE_SERIALIZER =
|
||||
RECIPE_SERIALIZERS.register("americanize", () -> AmericanizeRecipe.SERIALIZER);
|
||||
public static final RegistryObject<net.minecraft.world.item.crafting.RecipeSerializer<com.craisinlord.antarchy.content.recipe.PortalGunVariantRecipe>> PORTAL_GUN_VARIANT_SERIALIZER =
|
||||
RECIPE_SERIALIZERS.register("portal_gun_variant", () -> com.craisinlord.antarchy.content.recipe.PortalGunVariantRecipe.SERIALIZER);
|
||||
|
||||
public static final RegistryObject<Attribute> SCALE = ATTRIBUTES.register(
|
||||
"scale",
|
||||
() -> new net.minecraft.world.entity.ai.attributes.RangedAttribute("attribute.antarchy.scale", 1.0, 0.0625, 16.0).setSyncable(true)
|
||||
);
|
||||
public static final RegistryObject<Attribute> DOUBLE_DAMAGE_CHANCE = ATTRIBUTES.register(
|
||||
"double_damage_chance",
|
||||
() -> new net.minecraft.world.entity.ai.attributes.RangedAttribute("attribute.antarchy.double_damage_chance", 0.0, 0.0, 1.0).setSyncable(true)
|
||||
@@ -104,55 +137,70 @@ public final class AntarchyForgeMisc {
|
||||
"dorrie_inventory",
|
||||
() -> new MenuType<>(com.craisinlord.antarchy.content.menu.DorrieInventoryMenu::new, FeatureFlags.DEFAULT_FLAGS)
|
||||
);
|
||||
public static final RegistryObject<MenuType<com.craisinlord.antarchy.content.menu.RoyalJudgmentMenu>> ROYAL_JUDGMENT_MENU = MENU_TYPES.register(
|
||||
"royal_judgment",
|
||||
() -> new MenuType<>(com.craisinlord.antarchy.content.menu.RoyalJudgmentMenu::new, FeatureFlags.DEFAULT_FLAGS)
|
||||
);
|
||||
public static final RegistryObject<MenuType<com.craisinlord.antarchy.content.menu.GiantFryingPanMenu>> GIANT_FRYING_PAN_MENU = MENU_TYPES.register(
|
||||
"giant_frying_pan",
|
||||
() -> new MenuType<>(com.craisinlord.antarchy.content.menu.GiantFryingPanMenu::new, FeatureFlags.DEFAULT_FLAGS)
|
||||
);
|
||||
|
||||
// Mob effects
|
||||
public static final RegistryObject<DreadMobEffect> DREAD = MOB_EFFECTS.register("dread", DreadMobEffect::new);
|
||||
public static final RegistryObject<BleedingMobEffect> BLEEDING = MOB_EFFECTS.register("bleeding", BleedingMobEffect::new);
|
||||
public static final RegistryObject<BloodMoonMobEffect> BLOOD_MOON = MOB_EFFECTS.register("blood_moon", BloodMoonMobEffect::new);
|
||||
public static final RegistryObject<ParalyzedMobEffect> PARALYZED = MOB_EFFECTS.register("paralyzed", ParalyzedMobEffect::new);
|
||||
public static final RegistryObject<InvertedMobEffect> INVERTED = MOB_EFFECTS.register("inverted", InvertedMobEffect::new);
|
||||
public static final RegistryObject<DilatedMobEffect> DILATED = MOB_EFFECTS.register("dilated", DilatedMobEffect::new);
|
||||
public static final RegistryObject<ContractedMobEffect> CONTRACTED = MOB_EFFECTS.register("contracted", ContractedMobEffect::new);
|
||||
public static final RegistryObject<CommandedMobEffect> COMMANDED = MOB_EFFECTS.register("commanded", CommandedMobEffect::new);
|
||||
public static final RegistryObject<StinkyMobEffect> STINKY = MOB_EFFECTS.register("stinky", StinkyMobEffect::new);
|
||||
public static final RegistryObject<GoopedMobEffect> GOOPED = MOB_EFFECTS.register("gooped", GoopedMobEffect::new);
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.effect.BloodglassWardEffect> BLOODGLASS_WARD = MOB_EFFECTS.register("bloodglass_ward", com.craisinlord.antarchy.content.effect.BloodglassWardEffect::new);
|
||||
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.effect.GlimmeringMobEffect> GLIMMERING = MOB_EFFECTS.register("glimmering", com.craisinlord.antarchy.content.effect.GlimmeringMobEffect::new);
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.effect.RoyalVitalityPenaltyEffect> ROYAL_VITALITY_PENALTY = MOB_EFFECTS.register("royal_vitality_penalty", com.craisinlord.antarchy.content.effect.RoyalVitalityPenaltyEffect::new);
|
||||
public static final RegistryObject<ShrinkMobEffect> SHRINKING_EFFECT = MOB_EFFECTS.register("shrinking", ShrinkMobEffect::new);
|
||||
public static final RegistryObject<GrowthMobEffect> GROWTH_EFFECT = MOB_EFFECTS.register("growth", GrowthMobEffect::new);
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.effect.GlimmeringMobEffect> GLIMMERING = MOB_EFFECTS.register("glimmering", com.craisinlord.antarchy.content.effect.GlimmeringMobEffect::new);
|
||||
|
||||
// Potions
|
||||
public static final RegistryObject<Potion> INVERSION = POTIONS.register("inversion",
|
||||
() -> new Potion(new MobEffectInstance(mobEffectHolder(INVERTED), 600)));
|
||||
() -> new Potion(new MobEffectInstance(AnthologyEffects.inverted(), 600)));
|
||||
public static final RegistryObject<Potion> LONG_INVERSION = POTIONS.register("long_inversion",
|
||||
() -> new Potion("inversion", new MobEffectInstance(mobEffectHolder(INVERTED), 2400)));
|
||||
() -> new Potion("inversion", new MobEffectInstance(AnthologyEffects.inverted(), 2400)));
|
||||
public static final RegistryObject<Potion> COMMAND = POTIONS.register("command",
|
||||
() -> new Potion(new MobEffectInstance(COMMANDED.get(), 600)));
|
||||
public static final RegistryObject<Potion> LONG_COMMAND = POTIONS.register("long_command",
|
||||
() -> new Potion("command", new MobEffectInstance(COMMANDED.get(), 1200)));
|
||||
public static final RegistryObject<Potion> TIME_DILATION = POTIONS.register("time_dilation",
|
||||
() -> new Potion(new MobEffectInstance(mobEffectHolder(DILATED), 1200)));
|
||||
() -> new Potion(new MobEffectInstance(AnthologyEffects.dilated(), 1200)));
|
||||
public static final RegistryObject<Potion> LONG_TIME_DILATION = POTIONS.register("long_time_dilation",
|
||||
() -> new Potion("time_dilation", new MobEffectInstance(mobEffectHolder(DILATED), 1200, 1)));
|
||||
() -> new Potion("time_dilation", new MobEffectInstance(AnthologyEffects.dilated(), 1200, 1)));
|
||||
public static final RegistryObject<Potion> TIME_CONTRACTION = POTIONS.register("time_contraction",
|
||||
() -> new Potion(new MobEffectInstance(AnthologyEffects.contracted(), 1200)));
|
||||
public static final RegistryObject<Potion> LONG_TIME_CONTRACTION = POTIONS.register("long_time_contraction",
|
||||
() -> new Potion("time_contraction", new MobEffectInstance(AnthologyEffects.contracted(), 1200, 1)));
|
||||
public static final RegistryObject<Potion> STINKY_POTION = POTIONS.register("stinky",
|
||||
() -> new Potion(new MobEffectInstance(mobEffectHolder(STINKY), 1200)));
|
||||
() -> new Potion(new MobEffectInstance(STINKY.get(), 1200)));
|
||||
public static final RegistryObject<Potion> LONG_STINKY = POTIONS.register("long_stinky",
|
||||
() -> new Potion("stinky", new MobEffectInstance(mobEffectHolder(STINKY), 2400)));
|
||||
() -> new Potion("stinky", new MobEffectInstance(STINKY.get(), 2400)));
|
||||
public static final RegistryObject<Potion> PARALYSIS = POTIONS.register("paralysis",
|
||||
() -> new Potion(new MobEffectInstance(mobEffectHolder(PARALYZED), 200)));
|
||||
() -> new Potion(new MobEffectInstance(PARALYZED.get(), 200)));
|
||||
public static final RegistryObject<Potion> LONG_PARALYSIS = POTIONS.register("long_paralysis",
|
||||
() -> new Potion("paralysis", new MobEffectInstance(mobEffectHolder(PARALYZED), 400)));
|
||||
() -> new Potion("paralysis", new MobEffectInstance(PARALYZED.get(), 400)));
|
||||
public static final RegistryObject<Potion> HASTE = POTIONS.register("haste",
|
||||
() -> new Potion(new MobEffectInstance(MobEffects.DIG_SPEED, 1200, 0)));
|
||||
public static final RegistryObject<Potion> STRONG_HASTE = POTIONS.register("strong_haste",
|
||||
() -> new Potion("haste", new MobEffectInstance(MobEffects.DIG_SPEED, 600, 1)));
|
||||
public static final RegistryObject<Potion> SHRINKING = POTIONS.register("shrinking",
|
||||
() -> new Potion(new MobEffectInstance(mobEffectHolder(SHRINKING_EFFECT), 1200, 0)));
|
||||
() -> new Potion(new MobEffectInstance(SHRINKING_EFFECT.get(), 1200, 0)));
|
||||
public static final RegistryObject<Potion> STRONG_SHRINKING = POTIONS.register("strong_shrinking",
|
||||
() -> new Potion("shrinking", new MobEffectInstance(mobEffectHolder(SHRINKING_EFFECT), 900, 1)));
|
||||
() -> new Potion("shrinking", new MobEffectInstance(SHRINKING_EFFECT.get(), 900, 1)));
|
||||
public static final RegistryObject<Potion> EXTREME_SHRINKING = POTIONS.register("extreme_shrinking",
|
||||
() -> new Potion("shrinking", new MobEffectInstance(mobEffectHolder(SHRINKING_EFFECT), 600, 2)));
|
||||
() -> new Potion("shrinking", new MobEffectInstance(SHRINKING_EFFECT.get(), 600, 2)));
|
||||
public static final RegistryObject<Potion> GROWING = POTIONS.register("growing",
|
||||
() -> new Potion(new MobEffectInstance(mobEffectHolder(GROWTH_EFFECT), 1200, 0)));
|
||||
() -> new Potion(new MobEffectInstance(GROWTH_EFFECT.get(), 1200, 0)));
|
||||
public static final RegistryObject<Potion> STRONG_GROWING = POTIONS.register("strong_growing",
|
||||
() -> new Potion("growing", new MobEffectInstance(mobEffectHolder(GROWTH_EFFECT), 900, 1)));
|
||||
() -> new Potion("growing", new MobEffectInstance(GROWTH_EFFECT.get(), 900, 1)));
|
||||
public static final RegistryObject<Potion> EXTREME_GROWING = POTIONS.register("extreme_growing",
|
||||
() -> new Potion("growing", new MobEffectInstance(mobEffectHolder(GROWTH_EFFECT), 600, 2)));
|
||||
() -> new Potion("growing", new MobEffectInstance(GROWTH_EFFECT.get(), 600, 2)));
|
||||
|
||||
// Fluids
|
||||
public static final RegistryObject<Fluid> BILE = FLUIDS.register("bile",
|
||||
() -> new ForgeFlowingFluid.Source(bileProperties()));
|
||||
public static final RegistryObject<Fluid> FLOWING_BILE = FLUIDS.register("flowing_bile",
|
||||
@@ -170,41 +218,42 @@ public final class AntarchyForgeMisc {
|
||||
public static final RegistryObject<Fluid> FLOWING_LUMEN = FLUIDS.register("flowing_lumen",
|
||||
() -> new ForgeFlowingFluid.Flowing(lumenProperties()));
|
||||
|
||||
// Particle types
|
||||
public static final RegistryObject<SimpleParticleType> DREAM_FIRE_FLAME = PARTICLE_TYPES.register("dream_fire_flame",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> BUG_SPRAY_PARTICLE = PARTICLE_TYPES.register("bug_spray",
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> NIGHTMARE_FIRE_FLAME = PARTICLE_TYPES.register("nightmare_fire_flame",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> STINKY_GAS = PARTICLE_TYPES.register("stinky_gas",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> STINKY_FLY = PARTICLE_TYPES.register("stinky_fly",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> PEACH_LEAVES_PARTICLE = PARTICLE_TYPES.register("peach_leaves_particle",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> LOTUS_POLLEN = PARTICLE_TYPES.register("lotus_pollen",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> HYPNOTIC_GAS = PARTICLE_TYPES.register("hypnotic_gas",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> HYPNOTIC_GAS_CLOUD = PARTICLE_TYPES.register("hypnotic_gas_cloud",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> HYPNOTIC_GAS_DOWN = PARTICLE_TYPES.register("hypnotic_gas_down",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> HYPNOTIC_GAS_CLOUD_DOWN = PARTICLE_TYPES.register("hypnotic_gas_cloud_down",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> FIREFLY = PARTICLE_TYPES.register("firefly",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> ORANGE_ASH = PARTICLE_TYPES.register("orange_ash",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> LUCID_BOLT_IMPACT_SMALL = PARTICLE_TYPES.register("lucid_bolt_impact_small",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> LUCID_BOLT_IMPACT_LARGE = PARTICLE_TYPES.register("lucid_bolt_impact_large",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> UNDERTRIAL_SPAWNER_DETECTION = PARTICLE_TYPES.register("undertrial_spawner_detection",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> UNDERTRIAL_OMEN = PARTICLE_TYPES.register("undertrial_omen",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<SimpleParticleType> UNDERVAULT_CONNECTION = PARTICLE_TYPES.register("undervault_connection",
|
||||
AntarchyForgeMisc::simpleParticleType);
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final RegistryObject<ParticleType<InvertedGeyserBaseParticleOptions>> INVERTED_GEYSER_BASE = PARTICLE_TYPES.register("inverted_geyser_base",
|
||||
() -> particleType(InvertedGeyserBaseParticleOptions.deserializer()));
|
||||
public static final RegistryObject<ParticleType<InvertedGeyserParticleOptions>> INVERTED_GEYSER_PLUME = PARTICLE_TYPES.register("inverted_geyser_plume",
|
||||
@@ -214,7 +263,6 @@ public final class AntarchyForgeMisc {
|
||||
public static final RegistryObject<ParticleType<InvertedGeyserParticleOptions>> INVERTED_GEYSER_ERUPTION = PARTICLE_TYPES.register("inverted_geyser_eruption",
|
||||
() -> particleType(InvertedGeyserParticleOptions.deserializer()));
|
||||
|
||||
// Features
|
||||
public static final RegistryObject<RedAntNestFeature> RED_ANT_NEST_FEATURE = FEATURES.register("red_ant_nest",
|
||||
() -> new RedAntNestFeature(SimpleBlockConfiguration.CODEC));
|
||||
public static final RegistryObject<BrownAntNestFeature> BROWN_ANT_NEST_FEATURE = FEATURES.register("brown_ant_nest",
|
||||
@@ -235,11 +283,16 @@ public final class AntarchyForgeMisc {
|
||||
() -> new PeachTreeFeature(PeachTreeConfiguration.CODEC));
|
||||
public static final RegistryObject<PeachTreeFeature> PEACH_LARGE_TREE_FEATURE = FEATURES.register("peach_large_tree",
|
||||
() -> new PeachTreeFeature(PeachTreeConfiguration.CODEC));
|
||||
public static final RegistryObject<ElythiaFloraFeature> ELYTHIA_FOREST_FLORA = FEATURES.register("elythia_forest_flora",
|
||||
() -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.FOREST));
|
||||
|
||||
public static final RegistryObject<NadirTreeFeature> NADIR_TREE_FEATURE = FEATURES.register("nadir_tree",
|
||||
() -> new NadirTreeFeature(NadirTreeConfiguration.CODEC));
|
||||
public static final RegistryObject<TruffaloTreeFeature> TRUFFALO_TREE_FEATURE = FEATURES.register("truffalo_tree",
|
||||
() -> new TruffaloTreeFeature(TruffaloTreeConfiguration.CODEC));
|
||||
public static final RegistryObject<RoyalTreeFeature> ROYAL_TREE_FEATURE = FEATURES.register("royal_tree",
|
||||
() -> new RoyalTreeFeature(RoyalTreeConfiguration.CODEC));
|
||||
public static final RegistryObject<KingsTreeGridFeature> KINGS_TREE_GRID = FEATURES.register("kings_tree_grid",
|
||||
() -> new KingsTreeGridFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<ElythiaFloraFeature> ELYTHIA_FOREST_FLORA = FEATURES.register("elythia_forest_flora",
|
||||
() -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.FOREST));
|
||||
public static final RegistryObject<ElythiaFloraFeature> ELYTHIA_MEADOW_FLORA = FEATURES.register("elythia_meadow_flora",
|
||||
() -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.MEADOW));
|
||||
public static final RegistryObject<ElythiaFloraFeature> PEACH_FOREST_FLORA = FEATURES.register("peach_forest_flora",
|
||||
@@ -268,14 +321,20 @@ public final class AntarchyForgeMisc {
|
||||
() -> new MolewormWarrensFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<MolewormSurfaceMoundsFeature> ELYTHIA_MOLEWORM_SURFACE_MOUNDS = FEATURES.register("elythia_moleworm_surface_mounds",
|
||||
() -> new MolewormSurfaceMoundsFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<TriffidPatchFeature> TRIFFID_PATCH = FEATURES.register("flytrap_patch",
|
||||
() -> new TriffidPatchFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<FlytrapPatchFeature> FLYTRAP_PATCH = FEATURES.register("flytrap_patch",
|
||||
() -> new FlytrapPatchFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<ElythiaPondFeature> ELYTHIA_POND = FEATURES.register("elythia_pond",
|
||||
() -> new ElythiaPondFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<LumenPoolFeature> LUMEN_POOL = FEATURES.register("lumen_pools",
|
||||
() -> new LumenPoolFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<LumenLilyPadFeature> LUMEN_LILY_PADS = FEATURES.register("lumen_lily_pads",
|
||||
() -> new LumenLilyPadFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.worldgen.elythia.GlimmeringReedFeature> GLIMMERING_REEDS = FEATURES.register("glimmering_reeds",
|
||||
() -> new com.craisinlord.antarchy.content.worldgen.elythia.GlimmeringReedFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<NaturalDirectionalVineFeature> SPIRALING_VINES = FEATURES.register("spiraling_vines",
|
||||
() -> new NaturalDirectionalVineFeature(NoneFeatureConfiguration.CODEC, "spiraling_vines", net.minecraft.core.Direction.UP, 4, 12));
|
||||
public static final RegistryObject<NaturalDirectionalVineFeature> GOREVINE = FEATURES.register("gorevine",
|
||||
() -> new NaturalDirectionalVineFeature(NoneFeatureConfiguration.CODEC, "gorevine", net.minecraft.core.Direction.DOWN, 8, 16));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.worldgen.elythia.GiantLilyPadPatchFeature> GIANT_LILY_PAD_PATCH = FEATURES.register("giant_lily_pad_patch",
|
||||
() -> new com.craisinlord.antarchy.content.worldgen.elythia.GiantLilyPadPatchFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.worldgen.elythia.GiantLilyPadPatchFeature> GIANT_LILY_PAD_PATCH_PEACH_FOREST = FEATURES.register("giant_lily_pad_patch_peach_forest",
|
||||
@@ -294,24 +353,26 @@ public final class AntarchyForgeMisc {
|
||||
() -> new PeachForestPondFeature(PeachForestPondConfiguration.CODEC));
|
||||
public static final RegistryObject<CoralSpikeFeature> ELYTHIA_CORAL_SPIKE = FEATURES.register("elythia_coral_spike",
|
||||
() -> new CoralSpikeFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<DimensionalTearFeature> DIMENSIONAL_TEAR = FEATURES.register("dimensional_tear",
|
||||
() -> new DimensionalTearFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.worldgen.elythia.FallenOuranwoodFeature> FALLEN_OURANWOOD_TREE = FEATURES.register("fallen_ouranwood_tree",
|
||||
() -> new com.craisinlord.antarchy.content.worldgen.elythia.FallenOuranwoodFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.worldgen.elythia.FungalMushroomFeature> FUNGAL_MUSHROOM = FEATURES.register("fungal_mushroom",
|
||||
() -> new com.craisinlord.antarchy.content.worldgen.elythia.FungalMushroomFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<FallenOuranwoodFeature> FALLEN_OURANWOOD_TREE = FEATURES.register("fallen_ouranwood_tree",
|
||||
() -> new FallenOuranwoodFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<FungalMushroomFeature> FUNGAL_MUSHROOM = FEATURES.register("fungal_mushroom",
|
||||
() -> new FungalMushroomFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<ThoraxisFissureFeature> THORAXIS_FISSURE = FEATURES.register("thoraxis_fissure",
|
||||
() -> new ThoraxisFissureFeature(ThoraxisFissureConfiguration.CODEC));
|
||||
public static final RegistryObject<QueenHavocTrailFeature> QUEEN_HAVOC_TRAIL = FEATURES.register("queen_havoc_trail",
|
||||
QueenHavocTrailFeature::new);
|
||||
public static final RegistryObject<ThoraxisTransitionThroatFeature> THORAXIS_TRANSITION_THROAT = FEATURES.register("thoraxis_transition_throat",
|
||||
ThoraxisTransitionThroatFeature::new);
|
||||
public static final RegistryObject<QueenHavocTrailFeature> QUEEN_HAVOC_TRAIL = FEATURES.register("queen_havoc_trail",
|
||||
QueenHavocTrailFeature::new);
|
||||
public static final RegistryObject<ThoraxisRibColumnsFeature> THORAXIS_RIB_COLUMNS = FEATURES.register("thoraxis_rib_columns",
|
||||
() -> new ThoraxisRibColumnsFeature(ThoraxisRibColumnsConfiguration.CODEC));
|
||||
public static final RegistryObject<ThoraxisSpikeFeature> THORAXIS_SPIKE = FEATURES.register("thoraxis_spike",
|
||||
() -> new ThoraxisSpikeFeature(ThoraxisSpikeConfiguration.CODEC));
|
||||
public static final RegistryObject<NyxiteSpikeFeature> NYXITE_SPIKES = FEATURES.register("nyxite_spikes",
|
||||
() -> new NyxiteSpikeFeature(NyxiteSpikeConfiguration.CODEC));
|
||||
public static final RegistryObject<TyphoniteSpikeFeature> TYPHONITE_SPIKES = FEATURES.register("typhonite_spikes",
|
||||
() -> new TyphoniteSpikeFeature(TyphoniteSpikeConfiguration.CODEC));
|
||||
public static final RegistryObject<TyphoniteSwirlFeature> TYPHONITE_SWIRLS = FEATURES.register("typhonite_swirls",
|
||||
() -> new TyphoniteSwirlFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<ChitinSpikeFeature> CAVARYN_CHITIN_SPIKES = FEATURES.register("cavaryn_chitin_spikes",
|
||||
() -> new ChitinSpikeFeature(ChitinSpikeConfiguration.CODEC));
|
||||
public static final RegistryObject<CavarynBileVeinFeature> CAVARYN_BILE_VEINS = FEATURES.register("cavaryn_bile_veins",
|
||||
@@ -320,14 +381,16 @@ public final class AntarchyForgeMisc {
|
||||
() -> new CavarynBileCystFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<CavarynCreepvineFeature> CAVARYN_CREEPVINE = FEATURES.register("cavaryn_creepvine",
|
||||
() -> new CavarynCreepvineFeature(NoneFeatureConfiguration.CODEC));
|
||||
|
||||
public static final RegistryObject<HangingCreeprootsFeature> HANGING_CREEPROOTS = FEATURES.register("hanging_creeproots",
|
||||
() -> new HangingCreeprootsFeature(NoneFeatureConfiguration.CODEC));
|
||||
|
||||
public static final RegistryObject<MoltingVinesFeature> MOLTING_VINES = FEATURES.register("molting_vines",
|
||||
() -> new MoltingVinesFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.worldgen.cavaryn.GroundMoltingVinesFeature> GROUND_MOLTING_VINES = FEATURES.register("ground_molting_vines",
|
||||
() -> new com.craisinlord.antarchy.content.worldgen.cavaryn.GroundMoltingVinesFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.worldgen.cavaryn.JumpyBugEggCeilingFeature> JUMPY_BUG_EGG_CEILING = FEATURES.register("springbug_egg_ceiling",
|
||||
() -> new com.craisinlord.antarchy.content.worldgen.cavaryn.JumpyBugEggCeilingFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.worldgen.cavaryn.SpringbugEggCeilingFeature> SPRINGBUG_EGG_CEILING = FEATURES.register("springbug_egg_ceiling",
|
||||
() -> new com.craisinlord.antarchy.content.worldgen.cavaryn.SpringbugEggCeilingFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.worldgen.cavaryn.SpitBugEggPatchFeature> SPIT_BUG_EGG_PATCH = FEATURES.register("spit_bug_egg_patch",
|
||||
() -> new com.craisinlord.antarchy.content.worldgen.cavaryn.SpitBugEggPatchFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.worldgen.cavaryn.RollyCavesGiantCavernFeature> ROLLY_CAVES_GIANT_CAVERN = FEATURES.register("rolly_caves_giant_cavern",
|
||||
@@ -352,34 +415,29 @@ public final class AntarchyForgeMisc {
|
||||
() -> new com.craisinlord.antarchy.content.worldgen.mushroom.GlowcapHugeMushroomFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<com.craisinlord.antarchy.content.worldgen.mushroom.GlowcapHugeMushroomWorldgenFeature> HUGE_GLOWCAP_MUSHROOM_WORLDGEN = FEATURES.register("huge_glowcap_mushroom_worldgen",
|
||||
() -> new com.craisinlord.antarchy.content.worldgen.mushroom.GlowcapHugeMushroomWorldgenFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final RegistryObject<ThoraxisAntiwaterPoolFeature> THORAXIS_ANTIWATER_POOL = FEATURES.register("thoraxis_antiwater_pool",
|
||||
() -> new ThoraxisAntiwaterPoolFeature(ThoraxisAntiwaterPoolConfiguration.CODEC));
|
||||
public static final RegistryObject<LucidAntiwaterPoolFeature> LUCID_ANTIWATER_POOL = FEATURES.register("lucid_antiwater_pool",
|
||||
() -> new LucidAntiwaterPoolFeature(ThoraxisAntiwaterPoolConfiguration.CODEC));
|
||||
public static final RegistryObject<ThoraxisDuneFeature> THORAXIS_DUNE = FEATURES.register("thoraxis_dune",
|
||||
() -> new ThoraxisDuneFeature(ThoraxisDuneConfiguration.CODEC));
|
||||
public static final RegistryObject<DimensionalTearFeature> DIMENSIONAL_TEAR = FEATURES.register("dimensional_tear",
|
||||
() -> new DimensionalTearFeature(NoneFeatureConfiguration.CODEC));
|
||||
|
||||
public static final RegistryObject<ThoraxisIchorLakeFeature> THORAXIS_ICHOR_LAKE = FEATURES.register("thoraxis_ichor_lake",
|
||||
() -> new ThoraxisIchorLakeFeature(NoneFeatureConfiguration.CODEC));
|
||||
|
||||
// Biome sources
|
||||
public static final RegistryObject<com.mojang.serialization.Codec<ElythiaBiomeSource>> ELYTHIA_BIOME_SOURCE = BIOME_SOURCES.register("elythia_biome_source",
|
||||
() -> ElythiaBiomeSource.CODEC);
|
||||
public static final RegistryObject<com.mojang.serialization.Codec<ThoraxisBiomeSource>> THORAXIS_BIOME_SOURCE = BIOME_SOURCES.register("thoraxis_biome_source",
|
||||
() -> ThoraxisBiomeSource.CODEC);
|
||||
|
||||
// Density function
|
||||
public static final RegistryObject<com.mojang.serialization.Codec<ElythiaRiverCarveFunction>> ELYTHIA_RIVER_CARVE = DENSITY_FUNCTION_TYPES.register("elythia_river_carve",
|
||||
() -> ElythiaRiverCarveFunction.KEY_CODEC.codec());
|
||||
|
||||
private AntarchyForgeMisc() {}
|
||||
|
||||
public static MobEffect mobEffectHolder(RegistryObject<? extends MobEffect> effect) {
|
||||
return effect.get();
|
||||
}
|
||||
|
||||
public static Holder<Attribute> attributeHolder(RegistryObject<? extends Attribute> attribute) {
|
||||
return BuiltInRegistries.ATTRIBUTE.wrapAsHolder(attribute.get());
|
||||
}
|
||||
|
||||
public static void register(IEventBus modEventBus) {
|
||||
POI_TYPES.register(modEventBus);
|
||||
VILLAGER_PROFESSIONS.register(modEventBus);
|
||||
MOB_EFFECTS.register(modEventBus);
|
||||
POTIONS.register(modEventBus);
|
||||
FLUID_TYPES.register(modEventBus);
|
||||
@@ -395,7 +453,6 @@ public final class AntarchyForgeMisc {
|
||||
RECIPE_SERIALIZERS.register(modEventBus);
|
||||
}
|
||||
|
||||
|
||||
static ForgeFlowingFluid.Properties ichorProperties() {
|
||||
return new ForgeFlowingFluid.Properties(com.craisinlord.antarchy.forge.AntarchyForgeFluidTypes.ICHOR_TYPE, ICHOR, FLOWING_ICHOR)
|
||||
.bucket(() -> AntarchyForgeItems.ICHOR_BUCKET.get())
|
||||
@@ -432,11 +489,6 @@ public final class AntarchyForgeMisc {
|
||||
.tickRate(5);
|
||||
}
|
||||
|
||||
private static SimpleParticleType simpleParticleType() {
|
||||
return new SimpleParticleType(true) {
|
||||
};
|
||||
}
|
||||
|
||||
private static <T extends net.minecraft.core.particles.ParticleOptions> ParticleType<T> particleType(
|
||||
net.minecraft.core.particles.ParticleOptions.Deserializer<T> deserializer
|
||||
) {
|
||||
@@ -447,4 +499,8 @@ public final class AntarchyForgeMisc {
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public static Holder<Attribute> attributeHolder(RegistryObject<? extends Attribute> attribute) {
|
||||
return BuiltInRegistries.ATTRIBUTE.wrapAsHolder(attribute.get());
|
||||
}
|
||||
}
|
||||
+156
-24
@@ -1,46 +1,178 @@
|
||||
package com.craisinlord.antarchy.forge.registry;
|
||||
|
||||
import com.craisinlord.antarchy.content.network.BloodCrystalKatanaTrailPayload;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore;
|
||||
import com.craisinlord.antarchy.content.network.ToggleTigerEyeCamouflagePayload;
|
||||
import com.craisinlord.antarchy.content.item.TigerEyeArmorUtil;
|
||||
import com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageController;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyGravityNetworking;
|
||||
import com.craisinlord.antarchy.forge.network.BrutalflyElytraNetworking;
|
||||
import com.craisinlord.antarchy.forge.network.DorrieJumpNetworking;
|
||||
import com.craisinlord.antarchy.forge.network.HerculesBeetleNetworking;
|
||||
import com.craisinlord.antarchy.forge.network.JumpyBootsNetworking;
|
||||
import com.craisinlord.antarchy.forge.network.MultipartNetworking;
|
||||
import com.craisinlord.antarchy.forge.network.TigerEyeNetworking;
|
||||
import com.craisinlord.antarchy.forge.network.SpringyBootsNetworking;
|
||||
import com.craisinlord.antarchy.forge.network.AntarchyForgePayloadRegistrar;
|
||||
|
||||
public class AntarchyForgePayloadHandlers {
|
||||
private AntarchyForgePayloadHandlers() {}
|
||||
|
||||
public static void register() {
|
||||
AntarchyGravityNetworking.register();
|
||||
BrutalflyElytraNetworking.register();
|
||||
JumpyBootsNetworking.register();
|
||||
DorrieJumpNetworking.register();
|
||||
HerculesBeetleNetworking.register();
|
||||
TigerEyeNetworking.register();
|
||||
AntarchyForgeNetworkCore.registerS2C(
|
||||
com.craisinlord.antarchy.content.network.BloodglassStatePayload.class,
|
||||
registerPayloadHandlers(new AntarchyForgePayloadRegistrar());
|
||||
}
|
||||
|
||||
static void registerPayloadHandlers(AntarchyForgePayloadRegistrar registrar) {
|
||||
registrar.playToServer(
|
||||
com.craisinlord.antarchy.content.network.AntarchyGamePayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.AntarchyGamePayload.STREAM_CODEC,
|
||||
(payload, ctx) -> ctx.enqueueWork(() -> {
|
||||
if (ctx.player() instanceof net.minecraft.server.level.ServerPlayer player) {
|
||||
com.craisinlord.antarchy.content.network.AntarchyGameNetworkHandler.handle(player, payload);
|
||||
}
|
||||
})
|
||||
);
|
||||
registrar.playToClient(
|
||||
com.craisinlord.antarchy.content.network.AntarchyGameResultPayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.AntarchyGameResultPayload.STREAM_CODEC,
|
||||
(payload, ctx) -> ctx.enqueueWork(() -> com.craisinlord.antarchy.content.client.AntarchyGameClientState.update(payload))
|
||||
);
|
||||
AntarchyGravityNetworking.register(registrar);
|
||||
BrutalflyElytraNetworking.register(registrar);
|
||||
SpringyBootsNetworking.register(registrar);
|
||||
DorrieJumpNetworking.register(registrar);
|
||||
HerculesBeetleNetworking.register(registrar);
|
||||
registrar.playToClient(
|
||||
com.craisinlord.antarchy.content.network.KingJudgmentFlashPayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.KingJudgmentFlashPayload.STREAM_CODEC,
|
||||
(payload, ctx) -> ctx.enqueueWork(() ->
|
||||
com.craisinlord.antarchy.content.client.KingJudgmentFlashClientState.trigger(payload.durationTicks()))
|
||||
);
|
||||
registrar.playToClient(
|
||||
com.craisinlord.antarchy.content.network.BloodglassStatePayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.BloodglassStatePayload.STREAM_CODEC,
|
||||
payload -> com.craisinlord.antarchy.content.client.BloodglassClientState.update(payload.shieldsActive(), payload.shieldsMax())
|
||||
(payload, ctx) -> ctx.enqueueWork(() ->
|
||||
com.craisinlord.antarchy.content.client.BloodglassClientState.update(payload.shieldsActive(), payload.shieldsMax())
|
||||
)
|
||||
);
|
||||
AntarchyForgeNetworkCore.registerS2C(
|
||||
BloodCrystalKatanaTrailPayload.class,
|
||||
registrar.playToClient(
|
||||
com.craisinlord.antarchy.content.network.TigerEyeCamouflageStatePayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.TigerEyeCamouflageStatePayload.STREAM_CODEC,
|
||||
(payload, ctx) -> ctx.enqueueWork(() ->
|
||||
com.craisinlord.antarchy.content.client.TigerEyeCamouflageClientState.update(payload.entityId(), payload.active(), payload.blockStateId())
|
||||
)
|
||||
);
|
||||
registrar.playToServer(
|
||||
com.craisinlord.antarchy.content.network.ActivateRoyalBoundaryPayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.ActivateRoyalBoundaryPayload.STREAM_CODEC,
|
||||
(payload, ctx) -> ctx.enqueueWork(() -> {
|
||||
if (ctx.player() instanceof net.minecraft.server.level.ServerPlayer player) {
|
||||
com.craisinlord.antarchy.content.effect.RoyalBoundaryManager.activate(player);
|
||||
}
|
||||
})
|
||||
);
|
||||
registrar.playToServer(
|
||||
com.craisinlord.antarchy.content.network.ToggleRoyalInversionPayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.ToggleRoyalInversionPayload.STREAM_CODEC,
|
||||
(payload, ctx) -> ctx.enqueueWork(() -> {
|
||||
if (ctx.player() instanceof net.minecraft.server.level.ServerPlayer player) {
|
||||
com.craisinlord.antarchy.content.item.RoyalAssailantArmorItem.toggleInversion(player);
|
||||
}
|
||||
})
|
||||
);
|
||||
registrar.playToServer(
|
||||
com.craisinlord.antarchy.content.network.OpenGiantFryingPanPayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.OpenGiantFryingPanPayload.STREAM_CODEC,
|
||||
(payload, ctx) -> ctx.enqueueWork(() -> {
|
||||
if (ctx.player() instanceof net.minecraft.server.level.ServerPlayer player) {
|
||||
com.craisinlord.antarchy.content.item.GiantFryingPanItem.openHeldMenu(player);
|
||||
}
|
||||
})
|
||||
);
|
||||
registrar.playToServer(
|
||||
com.craisinlord.antarchy.content.network.RoyalMountActionPayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.RoyalMountActionPayload.STREAM_CODEC,
|
||||
(payload, ctx) -> ctx.enqueueWork(() -> {
|
||||
if (ctx.player() instanceof net.minecraft.server.level.ServerPlayer mountingPlayer
|
||||
&& payload.action() == com.craisinlord.antarchy.content.network.RoyalMountActionPayload.MOUNT) {
|
||||
com.craisinlord.antarchy.content.entity.royal.RoyalMountEntity.tryAssistedMount(mountingPlayer);
|
||||
return;
|
||||
}
|
||||
if (!(ctx.player() instanceof net.minecraft.server.level.ServerPlayer player)
|
||||
|| !(player.getVehicle() instanceof com.craisinlord.antarchy.content.entity.royal.RoyalMountEntity mount)) {
|
||||
return;
|
||||
}
|
||||
switch (payload.action()) {
|
||||
case com.craisinlord.antarchy.content.network.RoyalMountActionPayload.FLIGHT_TOGGLE -> mount.toggleMountedFlight(player);
|
||||
case com.craisinlord.antarchy.content.network.RoyalMountActionPayload.BITE -> mount.handleMountedBite(player);
|
||||
case com.craisinlord.antarchy.content.network.RoyalMountActionPayload.SPIT -> mount.handleMountedSpit(player);
|
||||
default -> {
|
||||
}
|
||||
}
|
||||
})
|
||||
);
|
||||
registrar.playToServer(
|
||||
com.craisinlord.antarchy.content.network.RoyalMountVerticalPayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.RoyalMountVerticalPayload.STREAM_CODEC,
|
||||
(payload, ctx) -> ctx.enqueueWork(() -> {
|
||||
if (ctx.player() instanceof net.minecraft.server.level.ServerPlayer player
|
||||
&& player.getVehicle() instanceof com.craisinlord.antarchy.content.entity.royal.RoyalMountEntity mount) {
|
||||
mount.setRiderAscend(payload.ascend());
|
||||
mount.setRiderDescend(payload.descend());
|
||||
}
|
||||
})
|
||||
);
|
||||
registrar.playToServer(
|
||||
ToggleTigerEyeCamouflagePayload.TYPE,
|
||||
ToggleTigerEyeCamouflagePayload.STREAM_CODEC,
|
||||
(payload, ctx) -> ctx.enqueueWork(() -> {
|
||||
if (!(ctx.player() instanceof net.minecraft.server.level.ServerPlayer player)) {
|
||||
return;
|
||||
}
|
||||
TigerEyeCamouflageController.ToggleResult result = TigerEyeCamouflageController.toggle(player);
|
||||
if (result != TigerEyeCamouflageController.ToggleResult.NO_CHANGE) {
|
||||
com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore.sendToTrackingEntity(
|
||||
player,
|
||||
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.payload(player)
|
||||
);
|
||||
}
|
||||
String messageKey = switch (result) {
|
||||
case ACTIVATED -> "message.antarchy.tiger_eye_camouflage.activated";
|
||||
case DEACTIVATED -> "message.antarchy.tiger_eye_camouflage.disabled";
|
||||
case FULL_SET_REQUIRED -> TigerEyeArmorUtil.countEquippedPieces(player) > 0
|
||||
? "message.antarchy.tiger_eye_camouflage.full_set_required"
|
||||
: null;
|
||||
case INVALID_BLOCK -> "message.antarchy.tiger_eye_camouflage.invalid_block";
|
||||
case NO_CHANGE -> null;
|
||||
};
|
||||
if (messageKey != null) {
|
||||
player.displayClientMessage(net.minecraft.network.chat.Component.translatable(messageKey), true);
|
||||
}
|
||||
})
|
||||
);
|
||||
registrar.playToClient(
|
||||
BloodCrystalKatanaTrailPayload.TYPE,
|
||||
BloodCrystalKatanaTrailPayload.STREAM_CODEC,
|
||||
payload -> com.craisinlord.antarchy.content.client.BloodCrystalKatanaTrailClientState.trigger(payload.entityId(), payload.durationTicks())
|
||||
(payload, ctx) -> ctx.enqueueWork(() ->
|
||||
com.craisinlord.antarchy.content.client.BloodCrystalKatanaTrailClientState.trigger(payload.entityId(), payload.durationTicks())
|
||||
)
|
||||
);
|
||||
AntarchyForgeNetworkCore.registerS2C(
|
||||
com.craisinlord.antarchy.content.network.ScorpionWhipTetherPayload.class,
|
||||
registrar.playToClient(
|
||||
com.craisinlord.antarchy.content.network.ScorpionWhipTetherPayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.ScorpionWhipTetherPayload.STREAM_CODEC,
|
||||
payload -> com.craisinlord.antarchy.content.client.ScorpionWhipTetherClientState.update(payload.playerId(), payload.targetId())
|
||||
(payload, ctx) -> ctx.enqueueWork(() ->
|
||||
com.craisinlord.antarchy.content.client.ScorpionWhipTetherClientState.update(payload.playerId(), payload.targetId())
|
||||
)
|
||||
);
|
||||
AntarchyForgeNetworkCore.registerS2C(
|
||||
com.craisinlord.antarchy.content.network.HordeIntensityPayload.class,
|
||||
registrar.playToClient(
|
||||
com.craisinlord.antarchy.content.network.WormHookTetherPayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.WormHookTetherPayload.STREAM_CODEC,
|
||||
(payload, ctx) -> ctx.enqueueWork(() ->
|
||||
com.craisinlord.antarchy.content.client.WormHookTetherClientState.update(payload.playerId(), payload.hookId())
|
||||
)
|
||||
);
|
||||
registrar.playToClient(
|
||||
com.craisinlord.antarchy.content.network.HordeIntensityPayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.HordeIntensityPayload.STREAM_CODEC,
|
||||
payload -> com.craisinlord.antarchy.content.client.HordeClientState.update(payload.intensity())
|
||||
(payload, ctx) -> ctx.enqueueWork(() ->
|
||||
com.craisinlord.antarchy.content.client.HordeClientState.update(payload.intensity())
|
||||
)
|
||||
);
|
||||
MultipartNetworking.register();
|
||||
com.craisinlord.antarchy.forge.network.AntarchyTimeDilationNetworking.register();
|
||||
}
|
||||
}
|
||||
+113
-24
@@ -11,20 +11,24 @@ public final class AntarchyForgeSounds {
|
||||
private static final DeferredRegister<SoundEvent> SOUND_EVENTS = DeferredRegister.create(Registries.SOUND_EVENT, Antarchy.MODID);
|
||||
|
||||
public static final RegistryObject<SoundEvent> SQUIDZOOKA_FIRE = registerSoundEvent("squidzooka_fire");
|
||||
public static final RegistryObject<SoundEvent> SHRINK_RAY_SOUND = registerSoundEvent("shrink_ray");
|
||||
public static final RegistryObject<SoundEvent> GROWTH_RAY_SOUND = registerSoundEvent("growth_ray");
|
||||
public static final RegistryObject<SoundEvent> SIZE_RAY_CHARGE = registerSoundEvent("size_ray_charge");
|
||||
public static final RegistryObject<SoundEvent> SHRINK_RAY_CHARGE = registerSoundEvent("shrink_ray_charge");
|
||||
public static final RegistryObject<SoundEvent> SHRINK_RAY_LOOP = registerSoundEvent("shrink_ray_loop");
|
||||
public static final RegistryObject<SoundEvent> GROWTH_RAY_CHARGE = registerSoundEvent("growth_ray_charge");
|
||||
public static final RegistryObject<SoundEvent> GROWTH_RAY_LOOP = registerSoundEvent("growth_ray_loop");
|
||||
public static final RegistryObject<SoundEvent> SIZE_RAY_WEAKSHOT = registerSoundEvent("size_ray_weakshot");
|
||||
public static final RegistryObject<SoundEvent> SIZE_RAY_MEDIUMSHOT = registerSoundEvent("size_ray_mediumshot");
|
||||
public static final RegistryObject<SoundEvent> SIZE_RAY_CRITSHOT = registerSoundEvent("size_ray_critshot");
|
||||
public static final RegistryObject<SoundEvent> ANT_AMBIENT = registerSoundEvent("ant_ambient");
|
||||
public static final RegistryObject<SoundEvent> ANT_IDLE = registerSoundEvent("ant_idle");
|
||||
public static final RegistryObject<SoundEvent> ANT_HURT = registerSoundEvent("ant_hurt");
|
||||
public static final RegistryObject<SoundEvent> ANT_BITE = registerSoundEvent("ant_bite");
|
||||
public static final RegistryObject<SoundEvent> ANT_GATHER = registerSoundEvent("ant_gather");
|
||||
public static final RegistryObject<SoundEvent> ANT_NEST = registerSoundEvent("ant_nest");
|
||||
public static final RegistryObject<SoundEvent> CLOUD_SHARK_BITE = registerSoundEvent("stratoshark_bite");
|
||||
public static final RegistryObject<SoundEvent> CLOUD_SHARK_IDLE = registerSoundEvent("stratoshark_idle");
|
||||
public static final RegistryObject<SoundEvent> CLOUD_SHARK_HURT = registerSoundEvent("stratoshark_hurt");
|
||||
public static final RegistryObject<SoundEvent> CLOUD_SHARK_DEATH = registerSoundEvent("stratoshark_death");
|
||||
public static final RegistryObject<SoundEvent> CLOUD_SHARK_FLY = registerSoundEvent("stratoshark_fly");
|
||||
public static final RegistryObject<SoundEvent> STRATOSHARK_BITE = registerSoundEvent("stratoshark_bite");
|
||||
public static final RegistryObject<SoundEvent> STRATOSHARK_IDLE = registerSoundEvent("stratoshark_idle");
|
||||
public static final RegistryObject<SoundEvent> STRATOSHARK_HURT = registerSoundEvent("stratoshark_hurt");
|
||||
public static final RegistryObject<SoundEvent> STRATOSHARK_DEATH = registerSoundEvent("stratoshark_death");
|
||||
public static final RegistryObject<SoundEvent> STRATOSHARK_FLY = registerSoundEvent("stratoshark_fly");
|
||||
public static final RegistryObject<SoundEvent> CATERPILLAR_IDLE = registerSoundEvent("caterpillar_idle");
|
||||
public static final RegistryObject<SoundEvent> CATERPILLAR_HURT = registerSoundEvent("caterpillar_hurt");
|
||||
public static final RegistryObject<SoundEvent> CATERPILLAR_CRAWL = registerSoundEvent("caterpillar_crawl");
|
||||
@@ -63,6 +67,16 @@ public final class AntarchyForgeSounds {
|
||||
public static final RegistryObject<SoundEvent> THORAXIS_LUCID_POOLS_ADDITIONS = registerSoundEvent("thoraxis_lucid_pools_additions");
|
||||
public static final RegistryObject<SoundEvent> THORAXIS_LUCID_POOLS_BIOME_ADDITIONS = registerSoundEvent("thoraxis_lucid_pools_biome_additions");
|
||||
public static final RegistryObject<SoundEvent> THORAXIS_LUCID_POOLS_MOOD = registerSoundEvent("thoraxis_lucid_pools_mood");
|
||||
public static final RegistryObject<SoundEvent> LUCID_LULLABY = registerSoundEvent("lucid_lullaby");
|
||||
public static final RegistryObject<SoundEvent> WHISTLING_VOID = registerSoundEvent("whistling_void");
|
||||
public static final RegistryObject<SoundEvent> MUSIC_GAME_THORAXIS = registerSoundEvent("music.game.thoraxis");
|
||||
public static final RegistryObject<SoundEvent> DIMENSIONAL_TEAR_OPEN = registerSoundEvent("dimensional_tear_open");
|
||||
public static final RegistryObject<SoundEvent> DIMENSIONAL_TEAR_IDLE = registerSoundEvent("dimensional_tear_idle");
|
||||
public static final RegistryObject<SoundEvent> DIMENSIONAL_TEAR_CREATURE_LEAVES = registerSoundEvent("dimensional_tear_creature_leaves");
|
||||
public static final RegistryObject<SoundEvent> DIMENSIONAL_TEAR_CLOSE = registerSoundEvent("dimensional_tear_close");
|
||||
public static final RegistryObject<SoundEvent> MUSIC_GAME_CAVARYN = registerSoundEvent("music.game.cavaryn");
|
||||
public static final RegistryObject<SoundEvent> WISTFUL_WANDERINGS = registerSoundEvent("wistful_wanderings");
|
||||
public static final RegistryObject<SoundEvent> MUSIC_GAME_ELYTHIA = registerSoundEvent("music.game.elythia");
|
||||
public static final RegistryObject<SoundEvent> LUCID_AMBIENT = registerSoundEvent("lucid_ambient");
|
||||
public static final RegistryObject<SoundEvent> LUCID_FLYING = registerSoundEvent("lucid_flying");
|
||||
public static final RegistryObject<SoundEvent> LUCID_ATTACK = registerSoundEvent("lucid_attack");
|
||||
@@ -87,21 +101,34 @@ public final class AntarchyForgeSounds {
|
||||
public static final RegistryObject<SoundEvent> NIGHTMARE_DEATH = registerSoundEvent("nightmare_death");
|
||||
public static final RegistryObject<SoundEvent> NIGHTMARE_BITE = registerSoundEvent("nightmare_bite");
|
||||
public static final RegistryObject<SoundEvent> NIGHTMARE_FLAP = registerSoundEvent("nightmare_flap");
|
||||
public static final RegistryObject<SoundEvent> TRIFFID_ATTACK = registerSoundEvent("flytrap_attack");
|
||||
public static final RegistryObject<SoundEvent> TRIFFID_GRAB = registerSoundEvent("flytrap_grab");
|
||||
public static final RegistryObject<SoundEvent> TRIFFID_HURT = registerSoundEvent("flytrap_hurt");
|
||||
public static final RegistryObject<SoundEvent> TRIFFID_DEATH = registerSoundEvent("flytrap_death");
|
||||
public static final RegistryObject<SoundEvent> TRIFFID_HISS = registerSoundEvent("flytrap_hiss");
|
||||
public static final RegistryObject<SoundEvent> TRIFFID_GROWL = registerSoundEvent("flytrap_growl");
|
||||
public static final RegistryObject<SoundEvent> FLYTRAP_ATTACK = registerSoundEvent("flytrap_attack");
|
||||
public static final RegistryObject<SoundEvent> FLYTRAP_GRAB = registerSoundEvent("flytrap_grab");
|
||||
public static final RegistryObject<SoundEvent> FLYTRAP_HURT = registerSoundEvent("flytrap_hurt");
|
||||
public static final RegistryObject<SoundEvent> FLYTRAP_DEATH = registerSoundEvent("flytrap_death");
|
||||
public static final RegistryObject<SoundEvent> FLYTRAP_HISS = registerSoundEvent("flytrap_hiss");
|
||||
public static final RegistryObject<SoundEvent> FLYTRAP_GROWL = registerSoundEvent("flytrap_growl");
|
||||
public static final RegistryObject<SoundEvent> MANTIS_AMBIENT = registerSoundEvent("mantis_ambient");
|
||||
public static final RegistryObject<SoundEvent> MANTIS_HURT = registerSoundEvent("mantis_hurt");
|
||||
public static final RegistryObject<SoundEvent> MANTIS_ATTACK = registerSoundEvent("mantis_attack");
|
||||
public static final RegistryObject<SoundEvent> MANTIS_FLY_LOOP = registerSoundEvent("mantis_fly_loop");
|
||||
public static final RegistryObject<SoundEvent> MANTICORE_IDLE = registerSoundEvent("manticore_idle");
|
||||
public static final RegistryObject<SoundEvent> MANTICORE_WALK = registerSoundEvent("manticore_walk");
|
||||
public static final RegistryObject<SoundEvent> MANTICORE_FLY = registerSoundEvent("manticore_fly");
|
||||
public static final RegistryObject<SoundEvent> MANTICORE_BITE = registerSoundEvent("manticore_bite");
|
||||
public static final RegistryObject<SoundEvent> GRAVITY_GUN_PICKUP = registerSoundEvent("gravity_gun_pickup");
|
||||
public static final RegistryObject<SoundEvent> GRAVITY_GUN_DROP = registerSoundEvent("gravity_gun_drop");
|
||||
public static final RegistryObject<SoundEvent> GRAVITY_GUN_HOLD_LOOP = registerSoundEvent("gravity_gun_hold_loop");
|
||||
public static final RegistryObject<SoundEvent> GRAVITY_GUN_LAUNCH = registerSoundEvent("gravity_gun_launch");
|
||||
public static final RegistryObject<SoundEvent> GRAVITY_GUN_DRYFIRE = registerSoundEvent("gravity_gun_dryfire");
|
||||
public static final RegistryObject<SoundEvent> PORTAL_GUN_FIRE_BLUE = registerSoundEvent("portal_gun_fire_blue");
|
||||
public static final RegistryObject<SoundEvent> PORTAL_GUN_FIRE_ORANGE = registerSoundEvent("portal_gun_fire_orange");
|
||||
public static final RegistryObject<SoundEvent> PORTAL_GUN_INVALID_SURFACE = registerSoundEvent("portal_gun_invalid_surface");
|
||||
public static final RegistryObject<SoundEvent> PORTAL_OPEN_BLUE = registerSoundEvent("portal_open_blue");
|
||||
public static final RegistryObject<SoundEvent> PORTAL_OPEN_ORANGE = registerSoundEvent("portal_open_orange");
|
||||
public static final RegistryObject<SoundEvent> PORTAL_FIZZLE = registerSoundEvent("portal_fizzle");
|
||||
public static final RegistryObject<SoundEvent> PORTAL_ENTER = registerSoundEvent("portal_enter");
|
||||
public static final RegistryObject<SoundEvent> PORTAL_EXIT = registerSoundEvent("portal_exit");
|
||||
public static final RegistryObject<SoundEvent> PORTAL_AMBIENT = registerSoundEvent("portal_ambient");
|
||||
public static final RegistryObject<SoundEvent> BED_BUG_AMBIENT = registerSoundEvent("bed_bug_ambient");
|
||||
public static final RegistryObject<SoundEvent> BED_BUG_HURT = registerSoundEvent("bed_bug_hurt");
|
||||
public static final RegistryObject<SoundEvent> BED_BUG_ATTACK = registerSoundEvent("bed_bug_attack");
|
||||
@@ -140,27 +167,28 @@ public final class AntarchyForgeSounds {
|
||||
public static final RegistryObject<SoundEvent> STINK_BUG_FART = registerSoundEvent("stink_bug_fart");
|
||||
public static final RegistryObject<SoundEvent> STINK_BUG_IDLE = registerSoundEvent("stink_bug_idle");
|
||||
public static final RegistryObject<SoundEvent> CAVARYN_HEARTBEAT = registerSoundEvent("cavaryn_heartbeat");
|
||||
public static final RegistryObject<SoundEvent> VENENATUS = registerSoundEvent("venenatus");
|
||||
public static final RegistryObject<SoundEvent> ROLLY_POLLY_IDLE = registerSoundEvent("rolly_polly_idle");
|
||||
public static final RegistryObject<SoundEvent> ROLLY_POLLY_WHEEL_MODE = registerSoundEvent("rolly_polly_wheel_mode");
|
||||
public static final RegistryObject<SoundEvent> ROLLY_POLLY_NORMAL_MODE = registerSoundEvent("rolly_polly_normal_mode");
|
||||
public static final RegistryObject<SoundEvent> ROLLY_POLLY_ROLL = registerSoundEvent("rolly_polly_roll");
|
||||
public static final RegistryObject<SoundEvent> CREEPING_HORROR_GROWL = registerSoundEvent("crawling_blight_growl");
|
||||
public static final RegistryObject<SoundEvent> CREEPING_HORROR_HURT = registerSoundEvent("crawling_blight_hurt");
|
||||
public static final RegistryObject<SoundEvent> CREEPING_HORROR_BITE = registerSoundEvent("crawling_blight_bite");
|
||||
public static final RegistryObject<SoundEvent> LURKING_TERROR_SNARL = registerSoundEvent("skulking_fright_snarl");
|
||||
public static final RegistryObject<SoundEvent> LURKING_TERROR_HURT = registerSoundEvent("skulking_fright_hurt");
|
||||
public static final RegistryObject<SoundEvent> LURKING_TERROR_BITE = registerSoundEvent("skulking_fright_bite");
|
||||
public static final RegistryObject<SoundEvent> LURKING_TERROR_FLY_LOOP = registerSoundEvent("skulking_fright_fly_loop");
|
||||
public static final RegistryObject<SoundEvent> CRAWLING_BLIGHT_GROWL = registerSoundEvent("crawling_blight_growl");
|
||||
public static final RegistryObject<SoundEvent> CRAWLING_BLIGHT_HURT = registerSoundEvent("crawling_blight_hurt");
|
||||
public static final RegistryObject<SoundEvent> CRAWLING_BLIGHT_BITE = registerSoundEvent("crawling_blight_bite");
|
||||
public static final RegistryObject<SoundEvent> SKULKING_FRIGHT_SNARL = registerSoundEvent("skulking_fright_snarl");
|
||||
public static final RegistryObject<SoundEvent> SKULKING_FRIGHT_HURT = registerSoundEvent("skulking_fright_hurt");
|
||||
public static final RegistryObject<SoundEvent> SKULKING_FRIGHT_BITE = registerSoundEvent("skulking_fright_bite");
|
||||
public static final RegistryObject<SoundEvent> SKULKING_FRIGHT_FLY_LOOP = registerSoundEvent("skulking_fright_fly_loop");
|
||||
public static final RegistryObject<SoundEvent> HERCULES_BEETLE_IDLE = registerSoundEvent("hercules_beetle_idle");
|
||||
public static final RegistryObject<SoundEvent> HERCULES_BEETLE_HURT = registerSoundEvent("hercules_beetle_hurt");
|
||||
public static final RegistryObject<SoundEvent> HERCULES_BEETLE_ATTACK = registerSoundEvent("hercules_beetle_attack");
|
||||
public static final RegistryObject<SoundEvent> HERCULES_BEETLE_CRY = registerSoundEvent("hercules_beetle_cry");
|
||||
public static final RegistryObject<SoundEvent> HERCULES_BEETLE_CHARGE_START = registerSoundEvent("hercules_beetle_charge_start");
|
||||
public static final RegistryObject<SoundEvent> HERCULES_BEETLE_KNOCKED_DOWN = registerSoundEvent("hercules_beetle_knocked_down");
|
||||
public static final RegistryObject<SoundEvent> JUMPY_BUG_IDLE = registerSoundEvent("springbug_idle");
|
||||
public static final RegistryObject<SoundEvent> SPRINGBUG_IDLE = registerSoundEvent("springbug_idle");
|
||||
public static final RegistryObject<SoundEvent> SPIT_BUG_IDLE = registerSoundEvent("spit_bug_idle");
|
||||
public static final RegistryObject<SoundEvent> JUMPY_BUG_HURT = registerSoundEvent("springbug_hurt");
|
||||
public static final RegistryObject<SoundEvent> JUMPY_BUG_JUMP = registerSoundEvent("springbug_jump");
|
||||
public static final RegistryObject<SoundEvent> SPRINGBUG_HURT = registerSoundEvent("springbug_hurt");
|
||||
public static final RegistryObject<SoundEvent> SPRINGBUG_JUMP = registerSoundEvent("springbug_jump");
|
||||
public static final RegistryObject<SoundEvent> SPIT_BUG_HURT = registerSoundEvent("spit_bug_hurt");
|
||||
public static final RegistryObject<SoundEvent> SPIT_BUG_SPIT = registerSoundEvent("spit_bug_spit");
|
||||
public static final RegistryObject<SoundEvent> BRUTALFLY_SPIT = registerSoundEvent("brutalfly_spit");
|
||||
@@ -178,6 +206,67 @@ public final class AntarchyForgeSounds {
|
||||
public static final RegistryObject<SoundEvent> POTENT_NYXITE_GEYSER_ERUPTION_ACTIVE = registerSoundEvent("potent_nyxite_geyser_eruption_active");
|
||||
public static final RegistryObject<SoundEvent> POTENT_NYXITE_GEYSER_CONTINUOUS_START = registerSoundEvent("potent_nyxite_geyser_continuous_start");
|
||||
public static final RegistryObject<SoundEvent> POTENT_NYXITE_GEYSER_CONTINUOUS_ACTIVE = registerSoundEvent("potent_nyxite_geyser_continuous_active");
|
||||
public static final RegistryObject<SoundEvent> MUSIC_DISC_UNDERSIDE = registerSoundEvent("music_disc_underside");
|
||||
public static final RegistryObject<SoundEvent> THE_QUEEN = registerSoundEvent("the_queen");
|
||||
public static final RegistryObject<SoundEvent> MUSIC_DISC_VERDANCE = registerSoundEvent("music_disc_verdance");
|
||||
public static final RegistryObject<SoundEvent> MUSIC_DISC_GROTESQUE = registerSoundEvent("music_disc_grotesque");
|
||||
public static final RegistryObject<SoundEvent> WORM_HOOK_FLYING = registerSoundEvent("worm_hook_flying");
|
||||
public static final RegistryObject<SoundEvent> BLOOD_CRYSTAL_KATANA_DASH = registerSoundEvent("blood_crystal_katana_dash");
|
||||
public static final RegistryObject<SoundEvent> BLOOD_CRYSTAL_ARMOR_EQUIP = registerSoundEvent("blood_crystal_armor_equip");
|
||||
public static final RegistryObject<SoundEvent> BLOODGLASS_WARD_HEART_BREAK = registerSoundEvent("bloodglass_ward_heart_break");
|
||||
public static final RegistryObject<SoundEvent> BLOODGLASS_WARD_HEART_REGEN = registerSoundEvent("bloodglass_ward_heart_regen");
|
||||
public static final RegistryObject<SoundEvent> ANTIMETAL_PLACE = registerSoundEvent("antimetal_place");
|
||||
public static final RegistryObject<SoundEvent> ANTIMETAL_STEP = registerSoundEvent("antimetal_step");
|
||||
public static final RegistryObject<SoundEvent> ANTIMETAL_SCAFFOLD = registerSoundEvent("antimetal_scaffold");
|
||||
public static final RegistryObject<SoundEvent> UNDERTRIAL_DETECT_PLAYER1 = registerSoundEvent("undertrial_detect_player1");
|
||||
public static final RegistryObject<SoundEvent> UNDERTRIAL_DETECT_PLAYER2 = registerSoundEvent("undertrial_detect_player2");
|
||||
|
||||
public static final RegistryObject<SoundEvent> KING_IDLE = registerSoundEvent("king_idle");
|
||||
public static final RegistryObject<SoundEvent> KING_WALK = registerSoundEvent("king_walk");
|
||||
public static final RegistryObject<SoundEvent> KING_FLY_LOOP = registerSoundEvent("king_fly_loop");
|
||||
public static final RegistryObject<SoundEvent> KING_WING_FLAP = registerSoundEvent("king_wing_flap");
|
||||
public static final RegistryObject<SoundEvent> KING_BITE = registerSoundEvent("king_bite");
|
||||
public static final RegistryObject<SoundEvent> KING_STOMP = registerSoundEvent("king_stomp");
|
||||
public static final RegistryObject<SoundEvent> KING_ROAR = registerSoundEvent("king_roar");
|
||||
public static final RegistryObject<SoundEvent> KING_HURT = registerSoundEvent("king_hurt");
|
||||
public static final RegistryObject<SoundEvent> KING_DEATH = registerSoundEvent("king_death");
|
||||
public static final RegistryObject<SoundEvent> KING_BEAM_SHOOT = registerSoundEvent("king_beam_shoot");
|
||||
public static final RegistryObject<SoundEvent> KING_FIREBALL_SHOOT = registerSoundEvent("king_fireball_shoot");
|
||||
public static final RegistryObject<SoundEvent> KING_ICE_SPIKES = registerSoundEvent("king_ice_spikes");
|
||||
public static final RegistryObject<SoundEvent> KING_DECREE_CAST = registerSoundEvent("king_decree_cast");
|
||||
public static final RegistryObject<SoundEvent> KING_DECREE = registerSoundEvent("king_decree");
|
||||
public static final RegistryObject<SoundEvent> KING_SUCCESS = registerSoundEvent("king_success");
|
||||
public static final RegistryObject<SoundEvent> KING_JUDGEMENT = registerSoundEvent("king_judgement");
|
||||
|
||||
public static final RegistryObject<SoundEvent> QUEEN_IDLE = registerSoundEvent("queen_idle");
|
||||
public static final RegistryObject<SoundEvent> QUEEN_WALK = registerSoundEvent("queen_walk");
|
||||
public static final RegistryObject<SoundEvent> QUEEN_FLY_LOOP = registerSoundEvent("queen_fly_loop");
|
||||
public static final RegistryObject<SoundEvent> QUEEN_WING_FLAP = registerSoundEvent("queen_wing_flap");
|
||||
public static final RegistryObject<SoundEvent> QUEEN_BITE = registerSoundEvent("queen_bite");
|
||||
public static final RegistryObject<SoundEvent> QUEEN_STOMP = registerSoundEvent("queen_stomp");
|
||||
public static final RegistryObject<SoundEvent> QUEEN_ROAR = registerSoundEvent("queen_roar");
|
||||
public static final RegistryObject<SoundEvent> QUEEN_HURT = registerSoundEvent("queen_hurt");
|
||||
public static final RegistryObject<SoundEvent> QUEEN_DEATH = registerSoundEvent("queen_death");
|
||||
public static final RegistryObject<SoundEvent> QUEEN_BEAM_SHOOT = registerSoundEvent("queen_beam_shoot");
|
||||
public static final RegistryObject<SoundEvent> QUEEN_BEAM_START = registerSoundEvent("queen_beam_start");
|
||||
public static final RegistryObject<SoundEvent> QUEEN_BEAM_LOOP = registerSoundEvent("queen_beam_loop");
|
||||
public static final RegistryObject<SoundEvent> QUEEN_BEAM_END = registerSoundEvent("queen_beam_end");
|
||||
public static final RegistryObject<SoundEvent> QUEEN_BLACK_HOLE_SHOOT = registerSoundEvent("queen_black_hole_shoot");
|
||||
public static final RegistryObject<SoundEvent> QUEEN_CAST_SHOOT = registerSoundEvent("queen_cast_shoot");
|
||||
|
||||
public static final RegistryObject<SoundEvent> PRINCE_IDLE = registerSoundEvent("prince_idle");
|
||||
public static final RegistryObject<SoundEvent> PRINCE_BITE = registerSoundEvent("prince_bite");
|
||||
public static final RegistryObject<SoundEvent> PRINCE_SHOOT = registerSoundEvent("prince_shoot");
|
||||
public static final RegistryObject<SoundEvent> PRINCE_FLY = registerSoundEvent("prince_fly");
|
||||
public static final RegistryObject<SoundEvent> PRINCE_STEP = registerSoundEvent("prince_step");
|
||||
public static final RegistryObject<SoundEvent> PRINCESS_IDLE = registerSoundEvent("princess_idle");
|
||||
public static final RegistryObject<SoundEvent> PRINCESS_BITE = registerSoundEvent("princess_bite");
|
||||
public static final RegistryObject<SoundEvent> PRINCESS_SHOOT = registerSoundEvent("princess_shoot");
|
||||
public static final RegistryObject<SoundEvent> PRINCESS_FLY = registerSoundEvent("princess_fly");
|
||||
public static final RegistryObject<SoundEvent> PRINCESS_STEP = registerSoundEvent("princess_step");
|
||||
public static final RegistryObject<SoundEvent> HOVERBOARD_MOUNT = registerSoundEvent("hoverboard_mount");
|
||||
public static final RegistryObject<SoundEvent> HOVERBOARD_DISMOUNT = registerSoundEvent("hoverboard_dismount");
|
||||
public static final RegistryObject<SoundEvent> HOVERBOARD_IDLE = registerSoundEvent("hoverboard_idle");
|
||||
|
||||
private AntarchyForgeSounds() {}
|
||||
|
||||
|
||||
+11
-8
@@ -3,7 +3,7 @@ package com.craisinlord.antarchy.forge.registry;
|
||||
import com.craisinlord.antarchy.content.entity.*;
|
||||
import net.minecraft.world.entity.animal.AbstractFish;
|
||||
import com.craisinlord.antarchy.content.entity.basilisk.BasiliskEntity;
|
||||
import com.craisinlord.antarchy.content.entity.cloud_shark.CloudSharkEntity;
|
||||
import com.craisinlord.antarchy.content.entity.stratoshark.StratosharkEntity;
|
||||
import com.craisinlord.antarchy.content.entity.flying_squirrel.FlyingSquirrelEntity;
|
||||
import com.craisinlord.antarchy.content.entity.kraken.KrakenEntity;
|
||||
import com.craisinlord.antarchy.content.entity.lucid.LucidEntity;
|
||||
@@ -30,30 +30,33 @@ public class AntarchyForgeSpawnPlacements {
|
||||
event.register(AntarchyForgeEntites.APPLE_COW.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Cow::checkAnimalSpawnRules, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.GOLDEN_APPLE_COW.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Cow::checkAnimalSpawnRules, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.ENCHANTED_GOLDEN_APPLE_COW.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Cow::checkAnimalSpawnRules, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.CLOUD_SHARK.get(), net.minecraft.world.entity.SpawnPlacements.Type.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, CloudSharkEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.STRATOSHARK.get(), net.minecraft.world.entity.SpawnPlacements.Type.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, StratosharkEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.WASP.get(), net.minecraft.world.entity.SpawnPlacements.Type.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, WaspEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.BOMBER.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BomberEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.JUMPY_BUG.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, JumpyBugEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.SPRINGBUG.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, SpringbugEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.SPIT_BUG.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, SpitBugEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.KRAKEN.get(), net.minecraft.world.entity.SpawnPlacements.Type.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, KrakenEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.MISSILE_SQUID.get(), net.minecraft.world.entity.SpawnPlacements.Type.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MissileSquidEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.OCTOPUS_BOMB.get(), net.minecraft.world.entity.SpawnPlacements.Type.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, OctopusBombEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.NIGHTMARE.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, NightmareEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.MOLEWORM.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MolewormEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.WORM.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, WormEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.MANTIS.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MantisEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.ALPHA_MANTIS.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, AlphaMantisEntity::checkAlphaMantisSpawnRules, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.MOLEVORE.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MolevoreEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.BED_BUG.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BedBugEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.STINK_BUG.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, StinkBugEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.STINK_BUG.get(), net.minecraft.world.entity.SpawnPlacements.Type.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, StinkBugEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.LUCID.get(), net.minecraft.world.entity.SpawnPlacements.Type.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, LucidEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.VORTEX.get(), net.minecraft.world.entity.SpawnPlacements.Type.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, com.craisinlord.antarchy.content.entity.vortex.VortexEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.SCORPION.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ScorpionEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.BASILISK.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BasiliskEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.EMPEROR_SCORPION.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, EmperorScorpionEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.CREEPING_HORROR.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, CreepingHorrorEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.LURKING_TERROR.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, LurkingTerrorEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.EMPEROR_SCORPION.get(), net.minecraft.world.entity.SpawnPlacements.Type.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, EmperorScorpionEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.CRAWLING_BLIGHT.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, CrawlingBlightEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.SKULKING_FRIGHT.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, SkulkingFrightEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.MANTICORE.get(), net.minecraft.world.entity.SpawnPlacements.Type.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, com.craisinlord.antarchy.content.entity.ManticoreEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.JERRY.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, JerryEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.TERMITE.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.ROLLY_POLLY.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, com.craisinlord.antarchy.content.entity.RollyPollyEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.ROLLY_POLLY.get(), net.minecraft.world.entity.SpawnPlacements.Type.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, com.craisinlord.antarchy.content.entity.RollyPollyEntity::canSpawn, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.CHEEP.get(), net.minecraft.world.entity.SpawnPlacements.Type.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, AbstractFish::checkSurfaceWaterAnimalSpawnRules, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.DORRIE.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
event.register(AntarchyForgeEntites.OURANWOOD_DEER.get(), net.minecraft.world.entity.SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules, SpawnPlacementRegisterEvent.Operation.OR);
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.craisinlord.antarchy.forge.registry;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.event.server.ServerStoppingEvent;
|
||||
import net.minecraftforge.event.entity.player.PlayerEvent;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Antarchy.MODID)
|
||||
public final class PortalGunServerEvents {
|
||||
private PortalGunServerEvents() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onServerStopping(ServerStoppingEvent event) {
|
||||
com.craisinlord.antarchy.content.portalgun.PortalGunResetManager.clear(event.getServer());
|
||||
com.craisinlord.antarchy.content.entity.ant.AntArrivalScheduler.clear();
|
||||
com.craisinlord.antarchy.content.portalgun.PortalGunMoonAimSync.clear();
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event) {
|
||||
if (event.getEntity() instanceof net.minecraft.server.level.ServerPlayer player) {
|
||||
com.craisinlord.antarchy.content.portalgun.PortalGunSavedData.clearMissingGuns(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,27 +4,77 @@ license="${mod_license}"
|
||||
|
||||
[[mods]]
|
||||
modId="${mod_id}"
|
||||
logoFile="../assets/antarchy/antarchy_logo.png"
|
||||
logoBlur=false
|
||||
version="${version}"
|
||||
displayName="${mod_name}"
|
||||
displayURL="https://www.curseforge.com/minecraft/mc-mods/antarchy"
|
||||
authors="${mod_authors}"
|
||||
description='''${mod_description}'''
|
||||
displayTest="MATCH_VERSION"
|
||||
|
||||
[[mixins]]
|
||||
config="antarchy-common.mixins.json"
|
||||
|
||||
[[mixins]]
|
||||
config="antarchy-forge.mixins.json"
|
||||
|
||||
[[dependencies.${mod_id}]]
|
||||
modId="forge"
|
||||
mandatory=true
|
||||
versionRange="${forge_version_range}"
|
||||
ordering="NONE"
|
||||
side="BOTH"
|
||||
|
||||
[[dependencies.${mod_id}]]
|
||||
modId="minecraft"
|
||||
mandatory=true
|
||||
versionRange="${minecraft_version_range}"
|
||||
ordering="NONE"
|
||||
side="BOTH"
|
||||
# Antarchy already includes Apple Cows. Forge 1.20.1 has no "incompatible" dependency type,
|
||||
# so this optional dependency uses a version range no release can satisfy: if the standalone
|
||||
# Apple Cows mod is installed, Forge refuses to load instead of running both copies.
|
||||
|
||||
[[dependencies.${mod_id}]]
|
||||
modId="anthology"
|
||||
mandatory=true
|
||||
versionRange="[1.0.0,)"
|
||||
ordering="AFTER"
|
||||
side="BOTH"
|
||||
|
||||
[[dependencies.${mod_id}]]
|
||||
modId="antos"
|
||||
mandatory=true
|
||||
versionRange="[1.4.0,)"
|
||||
ordering="AFTER"
|
||||
side="BOTH"
|
||||
|
||||
[[dependencies.${mod_id}]]
|
||||
modId="integrated_api"
|
||||
mandatory=true
|
||||
versionRange="[1.8.1,)"
|
||||
ordering="AFTER"
|
||||
side="BOTH"
|
||||
|
||||
[[dependencies.${mod_id}]]
|
||||
modId="geckolib"
|
||||
mandatory=true
|
||||
versionRange="*"
|
||||
ordering="AFTER"
|
||||
side="BOTH"
|
||||
|
||||
[[dependencies.${mod_id}]]
|
||||
modId="sizeable_foliage"
|
||||
mandatory=true
|
||||
versionRange="*"
|
||||
ordering="AFTER"
|
||||
side="BOTH"
|
||||
|
||||
[[dependencies.${mod_id}]]
|
||||
modId="pehkui"
|
||||
mandatory=true
|
||||
versionRange="*"
|
||||
ordering="AFTER"
|
||||
side="BOTH"
|
||||
|
||||
[[dependencies.${mod_id}]]
|
||||
modId="apple_cows"
|
||||
mandatory=false
|
||||
@@ -32,8 +82,9 @@ displayTest="MATCH_VERSION"
|
||||
ordering="NONE"
|
||||
side="BOTH"
|
||||
|
||||
[[mixins]]
|
||||
config="antarchy-common.mixins.json"
|
||||
|
||||
[[mixins]]
|
||||
config="antarchy-forge.mixins.json"
|
||||
[[dependencies.${mod_id}]]
|
||||
modId="hoverboards"
|
||||
mandatory=false
|
||||
versionRange="(,0)"
|
||||
ordering="NONE"
|
||||
side="BOTH"
|
||||
@@ -4,15 +4,11 @@
|
||||
"refmap": "antarchy-forge.mixins.refmap.json",
|
||||
"compatibilityLevel": "JAVA_17",
|
||||
"mixins": [
|
||||
"entity.MultipartEntityBridgeMixin",
|
||||
"entity.MultipartEntityLevelRegistryMixin",
|
||||
"compat.SablePhysicsColliderBlockGetterMixin",
|
||||
"item.BucketItemThoraxisWaterMixin",
|
||||
"entity.ParalyzedMobFreezeMixin",
|
||||
"infinity.AmendmentRareOresMixin",
|
||||
"infinity.ConfigGenInvocationMixin",
|
||||
"item.BucketItemThoraxisWaterMixin",
|
||||
"level.ClientLevelPartEntitiesAccessor",
|
||||
"level.LevelStemDiagnosticMixin",
|
||||
"level.ServerLevelPartEntitiesAccessor"
|
||||
"infinity.ConfigGenInvocationMixin"
|
||||
],
|
||||
"client": [
|
||||
"client.LiquidBlockRendererMixin"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "neoforge:item/bucket",
|
||||
"loader": "neoforge:fluid_container",
|
||||
"parent": "forge:item/bucket",
|
||||
"loader": "forge:fluid_container",
|
||||
"fluid": "antarchy:antiwater"
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"loader": "neoforge:separate_transforms",
|
||||
"loader": "forge:separate_transforms",
|
||||
"gui_light": "front",
|
||||
"textures": {
|
||||
"layer0": "antarchy:item/attitude_adjuster/attitude_adjuster_item"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"loader": "neoforge:separate_transforms",
|
||||
"loader": "forge:separate_transforms",
|
||||
"gui_light": "front",
|
||||
"textures": {
|
||||
"layer0": "antarchy:item/battle_axe/battle_axe_item"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"loader": "neoforge:separate_transforms",
|
||||
"loader": "forge:separate_transforms",
|
||||
"gui_light": "front",
|
||||
"textures": {
|
||||
"layer0": "antarchy:item/big_bertha/big_bertha_item"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "neoforge:item/bucket",
|
||||
"loader": "neoforge:fluid_container",
|
||||
"parent": "forge:item/bucket",
|
||||
"loader": "forge:fluid_container",
|
||||
"fluid": "antarchy:bile"
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"loader": "forge:separate_transforms",
|
||||
"gui_light": "front",
|
||||
"textures": {
|
||||
"layer0": "antarchy:item/eye_of_the_storm/eye_of_the_storm_item"
|
||||
},
|
||||
"base": {
|
||||
"parent": "antarchy:item/eye_of_the_storm_held_geo"
|
||||
},
|
||||
"texture_size": [
|
||||
64,
|
||||
64
|
||||
],
|
||||
"perspectives": {
|
||||
"gui": {
|
||||
"parent": "antarchy:item/eye_of_the_storm_gui"
|
||||
},
|
||||
"ground": {
|
||||
"parent": "antarchy:item/eye_of_the_storm_gui"
|
||||
},
|
||||
"fixed": {
|
||||
"parent": "antarchy:item/eye_of_the_storm_gui"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"loader": "forge:separate_transforms",
|
||||
"gui_light": "front",
|
||||
"textures": {
|
||||
"layer0": "antarchy:item/giant_frying_pan/giant_frying_pan_in_hand"
|
||||
},
|
||||
"base": {
|
||||
"parent": "antarchy:item/giant_frying_pan_held"
|
||||
},
|
||||
"texture_size": [
|
||||
128,
|
||||
128
|
||||
],
|
||||
"perspectives": {
|
||||
"gui": {
|
||||
"parent": "antarchy:item/giant_frying_pan_gui"
|
||||
},
|
||||
"ground": {
|
||||
"parent": "antarchy:item/giant_frying_pan_gui"
|
||||
},
|
||||
"fixed": {
|
||||
"parent": "antarchy:item/giant_frying_pan_gui"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"loader": "neoforge:separate_transforms",
|
||||
"loader": "forge:separate_transforms",
|
||||
"gui_light": "front",
|
||||
"base": {
|
||||
"parent": "antarchy:item/gravity_gun_held_geo"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"loader": "neoforge:separate_transforms",
|
||||
"loader": "forge:separate_transforms",
|
||||
"gui_light": "front",
|
||||
"base": {
|
||||
"parent": "antarchy:item/grow_ray_held_geo"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "neoforge:item/bucket",
|
||||
"loader": "neoforge:fluid_container",
|
||||
"parent": "forge:item/bucket",
|
||||
"loader": "forge:fluid_container",
|
||||
"fluid": "antarchy:ichor"
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"loader": "neoforge:separate_transforms",
|
||||
"loader": "forge:separate_transforms",
|
||||
"gui_light": "front",
|
||||
"textures": {
|
||||
"layer0": "antarchy:item/krakens_grasp/krakens_grasp_item"
|
||||
|
||||
Loaded 100 of 4681 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user