Peach blocks and Peach forest
Elka, Glimmer, Deer Toned down alpha mantis spawns Increased uranium and titanium spawn by 25% Overhauled red ant nest and pale nyxite texture Fixed Ant Nests not spawning on Fabric Fixed armor trims not working on antarchy armors Fixed antarchy materials not working as armor trims Adding missing hanging sign gui texture files HFCS Root beer Elythia frog Roseate and Lumen froglight
This commit is contained in:
1 parent
89d9aff0b9
commit
79cbc454e6
561 files changed
+22472
-3149
No files matched your search
@@ -34,8 +34,8 @@ dependencies {
|
||||
neoForge "net.neoforged:neoforge:${rootProject.neoforge_version}"
|
||||
modLocalRuntime("curse.maven:intapi-${project.intapi_curseforge_id}:${project.intapi_curseforge_file_id_neoforge}")
|
||||
implementation "software.bernie.geckolib:geckolib-neoforge-${minecraft_version}:${geckolib_version}"
|
||||
compileOnly(files(rootProject.file("infinite_dimensions_jars/infinity-2.7.1+1.21.1-neoforge.jar")))
|
||||
modLocalRuntime(files(rootProject.file("infinite_dimensions_jars/infinity-2.7.1+1.21.1-neoforge.jar")))
|
||||
compileOnly(files(rootProject.file("infinite_dimensions_jars/infinity-2.7.2+1.21.1-neoforge.jar")))
|
||||
modLocalRuntime(files(rootProject.file("infinite_dimensions_jars/infinity-2.7.2+1.21.1-neoforge.jar")))
|
||||
|
||||
compileOnly(files(rootProject.file("sizeable_foliage_jars/sizeable_foliage-neoforge-1.21.1-1.0.0.jar")))
|
||||
runtimeOnly(files(rootProject.file("sizeable_foliage_jars/sizeable_foliage-neoforge-1.21.1-1.0.0.jar")))
|
||||
@@ -44,7 +44,8 @@ dependencies {
|
||||
modLocalRuntime("com.telepathicgrunt:StructureVoidToggle-Neoforge:${project.structurevoidtoggle_neoforge}")
|
||||
|
||||
// modLocalRuntime("curse.maven:idas-${idas_curseforge_id}:${idas_curseforge_file_id}")
|
||||
// modLocalRuntime("curse.maven:jei-${jei_curseforge_id}:${jei_curseforge_file_id}")
|
||||
compileOnly "mezz.jei:jei-${minecraft_version}-common-api:${jei_version}"
|
||||
compileOnly "mezz.jei:jei-${minecraft_version}-neoforge-api:${jei_version}"
|
||||
// modLocalRuntime("curse.maven:create-${create_curseforge_id}:${create_curseforge_file_id}")
|
||||
// modLocalRuntime("curse.maven:theoneprobe-${top_curseforge_id}:${top_curseforge_file_id}")
|
||||
// modLocalRuntime("curse.maven:worldedit-${worldedit_curseforge_id}:${worldedit_curseforge_file_id}")
|
||||
|
||||
+12
@@ -199,6 +199,7 @@ public final class AntarchyConfigModuleNeoforge {
|
||||
AntarchySettings.setHerculesBeetleHealth(AntarchyMobsConfig.herculesBeetleHealth());
|
||||
AntarchySettings.setHerculesBeetleAttackDamage(AntarchyMobsConfig.herculesBeetleAttackDamage());
|
||||
AntarchySettings.setHerculesBeetleChargeDamage(AntarchyMobsConfig.herculesBeetleChargeDamage());
|
||||
AntarchySettings.setOuranwoodDeerHealth(AntarchyMobsConfig.ouranwoodDeerHealth());
|
||||
AntarchySettings.setGlimmerHealth(AntarchyMobsConfig.glimmerHealth());
|
||||
}
|
||||
|
||||
@@ -311,9 +312,20 @@ public final class AntarchyConfigModuleNeoforge {
|
||||
AntarchySettings.setGravityGunCooldownSeconds(AntarchyToolsConfig.gravityGunCooldownSeconds());
|
||||
AntarchySettings.setGravityGunMaxHoldDistance(AntarchyToolsConfig.gravityGunMaxHoldDistance());
|
||||
|
||||
AntarchySettings.setMinersDreamEnabled(AntarchyToolsConfig.minersDreamEnabled());
|
||||
AntarchySettings.setMinersDreamMinimumRange(AntarchyToolsConfig.minersDreamMinimumRange());
|
||||
AntarchySettings.setMinersDreamMaximumRange(AntarchyToolsConfig.minersDreamMaximumRange());
|
||||
AntarchySettings.setMinersDreamTorchSpacing(AntarchyToolsConfig.minersDreamTorchSpacing());
|
||||
AntarchySettings.setMinersDreamBlocksPerTick(AntarchyToolsConfig.minersDreamBlocksPerTick());
|
||||
|
||||
AntarchySettings.setDuctTapeRepairPercentPerUse(AntarchyToolsConfig.ductTapeRepairPercentPerUse());
|
||||
AntarchySettings.setPotentNyxiteInvertedDurationSeconds(AntarchyToolsConfig.potentNyxiteInvertedDurationSeconds());
|
||||
AntarchySettings.setCorneaEarNightVisionSeconds(AntarchyToolsConfig.corneaEarNightVisionSeconds());
|
||||
AntarchySettings.setAmericanizingEnabled(AntarchyToolsConfig.americanizingEnabled());
|
||||
AntarchySettings.setAmericanBonusNutrition(AntarchyToolsConfig.americanBonusNutrition());
|
||||
AntarchySettings.setAmericanBonusSaturation(AntarchyToolsConfig.americanBonusSaturation());
|
||||
AntarchySettings.setAmericanRegenerationDurationTicks(AntarchyToolsConfig.americanRegenerationDurationTicks());
|
||||
AntarchySettings.setAmericanRegenerationAmplifier(AntarchyToolsConfig.americanRegenerationAmplifier());
|
||||
AntarchySettings.setAntDanceRadius(AntarchyMobsConfig.antDanceRadius());
|
||||
|
||||
AntarchySettings.setMogglesVisionRadius(AntarchyToolsConfig.mogglesVisionRadius());
|
||||
|
||||
@@ -212,6 +212,11 @@ public final class AntarchyMobsConfig {
|
||||
private static final ModConfigSpec.DoubleValue DORRIE_HEALTH;
|
||||
|
||||
|
||||
// Ouranwood Deer
|
||||
|
||||
private static final ModConfigSpec.DoubleValue OURANWOOD_DEER_HEALTH;
|
||||
|
||||
|
||||
// Glimmer
|
||||
|
||||
private static final ModConfigSpec.DoubleValue GLIMMER_HEALTH;
|
||||
@@ -547,6 +552,10 @@ public final class AntarchyMobsConfig {
|
||||
DORRIE_HEALTH = b.comment("Base max health.").defineInRange("health", 60.0D, 1.0D, 32768.0D);
|
||||
b.pop();
|
||||
|
||||
b.push("ouranwood_deer");
|
||||
OURANWOOD_DEER_HEALTH = b.comment("Base max health.").defineInRange("health", 20.0D, 1.0D, 32768.0D);
|
||||
b.pop();
|
||||
|
||||
b.push("glimmer");
|
||||
GLIMMER_HEALTH = b.comment("Base max health.").defineInRange("health", 20.0D, 1.0D, 32768.0D);
|
||||
b.pop();
|
||||
@@ -727,6 +736,7 @@ public final class AntarchyMobsConfig {
|
||||
static double cheepHealth() { return CHEEP_HEALTH.get(); }
|
||||
static double cheepAttackDamage() { return CHEEP_ATTACK_DAMAGE.get(); }
|
||||
static double dorrieHealth() { return DORRIE_HEALTH.get(); }
|
||||
static double ouranwoodDeerHealth() { return OURANWOOD_DEER_HEALTH.get(); }
|
||||
static double glimmerHealth() { return GLIMMER_HEALTH.get(); }
|
||||
static double herculesBeetleHealth() { return HERCULES_BEETLE_HEALTH.get(); }
|
||||
static double herculesBeetleAttackDamage() { return HERCULES_BEETLE_ATTACK_DAMAGE.get(); }
|
||||
|
||||
+11
@@ -45,6 +45,17 @@ public final class AntarchyNeoForgeFluidTypes {
|
||||
.density(1200)
|
||||
.viscosity(1400)));
|
||||
|
||||
public static final DeferredHolder<FluidType, FluidType> LUMEN_TYPE = FLUID_TYPES.register("lumen",
|
||||
() -> new FluidType(FluidType.Properties.create()
|
||||
.descriptionId("block.antarchy.lumen")
|
||||
.fallDistanceModifier(0.0F)
|
||||
.canSwim(true)
|
||||
.supportsBoating(true)
|
||||
.sound(SoundActions.BUCKET_FILL, SoundEvents.BUCKET_FILL)
|
||||
.sound(SoundActions.BUCKET_EMPTY, SoundEvents.BUCKET_EMPTY)
|
||||
.density(1000)
|
||||
.viscosity(1000)));
|
||||
|
||||
private AntarchyNeoForgeFluidTypes() {
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.craisinlord.antarchy.neoforge;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.compat.infinity.InfinityCompat;
|
||||
import com.craisinlord.antarchy.compat.infinity.InfinityCompatVersion;
|
||||
import com.craisinlord.antarchy.content.AntarchyObjects;
|
||||
import com.craisinlord.antarchy.content.AntarchySoundEvents;
|
||||
import com.craisinlord.antarchy.content.item.BloodCrystalKatanaItem;
|
||||
@@ -168,7 +169,7 @@ public class AntarchyNeoforge {
|
||||
new BloodCrystalKatanaTrailPayload(player.getId(), durationTicks)
|
||||
));
|
||||
com.craisinlord.antarchy.content.gravity.AntarchyGravityApi.setSyncDispatcher(AntarchyGravityNetworking::syncEntity);
|
||||
if (isModLoaded("infinity")) {
|
||||
if (isSupportedInfinityLoaded()) {
|
||||
InfinityCompat.bind(new NeoForgeInfinityCompat());
|
||||
}
|
||||
AntarchyNeoForgeEvents.register(modEventBus);
|
||||
@@ -176,6 +177,7 @@ public class AntarchyNeoforge {
|
||||
AntarchyNeoforgeEntites.register(modEventBus);
|
||||
AntarchyNeoforgeBlocks.register(modEventBus);
|
||||
AntarchyNeoforgeItems.register(modEventBus);
|
||||
AntarchyNeoForgeFluidTypes.register(modEventBus);
|
||||
AntarchyNeoforgeMisc.register(modEventBus);
|
||||
AntarchyNeoforgeSpawnPlacements.register(modEventBus);
|
||||
AntarchyNeoforgeCreativeModeTabs.register(modEventBus);
|
||||
@@ -217,7 +219,7 @@ public class AntarchyNeoforge {
|
||||
(java.util.function.Supplier) AntarchyNeoforgeEntites.BOMBER,
|
||||
(java.util.function.Supplier) AntarchyNeoforgeEntites.BED_BUG,
|
||||
AntarchyNeoforgeEntites.CHEEP,
|
||||
(java.util.function.Supplier) AntarchyNeoforgeEntites.CHEEP,
|
||||
AntarchyNeoforgeEntites.DORRIE,
|
||||
() -> AntarchyNeoforgeBlocks.DUPLICATOR_LOG.get(),
|
||||
() -> AntarchyNeoforgeBlocks.DUPLICATOR_SAPLING.get(),
|
||||
() -> AntarchyNeoforgeBlocks.DUCT_TAPE.get(),
|
||||
@@ -268,6 +270,10 @@ public class AntarchyNeoforge {
|
||||
() -> AntarchyNeoforgeBlocks.OURANWOOD_ACORN_BLOCK.get(),
|
||||
() -> AntarchyNeoforgeBlocks.MOSSY_OURANWOOD_LOG.get(),
|
||||
() -> AntarchyNeoforgeBlocks.MOSSY_OURANWOOD_WOOD.get(),
|
||||
() -> AntarchyNeoforgeBlocks.UMBRAL_MOSS_BLOCK.get(),
|
||||
() -> AntarchyNeoforgeBlocks.UMBRAL_MOSS_CARPET.get(),
|
||||
() -> AntarchyNeoforgeBlocks.BLUSH_MOSS_BLOCK.get(),
|
||||
() -> AntarchyNeoforgeBlocks.BLUSH_MOSS_CARPET.get(),
|
||||
() -> AntarchyNeoforgeBlocks.ORANGE_MILKWEED.get(),
|
||||
() -> AntarchyNeoforgeBlocks.PINK_MILKWEED.get(),
|
||||
() -> AntarchyNeoforgeBlocks.BED_BUG_EGG.get(),
|
||||
@@ -283,13 +289,30 @@ public class AntarchyNeoforge {
|
||||
() -> AntarchyNeoforgeBlocks.HUSHWEED_BLOCK_ENTITY.get(),
|
||||
() -> AntarchyNeoforgeMisc.STINKY_GAS.get(),
|
||||
() -> AntarchyNeoforgeMisc.STINKY_FLY.get(),
|
||||
() -> AntarchyNeoforgeMisc.PEACH_LEAVES_PARTICLE.get(),
|
||||
() -> AntarchyNeoforgeMisc.DOUBLE_DAMAGE_CHANCE,
|
||||
() -> AntarchyNeoforgeMisc.BLOODGLASS_MAX_HEARTS,
|
||||
() -> AntarchyNeoforgeMisc.BLOODGLASS_WARD
|
||||
);
|
||||
AntarchyObjects.setOctopusBomb(AntarchyNeoforgeEntites.OCTOPUS_BOMB);
|
||||
// AntarchyObjects.setGlimmer(AntarchyNeoforgeEntites.GLIMMER);
|
||||
// AntarchyObjects.setGlimmersGrace(() -> AntarchyNeoforgeMisc.GLIMMERS_GRACE);
|
||||
AntarchyObjects.setOuranwoodDeer(AntarchyNeoforgeEntites.OURANWOOD_DEER);
|
||||
AntarchyObjects.setGlimmer(AntarchyNeoforgeEntites.GLIMMER);
|
||||
AntarchyObjects.setSpiritApple(() -> AntarchyNeoforgeItems.SPIRIT_APPLE.get());
|
||||
AntarchyObjects.setElka(AntarchyNeoforgeEntites.ELKA);
|
||||
AntarchyObjects.setPeach(() -> AntarchyNeoforgeItems.PEACH.get());
|
||||
AntarchyObjects.setCorn(() -> AntarchyNeoforgeItems.CORN.get());
|
||||
AntarchyObjects.setCornSeeds(() -> AntarchyNeoforgeItems.CORN_SEEDS.get());
|
||||
AntarchyObjects.setCookedCorndog(() -> AntarchyNeoforgeItems.COOKED_CORNDOG.get());
|
||||
AntarchyObjects.setGlimmerBottle(() -> AntarchyNeoforgeItems.GLIMMER_BOTTLE.get());
|
||||
AntarchyObjects.setGlimmerVariantComponent(() -> AntarchyNeoforgeMisc.GLIMMER_VARIANT.get());
|
||||
AntarchyObjects.setAmericanComponent(() -> AntarchyNeoforgeMisc.AMERICAN.get());
|
||||
AntarchyObjects.setLumen(() -> AntarchyNeoforgeMisc.LUMEN.get());
|
||||
AntarchyObjects.setFlowingLumen(() -> AntarchyNeoforgeMisc.FLOWING_LUMEN.get());
|
||||
AntarchyObjects.setLumenBucket(() -> AntarchyNeoforgeItems.LUMEN_BUCKET.get());
|
||||
AntarchyObjects.setLumenBlock(() -> AntarchyNeoforgeBlocks.LUMEN_BLOCK.get());
|
||||
AntarchyObjects.setLumenFroglight(() -> AntarchyNeoforgeBlocks.LUMEN_FROGLIGHT.get());
|
||||
AntarchyObjects.setPeachLeavesParticle(() -> AntarchyNeoforgeMisc.PEACH_LEAVES_PARTICLE.get());
|
||||
AntarchyObjects.setDorrieInventoryMenu(AntarchyNeoforgeMisc.DORRIE_INVENTORY_MENU);
|
||||
}
|
||||
|
||||
private static boolean isModLoaded(String modId) {
|
||||
@@ -299,4 +322,29 @@ public class AntarchyNeoforge {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isSupportedInfinityLoaded() {
|
||||
if (!isModLoaded("infinity")) {
|
||||
return false;
|
||||
}
|
||||
|
||||
try {
|
||||
String version = ModList.get()
|
||||
.getModContainerById("infinity")
|
||||
.map(container -> container.getModInfo().getVersion().toString())
|
||||
.orElse(null);
|
||||
if (InfinityCompatVersion.isSupported(version)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
Antarchy.LOGGER.warn(
|
||||
"Skipping Infinity integration because version {} is below the supported minimum {}",
|
||||
version,
|
||||
InfinityCompatVersion.requiredVersion()
|
||||
);
|
||||
} catch (Throwable throwable) {
|
||||
Antarchy.LOGGER.warn("Skipping Infinity integration because the installed Infinity version could not be verified", throwable);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -170,12 +170,26 @@ public final class AntarchyToolsConfig {
|
||||
private static final ModConfigSpec.DoubleValue GRAVITY_GUN_MAX_HOLD_DISTANCE;
|
||||
|
||||
|
||||
// Miner's Dream
|
||||
|
||||
private static final ModConfigSpec.BooleanValue MINERS_DREAM_ENABLED;
|
||||
private static final ModConfigSpec.IntValue MINERS_DREAM_MINIMUM_RANGE;
|
||||
private static final ModConfigSpec.IntValue MINERS_DREAM_MAXIMUM_RANGE;
|
||||
private static final ModConfigSpec.IntValue MINERS_DREAM_TORCH_SPACING;
|
||||
private static final ModConfigSpec.IntValue MINERS_DREAM_BLOCKS_PER_TICK;
|
||||
|
||||
|
||||
// Miscellaneous items / consumables
|
||||
|
||||
private static final ModConfigSpec.DoubleValue DUCT_TAPE_REPAIR_PERCENT_PER_USE;
|
||||
private static final ModConfigSpec.DoubleValue POTENT_NYXITE_INVERTED_DURATION_SECONDS;
|
||||
private static final ModConfigSpec.BooleanValue INVERT_PROJECTILES_FROM_INVERTED_PLAYERS;
|
||||
private static final ModConfigSpec.IntValue CORNEA_EAR_NIGHT_VISION_SECONDS;
|
||||
private static final ModConfigSpec.BooleanValue AMERICAN_ENABLED;
|
||||
private static final ModConfigSpec.IntValue AMERICAN_BONUS_NUTRITION;
|
||||
private static final ModConfigSpec.DoubleValue AMERICAN_BONUS_SATURATION;
|
||||
private static final ModConfigSpec.IntValue AMERICAN_REGENERATION_DURATION_TICKS;
|
||||
private static final ModConfigSpec.IntValue AMERICAN_REGENERATION_AMPLIFIER;
|
||||
|
||||
// Moggles
|
||||
|
||||
@@ -424,6 +438,17 @@ public final class AntarchyToolsConfig {
|
||||
b.pop();
|
||||
|
||||
|
||||
// Miner's Dream
|
||||
|
||||
b.push("minersDream");
|
||||
MINERS_DREAM_ENABLED = b.comment("Master toggle. If false, the item remains craftable but cannot be used.").define("enabled", true);
|
||||
MINERS_DREAM_MINIMUM_RANGE = b.comment("Minimum cave length in blocks. Clamped to [8, 256].") .defineInRange("minimumRange", 48, 8, 256);
|
||||
MINERS_DREAM_MAXIMUM_RANGE = b.comment("Maximum cave length in blocks. Clamped to [8, 256].") .defineInRange("maximumRange", 96, 8, 256);
|
||||
MINERS_DREAM_TORCH_SPACING = b.comment("Approximate blocks between torch placements along the cave.") .defineInRange("torchSpacing", 10, 4, 64);
|
||||
MINERS_DREAM_BLOCKS_PER_TICK = b.comment("Maximum blocks removed per server tick while excavating.") .defineInRange("blocksPerTick", 150, 1, 2000);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Miscellaneous items / consumables
|
||||
|
||||
b.push("ductTape");
|
||||
@@ -444,6 +469,14 @@ public final class AntarchyToolsConfig {
|
||||
.defineInRange("nightVisionSeconds", 15, 0, 600);
|
||||
b.pop();
|
||||
|
||||
b.push("american");
|
||||
AMERICAN_ENABLED = b.comment("If false, foods cannot be Americanized with High Fructose Corn Syrup.").define("enabled", true);
|
||||
AMERICAN_BONUS_NUTRITION = b.comment("Extra hunger points restored when eating an Americanized food.").defineInRange("bonusNutrition", 2, 0, 100);
|
||||
AMERICAN_BONUS_SATURATION = b.comment("Extra saturation restored when eating an Americanized food.").defineInRange("bonusSaturation", 1.0D, 0.0D, 100.0D);
|
||||
AMERICAN_REGENERATION_DURATION_TICKS = b.comment("Duration of the Regeneration effect granted when eating an Americanized food, in ticks.").defineInRange("regenerationDurationTicks", 60, 0, 72000);
|
||||
AMERICAN_REGENERATION_AMPLIFIER = b.comment("Amplifier of the Regeneration effect granted when eating an Americanized food (0 = I).").defineInRange("regenerationAmplifier", 0, 0, 10);
|
||||
b.pop();
|
||||
|
||||
b.push("moggles");
|
||||
MOGGLES_VISION_RADIUS = b.comment("Radius in blocks of the see-through effect (cube side = 2r+1).").defineInRange("visionRadius", 2, 1, 16);
|
||||
MOGGLES_VISION_MAX_LIGHT = b.comment("Maximum block light level where Moggles vision activates.") .defineInRange("visionMaxLight", 7, 0, 15);
|
||||
@@ -579,9 +612,20 @@ public final class AntarchyToolsConfig {
|
||||
static double gravityGunCooldownSeconds() { return GRAVITY_GUN_COOLDOWN_SECONDS.get(); }
|
||||
static double gravityGunMaxHoldDistance() { return GRAVITY_GUN_MAX_HOLD_DISTANCE.get(); }
|
||||
|
||||
static boolean minersDreamEnabled() { return MINERS_DREAM_ENABLED.get(); }
|
||||
static int minersDreamMinimumRange() { return MINERS_DREAM_MINIMUM_RANGE.get(); }
|
||||
static int minersDreamMaximumRange() { return MINERS_DREAM_MAXIMUM_RANGE.get(); }
|
||||
static int minersDreamTorchSpacing() { return MINERS_DREAM_TORCH_SPACING.get(); }
|
||||
static int minersDreamBlocksPerTick() { return MINERS_DREAM_BLOCKS_PER_TICK.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(); }
|
||||
static boolean americanizingEnabled() { return AMERICAN_ENABLED.get(); }
|
||||
static int americanBonusNutrition() { return AMERICAN_BONUS_NUTRITION.get(); }
|
||||
static double americanBonusSaturation() { return AMERICAN_BONUS_SATURATION.get(); }
|
||||
static int americanRegenerationDurationTicks() { return AMERICAN_REGENERATION_DURATION_TICKS.get(); }
|
||||
static int americanRegenerationAmplifier() { return AMERICAN_REGENERATION_AMPLIFIER.get(); }
|
||||
|
||||
static int mogglesVisionRadius() { return MOGGLES_VISION_RADIUS.get(); }
|
||||
static int mogglesVisionMaxLight() { return MOGGLES_VISION_MAX_LIGHT.get(); }
|
||||
|
||||
+3
-2
@@ -4,10 +4,11 @@ import com.craisinlord.antarchy.Antarchy;
|
||||
import net.minecraft.world.level.block.state.properties.BlockSetType;
|
||||
import net.minecraft.world.level.block.state.properties.WoodType;
|
||||
|
||||
public final class OuranwoodWoodTypes {
|
||||
public final class AntarchyWoodTypes {
|
||||
public static final WoodType OURANWOOD = register("ouranwood");
|
||||
public static final WoodType PEACH = register("peach");
|
||||
|
||||
private OuranwoodWoodTypes() {
|
||||
private AntarchyWoodTypes() {
|
||||
}
|
||||
|
||||
private static WoodType register(String name) {
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.craisinlord.antarchy.neoforge;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.compat.infinity.InfinityCompatBridge;
|
||||
import net.lerariemann.infinity.util.InfinityMethods;
|
||||
import net.lerariemann.infinity.util.teleport.WarpLogic;
|
||||
@@ -18,6 +19,7 @@ public final class NeoForgeInfinityCompat implements InfinityCompatBridge {
|
||||
try {
|
||||
return InfinityMethods.getRandomId(random);
|
||||
} catch (Throwable throwable) {
|
||||
Antarchy.LOGGER.error("[Antarchy] Failed to get a random Infinity dimension id", throwable);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -28,6 +30,7 @@ public final class NeoForgeInfinityCompat implements InfinityCompatBridge {
|
||||
WarpLogic.requestWarp(player, dimensionId, false);
|
||||
return true;
|
||||
} catch (Throwable throwable) {
|
||||
Antarchy.LOGGER.error("[Antarchy] Failed to request an Infinity warp to {}", dimensionId, throwable);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
+70
-1
@@ -53,6 +53,7 @@ import net.neoforged.fml.common.EventBusSubscriber;
|
||||
import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
|
||||
import net.neoforged.neoforge.client.event.RegisterParticleProvidersEvent;
|
||||
import net.neoforged.neoforge.client.event.RegisterColorHandlersEvent;
|
||||
import net.neoforged.neoforge.client.event.RegisterMenuScreensEvent;
|
||||
import net.neoforged.neoforge.client.event.EntityRenderersEvent;
|
||||
import net.neoforged.neoforge.client.event.RegisterGuiLayersEvent;
|
||||
import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions;
|
||||
@@ -68,6 +69,8 @@ public final class AntarchyNeoForgeClient {
|
||||
private static final ResourceLocation DR_TRAYAURUS_TEXTURE = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/dr_trayaurus.png");
|
||||
private static final ResourceLocation OURANWOOD_BOAT_TEXTURE = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/boat/ouranwood.png");
|
||||
private static final ResourceLocation OURANWOOD_CHEST_BOAT_TEXTURE = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/chest_boat/ouranwood.png");
|
||||
private static final ResourceLocation PEACH_BOAT_TEXTURE = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/boat/peach.png");
|
||||
private static final ResourceLocation PEACH_CHEST_BOAT_TEXTURE = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/chest_boat/peach.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");
|
||||
@@ -98,6 +101,8 @@ public final class AntarchyNeoForgeClient {
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.TRIFFID.get(), context -> withParalyzedGeoLayer(new TriffidRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.OURANWOOD_BOAT_ENTITY.get(), context -> new OuranwoodBoatRenderer<>(context, OURANWOOD_BOAT_TEXTURE, false));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.OURANWOOD_CHEST_BOAT_ENTITY.get(), context -> new OuranwoodBoatRenderer<>(context, OURANWOOD_CHEST_BOAT_TEXTURE, true));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.PEACH_BOAT_ENTITY.get(), context -> new PeachBoatRenderer<>(context, PEACH_BOAT_TEXTURE, false));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.PEACH_CHEST_BOAT_ENTITY.get(), context -> new PeachBoatRenderer<>(context, PEACH_CHEST_BOAT_TEXTURE, true));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.APPLE_COW.get(), context -> withParalyzedGeoLayer(new AppleCowRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.GOLDEN_APPLE_COW.get(), context -> withParalyzedGeoLayer(new AppleCowRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.ENCHANTED_GOLDEN_APPLE_COW.get(), context -> withParalyzedGeoLayer(new AppleCowRenderer(context)));
|
||||
@@ -125,7 +130,10 @@ public final class AntarchyNeoForgeClient {
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.TORETERROR.get(), ToreterrorRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.WATER_BOMB.get(), WaterBombRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.CHEEP.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.CheepRenderer(context)));
|
||||
// event.registerEntityRenderer(AntarchyNeoforgeEntites.GLIMMER.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.GlimmerRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.DORRIE.get(), context -> new com.craisinlord.antarchy.content.client.renderer.DorrieRenderer(context));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.OURANWOOD_DEER.get(), context -> new com.craisinlord.antarchy.content.client.renderer.OuranwoodDeerRenderer(context));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.GLIMMER.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.glimmer.GlimmerRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.ELKA.get(), context -> new com.craisinlord.antarchy.content.client.renderer.ElkaRenderer(context));
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
@@ -152,6 +160,8 @@ public final class AntarchyNeoForgeClient {
|
||||
public static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerDefinitions event) {
|
||||
event.registerLayerDefinition(OuranwoodBoatRenderer.boatLayer(), BoatModel::createBodyModel);
|
||||
event.registerLayerDefinition(OuranwoodBoatRenderer.chestBoatLayer(), ChestBoatModel::createBodyModel);
|
||||
event.registerLayerDefinition(PeachBoatRenderer.boatLayer(), BoatModel::createBodyModel);
|
||||
event.registerLayerDefinition(PeachBoatRenderer.chestBoatLayer(), ChestBoatModel::createBodyModel);
|
||||
}
|
||||
|
||||
@SuppressWarnings({"rawtypes", "unchecked"})
|
||||
@@ -206,6 +216,7 @@ public final class AntarchyNeoForgeClient {
|
||||
(stack, tintIndex) -> net.minecraft.world.level.GrassColor.getDefaultColor()
|
||||
);
|
||||
event.register(new DynamicFluidContainerModel.Colors(), AntarchyNeoforgeItems.ICHOR_BUCKET.get());
|
||||
event.register(new DynamicFluidContainerModel.Colors(), AntarchyNeoforgeItems.LUMEN_BUCKET.get());
|
||||
event.register(new DynamicFluidContainerModel.Colors(), AntarchyNeoforgeItems.ANTIWATER_BUCKET.get());
|
||||
}
|
||||
|
||||
@@ -214,6 +225,7 @@ public final class AntarchyNeoForgeClient {
|
||||
event.registerSpriteSet(AntarchyNeoforgeMisc.DREAM_FIRE_FLAME.get(), DreamFlameParticle.Provider::new);
|
||||
event.registerSpriteSet(AntarchyNeoforgeMisc.STINKY_GAS.get(), HypnoticGasParticle.Provider::new);
|
||||
event.registerSpriteSet(AntarchyNeoforgeMisc.STINKY_FLY.get(), FireflyParticle.Provider::new);
|
||||
event.registerSpriteSet(AntarchyNeoforgeMisc.PEACH_LEAVES_PARTICLE.get(), PeachLeavesParticle.Provider::new);
|
||||
event.registerSpriteSet(AntarchyNeoforgeMisc.HYPNOTIC_GAS.get(), HypnoticGasParticle.Provider::new);
|
||||
event.registerSpriteSet(AntarchyNeoforgeMisc.HYPNOTIC_GAS_DOWN.get(), sprites -> new HypnoticGasParticle.Provider(sprites, true));
|
||||
event.registerSpecial(AntarchyNeoforgeMisc.HYPNOTIC_GAS_CLOUD.get(), new HypnoticGasCloudParticle.Provider());
|
||||
@@ -226,6 +238,11 @@ public final class AntarchyNeoForgeClient {
|
||||
event.registerSpriteSet(AntarchyNeoforgeMisc.ORANGE_ASH.get(), OrangeAshParticle.Provider::new);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerMenuScreens(RegisterMenuScreensEvent event) {
|
||||
event.register(AntarchyNeoforgeMisc.DORRIE_INVENTORY_MENU.get(), com.craisinlord.antarchy.content.client.screen.DorrieInventoryScreen::new);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerGuiLayers(RegisterGuiLayersEvent event) {
|
||||
event.registerAboveAll(
|
||||
@@ -261,6 +278,50 @@ public final class AntarchyNeoForgeClient {
|
||||
@SubscribeEvent
|
||||
public static void registerClientExtensions(RegisterClientExtensionsEvent event) {
|
||||
Antarchy.LOGGER.info("[Antiwater] Registering antiwater client fluid textures still={} flow={}", ANTIWATER_STILL, ANTIWATER_FLOW);
|
||||
event.registerFluidType(new IClientFluidTypeExtensions() {
|
||||
@Override
|
||||
public ResourceLocation getStillTexture() {
|
||||
return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "block/lumen_still");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getFlowingTexture() {
|
||||
return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "block/lumen_flow");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getOverlayTexture() {
|
||||
return WATER_OVERLAY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getRenderOverlayTexture(Minecraft mc) {
|
||||
return UNDERWATER_OVERLAY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTintColor() {
|
||||
return 0xFFFFFFFF;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTintColor(FluidState state, BlockAndTintGetter getter, net.minecraft.core.BlockPos pos) {
|
||||
return 0xFFFFFFFF;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Vector3f modifyFogColor(Camera camera, float partialTick, ClientLevel level, int renderDistance, float darkenWorldAmount, Vector3f fluidFogColor) {
|
||||
return new Vector3f(0.58F, 0.84F, 0.88F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modifyFogRender(Camera camera, net.minecraft.client.renderer.FogRenderer.FogMode mode, float renderDistance, float partialTick, float nearDistance, float farDistance, FogShape shape) {
|
||||
RenderSystem.setShaderFogStart(0.4F);
|
||||
RenderSystem.setShaderFogEnd(Math.min(farDistance, 12.0F));
|
||||
RenderSystem.setShaderFogShape(FogShape.CYLINDER);
|
||||
}
|
||||
}, AntarchyNeoForgeFluidTypes.LUMEN_TYPE.get());
|
||||
|
||||
event.registerFluidType(new IClientFluidTypeExtensions() {
|
||||
@Override
|
||||
public ResourceLocation getStillTexture() {
|
||||
@@ -417,6 +478,11 @@ public final class AntarchyNeoForgeClient {
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.OURANWOOD_DOOR.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.OURANWOOD_TRAPDOOR.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.OURANWOOD_ACORN_BLOCK.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.PEACH_LEAVES.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.PEACH_HANGING_PEACH.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.PEACH_DOOR.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.PEACH_TRAPDOOR.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.PEACH_SAPLING.get(), RenderType.cutout());
|
||||
// ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.OURANWOOD_VINE.get(), RenderType.cutout());
|
||||
// ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.OURANWOOD_VINE_PLANT.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.DUPLICATOR_SAPLING.get(), RenderType.cutout());
|
||||
@@ -424,6 +490,8 @@ public final class AntarchyNeoForgeClient {
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.PINK_MILKWEED.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.HUSHWEED.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.CORNEA_STALK.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.CORN_CROP.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.WILD_CORN.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ANTIMETAL_SCAFFOLDING.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.UMBRAL_MOSS_CARPET.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.NYXITE_SPIKE.get(), RenderType.cutout());
|
||||
@@ -438,6 +506,7 @@ public final class AntarchyNeoForgeClient {
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.DREAM_FIRE.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.DREAM_CEILING_FIRE.get(), RenderType.cutout());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ANTIWATER_BLOCK.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.LUMEN_BLOCK.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ELYTHIA_PORTAL.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.THORAXIS_PORTAL.get(), RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.TRIFFID_GOO_BLOCK.get(), RenderType.translucent());
|
||||
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
package com.craisinlord.antarchy.neoforge.content.block;
|
||||
|
||||
import com.craisinlord.antarchy.content.AntarchyObjects;
|
||||
import com.craisinlord.antarchy.content.block.CornCropBlock;
|
||||
import com.mojang.serialization.MapCodec;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.LevelReader;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.DoubleBlockHalf;
|
||||
|
||||
public final class WildCornBlock extends CornCropBlock {
|
||||
public static final MapCodec<CornCropBlock> CODEC = Block.simpleCodec(WildCornBlock::new);
|
||||
|
||||
public WildCornBlock(BlockBehaviour.Properties properties) {
|
||||
super(properties);
|
||||
this.registerDefaultState(this.stateDefinition.any().setValue(AGE, 3).setValue(HALF, DoubleBlockHalf.LOWER));
|
||||
}
|
||||
|
||||
@Override
|
||||
public MapCodec<CornCropBlock> codec() {
|
||||
return CODEC;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean mayPlaceOn(BlockState state, BlockGetter level, BlockPos pos) {
|
||||
return state.is(Blocks.GRASS_BLOCK);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isRandomlyTicking(BlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void randomTick(BlockState state, ServerLevel level, BlockPos pos, RandomSource random) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValidBonemealTarget(LevelReader level, BlockPos pos, BlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBonemealSuccess(Level level, RandomSource random, BlockPos pos, BlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void performBonemeal(ServerLevel level, RandomSource random, BlockPos pos, BlockState state) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getCloneItemStack(LevelReader level, BlockPos pos, BlockState state) {
|
||||
return new ItemStack(AntarchyObjects.CORN.get());
|
||||
}
|
||||
}
|
||||
-37
@@ -1,37 +0,0 @@
|
||||
package com.craisinlord.antarchy.neoforge.mixins.infinity;
|
||||
|
||||
import net.lerariemann.infinity.dimensions.features.fluid_springs.RandomSpring;
|
||||
import net.lerariemann.infinity.util.core.ConfigType;
|
||||
import net.lerariemann.infinity.util.core.RandomProvider;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||
|
||||
import java.util.Random;
|
||||
@Mixin(value = RandomSpring.class, remap = false)
|
||||
/*
|
||||
* Skips bad fluid picks for Infinity random springs.
|
||||
*/
|
||||
public abstract class RandomSpringMixin {
|
||||
@Redirect(
|
||||
method = "feature()Lnet/minecraft/nbt/CompoundTag;",
|
||||
at = @At(
|
||||
value = "INVOKE",
|
||||
target = "Lnet/lerariemann/infinity/util/core/RandomProvider;randomName(Ljava/util/Random;Lnet/lerariemann/infinity/util/core/ConfigType;)Ljava/lang/String;"
|
||||
),
|
||||
remap = false
|
||||
)
|
||||
private String antarchy$useFluidIdForSpring(RandomProvider provider, Random random, ConfigType configType) {
|
||||
if (configType != ConfigType.FLUIDS) {
|
||||
return provider.randomName(random, configType);
|
||||
}
|
||||
|
||||
CompoundTag fluidTag = provider.randomElement(random, configType);
|
||||
String fluidId = fluidTag.getString("fluidName");
|
||||
if (!fluidId.isEmpty()) {
|
||||
return fluidId;
|
||||
}
|
||||
return fluidTag.getString("Name");
|
||||
}
|
||||
}
|
||||
+72
@@ -4,6 +4,7 @@ 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.CustomBrewingRecipes;
|
||||
import com.craisinlord.antarchy.content.block.DuctTapeBlock;
|
||||
import com.craisinlord.antarchy.content.block.PotentNyxiteBlock;
|
||||
import com.craisinlord.antarchy.content.bloodglass.BloodglassAccess;
|
||||
@@ -36,6 +37,7 @@ import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.tags.FluidTags;
|
||||
import net.minecraft.world.item.*;
|
||||
import net.minecraft.world.item.alchemy.Potions;
|
||||
import net.neoforged.neoforge.common.brewing.BrewingRecipe;
|
||||
import net.minecraft.world.level.block.ComposterBlock;
|
||||
import net.minecraft.world.level.block.DispenserBlock;
|
||||
import net.minecraft.world.level.block.RotatedPillarBlock;
|
||||
@@ -57,6 +59,8 @@ import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent;
|
||||
import net.neoforged.neoforge.event.level.BlockEvent;
|
||||
import net.neoforged.neoforge.event.tick.EntityTickEvent;
|
||||
import net.neoforged.neoforge.event.tick.PlayerTickEvent;
|
||||
import net.neoforged.neoforge.event.tick.ServerTickEvent;
|
||||
import com.craisinlord.antarchy.content.item.MinersDreamExcavationManager;
|
||||
import net.neoforged.neoforge.fluids.FluidInteractionRegistry;
|
||||
import net.neoforged.neoforge.network.PacketDistributor;
|
||||
|
||||
@@ -91,6 +95,7 @@ public final class AntarchyNeoForgeEvents {
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::tickDreadAndIchor);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::tickScorpionWhips);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::tickDreamSandLowGravity);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::tickMinersDreamExcavations);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleAntiwaterDamage);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleAntiwaterFall);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleDreamSandFall);
|
||||
@@ -859,6 +864,12 @@ public final class AntarchyNeoForgeEvents {
|
||||
}
|
||||
}
|
||||
|
||||
static void tickMinersDreamExcavations(ServerTickEvent.Post event) {
|
||||
for (ServerLevel level : event.getServer().getAllLevels()) {
|
||||
MinersDreamExcavationManager.tick(level);
|
||||
}
|
||||
}
|
||||
|
||||
static void tickDreamSandLowGravity(EntityTickEvent.Post event) {
|
||||
if (!(event.getEntity() instanceof LivingEntity livingEntity)) {
|
||||
return;
|
||||
@@ -971,6 +982,50 @@ public final class AntarchyNeoForgeEvents {
|
||||
}
|
||||
|
||||
static void registerBrewingRecipes(RegisterBrewingRecipesEvent event) {
|
||||
net.minecraft.tags.TagKey<net.minecraft.world.item.Item> rootsTag = net.minecraft.tags.TagKey.create(
|
||||
net.minecraft.core.registries.Registries.ITEM,
|
||||
net.minecraft.resources.ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "roots")
|
||||
);
|
||||
event.getBuilder().addRecipe(new BrewingRecipe(
|
||||
net.minecraft.world.item.crafting.Ingredient.of(Items.POTION),
|
||||
net.minecraft.world.item.crafting.Ingredient.of(AntarchyNeoforgeItems.CORN.get()),
|
||||
new ItemStack(AntarchyNeoforgeItems.HIGH_FRUCTOSE_CORN_SYRUP.get())
|
||||
) {
|
||||
@Override
|
||||
public boolean isInput(ItemStack stack) {
|
||||
return stack.is(Items.POTION) && stack.getOrDefault(net.minecraft.core.component.DataComponents.POTION_CONTENTS, net.minecraft.world.item.alchemy.PotionContents.EMPTY).is(net.minecraft.world.item.alchemy.Potions.WATER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isIngredient(ItemStack stack) {
|
||||
return stack.is(AntarchyNeoforgeItems.CORN.get());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getOutput(ItemStack input, ItemStack ingredient) {
|
||||
return CustomBrewingRecipes.getOutput(input, ingredient);
|
||||
}
|
||||
});
|
||||
event.getBuilder().addRecipe(new BrewingRecipe(
|
||||
net.minecraft.world.item.crafting.Ingredient.of(AntarchyNeoforgeItems.HIGH_FRUCTOSE_CORN_SYRUP.get()),
|
||||
net.minecraft.world.item.crafting.Ingredient.of(rootsTag),
|
||||
new ItemStack(AntarchyNeoforgeItems.ROOT_BEER.get())
|
||||
) {
|
||||
@Override
|
||||
public boolean isInput(ItemStack stack) {
|
||||
return stack.is(AntarchyNeoforgeItems.HIGH_FRUCTOSE_CORN_SYRUP.get());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isIngredient(ItemStack stack) {
|
||||
return stack.is(rootsTag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getOutput(ItemStack input, ItemStack ingredient) {
|
||||
return CustomBrewingRecipes.getOutput(input, ingredient);
|
||||
}
|
||||
});
|
||||
event.getBuilder().addMix(Potions.AWKWARD, AntarchyNeoforgeItems.LUCID_EYE.get(), AntarchyNeoforgeMisc.INVERSION);
|
||||
event.getBuilder().addMix(AntarchyNeoforgeMisc.INVERSION, Items.REDSTONE, AntarchyNeoforgeMisc.LONG_INVERSION);
|
||||
event.getBuilder().addMix(Potions.AWKWARD, AntarchyNeoforgeItems.STINK_BUG.get(), AntarchyNeoforgeMisc.STINKY_POTION);
|
||||
@@ -1075,6 +1130,16 @@ public final class AntarchyNeoForgeEvents {
|
||||
|
||||
if (state.is(AntarchyNeoforgeBlocks.MOSSY_OURANWOOD_WOOD.get())) {
|
||||
event.setFinalState(AntarchyNeoforgeBlocks.STRIPPED_OURANWOOD_WOOD.get().defaultBlockState().setValue(RotatedPillarBlock.AXIS, state.getValue(RotatedPillarBlock.AXIS)));
|
||||
return;
|
||||
}
|
||||
|
||||
if (state.is(AntarchyNeoforgeBlocks.PEACH_LOG.get())) {
|
||||
event.setFinalState(AntarchyNeoforgeBlocks.STRIPPED_PEACH_LOG.get().defaultBlockState().setValue(RotatedPillarBlock.AXIS, state.getValue(RotatedPillarBlock.AXIS)));
|
||||
return;
|
||||
}
|
||||
|
||||
if (state.is(AntarchyNeoforgeBlocks.PEACH_WOOD.get())) {
|
||||
event.setFinalState(AntarchyNeoforgeBlocks.STRIPPED_PEACH_WOOD.get().defaultBlockState().setValue(RotatedPillarBlock.AXIS, state.getValue(RotatedPillarBlock.AXIS)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1119,8 +1184,15 @@ public final class AntarchyNeoForgeEvents {
|
||||
);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.UMBRAL_MOSS_BLOCK.get().asItem(), 0.65f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.UMBRAL_MOSS_CARPET.get().asItem(), 0.3f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.BLUSH_MOSS_BLOCK.get().asItem(), 0.65f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.BLUSH_MOSS_CARPET.get().asItem(), 0.3f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.HUSHWEED.get().asItem(), 0.65f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeItems.CORNEA_EAR.get(), 0.65f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.PEACH_LEAVES.get().asItem(), 0.3f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeItems.PEACH_SAPLING_ITEM.get(), 0.3f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeItems.CORN.get(), 0.65f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeItems.CORN_SEEDS.get(), 0.3f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeItems.PEACH.get(), 0.65f);
|
||||
});
|
||||
}
|
||||
}
|
||||
+62
-5
@@ -10,8 +10,10 @@ import com.craisinlord.antarchy.content.block.entity.HushweedBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.PotentNyxiteBlockEntity;
|
||||
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.neoforge.OuranwoodWoodTypes;
|
||||
import com.craisinlord.antarchy.neoforge.content.block.WildCornBlock;
|
||||
import com.craisinlord.antarchy.neoforge.AntarchyWoodTypes;
|
||||
import com.craisinlord.antarchy.neoforge.content.fluid.AntiwaterFluidType;
|
||||
import com.mojang.serialization.MapCodec;
|
||||
import net.minecraft.core.Direction;
|
||||
@@ -84,13 +86,53 @@ public final class AntarchyNeoforgeBlocks {
|
||||
public static final DeferredBlock<MilkweedBlock> PINK_MILKWEED = BLOCKS.register("pink_milkweed",
|
||||
() -> new MilkweedBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY)));
|
||||
public static final DeferredBlock<StandingSignBlock> OURANWOOD_SIGN = BLOCKS.register("ouranwood_sign",
|
||||
() -> new StandingSignBlock(OuranwoodWoodTypes.OURANWOOD, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_SIGN)));
|
||||
() -> new StandingSignBlock(AntarchyWoodTypes.OURANWOOD, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_SIGN)));
|
||||
public static final DeferredBlock<WallSignBlock> OURANWOOD_WALL_SIGN = BLOCKS.register("ouranwood_wall_sign",
|
||||
() -> new WallSignBlock(OuranwoodWoodTypes.OURANWOOD, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_WALL_SIGN)));
|
||||
() -> new WallSignBlock(AntarchyWoodTypes.OURANWOOD, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_WALL_SIGN)));
|
||||
public static final DeferredBlock<CeilingHangingSignBlock> OURANWOOD_HANGING_SIGN = BLOCKS.register("ouranwood_hanging_sign",
|
||||
() -> new CeilingHangingSignBlock(OuranwoodWoodTypes.OURANWOOD, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_HANGING_SIGN)));
|
||||
() -> new CeilingHangingSignBlock(AntarchyWoodTypes.OURANWOOD, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_HANGING_SIGN)));
|
||||
public static final DeferredBlock<WallHangingSignBlock> OURANWOOD_WALL_HANGING_SIGN = BLOCKS.register("ouranwood_wall_hanging_sign",
|
||||
() -> new WallHangingSignBlock(OuranwoodWoodTypes.OURANWOOD, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_WALL_HANGING_SIGN)));
|
||||
() -> new WallHangingSignBlock(AntarchyWoodTypes.OURANWOOD, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_WALL_HANGING_SIGN)));
|
||||
public static final DeferredBlock<RotatedPillarBlock> PEACH_LOG = BLOCKS.register("peach_log",
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_LOG)));
|
||||
public static final DeferredBlock<RotatedPillarBlock> PEACH_WOOD = BLOCKS.register("peach_wood",
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_WOOD)));
|
||||
public static final DeferredBlock<RotatedPillarBlock> STRIPPED_PEACH_LOG = BLOCKS.register("stripped_peach_log",
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_JUNGLE_LOG)));
|
||||
public static final DeferredBlock<RotatedPillarBlock> STRIPPED_PEACH_WOOD = BLOCKS.register("stripped_peach_wood",
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_JUNGLE_WOOD)));
|
||||
public static final DeferredBlock<Block> PEACH_PLANKS = BLOCKS.register("peach_planks",
|
||||
() -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS)));
|
||||
public static final DeferredBlock<StairBlock> PEACH_STAIRS = BLOCKS.register("peach_stairs",
|
||||
() -> new StairBlock(PEACH_PLANKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_STAIRS)));
|
||||
public static final DeferredBlock<SlabBlock> PEACH_SLAB = BLOCKS.register("peach_slab",
|
||||
() -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_SLAB)));
|
||||
public static final DeferredBlock<FenceBlock> PEACH_FENCE = BLOCKS.register("peach_fence",
|
||||
() -> new FenceBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_FENCE)));
|
||||
public static final DeferredBlock<FenceGateBlock> PEACH_FENCE_GATE = BLOCKS.register("peach_fence_gate",
|
||||
() -> new FenceGateBlock(WoodType.JUNGLE, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_FENCE_GATE)));
|
||||
public static final DeferredBlock<DoorBlock> PEACH_DOOR = BLOCKS.register("peach_door",
|
||||
() -> new DoorBlock(BlockSetType.JUNGLE, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_DOOR)));
|
||||
public static final DeferredBlock<TrapDoorBlock> PEACH_TRAPDOOR = BLOCKS.register("peach_trapdoor",
|
||||
() -> new TrapDoorBlock(BlockSetType.JUNGLE, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_TRAPDOOR)));
|
||||
public static final DeferredBlock<PressurePlateBlock> PEACH_PRESSURE_PLATE = BLOCKS.register("peach_pressure_plate",
|
||||
() -> new PressurePlateBlock(BlockSetType.JUNGLE, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PRESSURE_PLATE)));
|
||||
public static final DeferredBlock<ButtonBlock> PEACH_BUTTON = BLOCKS.register("peach_button",
|
||||
() -> new ButtonBlock(BlockSetType.JUNGLE, 30, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_BUTTON)));
|
||||
public static final DeferredBlock<PeachLeavesBlock> PEACH_LEAVES = BLOCKS.register("peach_leaves",
|
||||
() -> new PeachLeavesBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_LEAVES).randomTicks()));
|
||||
public static final DeferredBlock<HangingPeachBlock> PEACH_HANGING_PEACH = BLOCKS.register("hanging_peach",
|
||||
() -> new HangingPeachBlock(BlockBehaviour.Properties.of().noOcclusion().instabreak()));
|
||||
public static final DeferredBlock<com.craisinlord.antarchy.content.block.PeachSaplingBlock> PEACH_SAPLING = BLOCKS.register("peach_sapling",
|
||||
() -> new com.craisinlord.antarchy.content.block.PeachSaplingBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_SAPLING).randomTicks().noCollission()));
|
||||
public static final DeferredBlock<StandingSignBlock> PEACH_SIGN = BLOCKS.register("peach_sign",
|
||||
() -> new StandingSignBlock(AntarchyWoodTypes.PEACH, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_SIGN)));
|
||||
public static final DeferredBlock<WallSignBlock> PEACH_WALL_SIGN = BLOCKS.register("peach_wall_sign",
|
||||
() -> new WallSignBlock(AntarchyWoodTypes.PEACH, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_WALL_SIGN)));
|
||||
public static final DeferredBlock<CeilingHangingSignBlock> PEACH_HANGING_SIGN = BLOCKS.register("peach_hanging_sign",
|
||||
() -> new CeilingHangingSignBlock(AntarchyWoodTypes.PEACH, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_HANGING_SIGN)));
|
||||
public static final DeferredBlock<WallHangingSignBlock> PEACH_WALL_HANGING_SIGN = BLOCKS.register("peach_wall_hanging_sign",
|
||||
() -> new WallHangingSignBlock(AntarchyWoodTypes.PEACH, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_WALL_HANGING_SIGN)));
|
||||
public static final DeferredBlock<DuplicatorSaplingBlock> DUPLICATOR_SAPLING = BLOCKS.register("duplicator_sapling",
|
||||
() -> new DuplicatorSaplingBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_SAPLING).randomTicks().noCollission()));
|
||||
public static final DeferredBlock<DuctTapeBlock> DUCT_TAPE = BLOCKS.register("duct_tape",
|
||||
@@ -189,6 +231,10 @@ public final class AntarchyNeoforgeBlocks {
|
||||
() -> new UmbralMossBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MOSS_BLOCK)));
|
||||
public static final DeferredBlock<UmbralMossCarpetBlock> UMBRAL_MOSS_CARPET = BLOCKS.register("umbral_moss_carpet",
|
||||
() -> new UmbralMossCarpetBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MOSS_CARPET).noOcclusion()));
|
||||
public static final DeferredBlock<BlushMossBlock> BLUSH_MOSS_BLOCK = BLOCKS.register("blush_moss_block",
|
||||
() -> new BlushMossBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MOSS_BLOCK)));
|
||||
public static final DeferredBlock<BlushMossCarpetBlock> BLUSH_MOSS_CARPET = BLOCKS.register("blush_moss_carpet",
|
||||
() -> new BlushMossCarpetBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MOSS_CARPET).noOcclusion()));
|
||||
public static final DeferredBlock<DreamTorchBlock> DREAM_TORCH = BLOCKS.register("dream_torch",
|
||||
() -> new DreamTorchBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SOUL_TORCH)));
|
||||
public static final DeferredBlock<DreamWallTorchBlock> DREAM_WALL_TORCH = BLOCKS.register("dream_wall_torch",
|
||||
@@ -224,6 +270,13 @@ public final class AntarchyNeoforgeBlocks {
|
||||
public static final DeferredBlock<LiquidBlock> ANTIWATER_BLOCK = BLOCKS.register("antiwater",
|
||||
() -> new com.craisinlord.antarchy.content.fluid.AntiwaterLiquidBlock((FlowingFluid) AntarchyNeoforgeMisc.ANTIWATER.get(),
|
||||
BlockBehaviour.Properties.ofFullCopy(Blocks.WATER).noLootTable()));
|
||||
public static final DeferredBlock<LiquidBlock> LUMEN_BLOCK = BLOCKS.register("lumen",
|
||||
() -> new LumenLiquidBlock((FlowingFluid) AntarchyNeoforgeMisc.LUMEN.get(),
|
||||
BlockBehaviour.Properties.ofFullCopy(Blocks.WATER).lightLevel(state -> 9).noLootTable()));
|
||||
public static final DeferredBlock<Block> LUMEN_FROGLIGHT = BLOCKS.register("lumen_froglight",
|
||||
() -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.OCHRE_FROGLIGHT)));
|
||||
public static final DeferredBlock<Block> ROSEATE_FROGLIGHT = BLOCKS.register("roseate_froglight",
|
||||
() -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.OCHRE_FROGLIGHT)));
|
||||
public static final DeferredBlock<AntNestBlock> RED_ANT_NEST = BLOCKS.register("red_ant_nest",
|
||||
() -> new AntNestBlock(
|
||||
AntarchyNeoforgeEntites.RED_ANT,
|
||||
@@ -291,6 +344,10 @@ public final class AntarchyNeoforgeBlocks {
|
||||
() -> new com.craisinlord.antarchy.content.block.AntimetalScaffoldingBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SCAFFOLDING)));
|
||||
public static final DeferredBlock<CorneaStalkBlock> CORNEA_STALK = BLOCKS.register("cornea_stalk",
|
||||
() -> new CorneaStalkBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SWEET_BERRY_BUSH).randomTicks()));
|
||||
public static final DeferredBlock<CornCropBlock> CORN_CROP = BLOCKS.register("corn_crop",
|
||||
() -> new CornCropBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WHEAT).randomTicks().noCollission().noOcclusion()));
|
||||
public static final DeferredBlock<WildCornBlock> WILD_CORN = BLOCKS.register("wild_corn",
|
||||
() -> new WildCornBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WHEAT).noCollission().noOcclusion()));
|
||||
public static final DeferredBlock<Block> FALLEN_KING_CROWN = BLOCKS.register("fallen_king_crown",
|
||||
() -> new Block(BlockBehaviour.Properties.of()
|
||||
.strength(0.2F)
|
||||
|
||||
+49
-138
@@ -2,6 +2,7 @@ package com.craisinlord.antarchy.neoforge.registry;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.item.ultimate.UltimateGearHelper;
|
||||
import com.craisinlord.antarchy.content.CreativeTabOrder;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.world.item.*;
|
||||
@@ -10,7 +11,6 @@ import net.neoforged.bus.api.IEventBus;
|
||||
import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent;
|
||||
import net.neoforged.neoforge.registries.DeferredHolder;
|
||||
import net.neoforged.neoforge.registries.DeferredRegister;
|
||||
import java.util.Comparator;
|
||||
|
||||
public class AntarchyNeoforgeCreativeModeTabs {
|
||||
private AntarchyNeoforgeCreativeModeTabs() {}
|
||||
@@ -35,15 +35,17 @@ public class AntarchyNeoforgeCreativeModeTabs {
|
||||
java.util.ArrayList<Item> sortedItems = new java.util.ArrayList<>();
|
||||
for (var holder : AntarchyNeoforgeItems.ITEMS.getEntries()) {
|
||||
Item item = holder.get();
|
||||
if (item != Items.AIR) sortedItems.add(item);
|
||||
if (item != Items.AIR && item != AntarchyNeoforgeItems.GLIMMER_BOTTLE.get()) sortedItems.add(item);
|
||||
}
|
||||
sortedItems.sort(Comparator
|
||||
.<Item>comparingInt(AntarchyNeoforgeCreativeModeTabs::creativeTabGroup)
|
||||
.thenComparing(item -> BuiltInRegistries.ITEM.getKey(item).getPath()));
|
||||
sortedItems.sort(CreativeTabOrder.COMPARATOR);
|
||||
int n = sortedItems.size();
|
||||
for (int i = Math.max(0, n - 20); i < n; i++) {
|
||||
Item it = sortedItems.get(i);
|
||||
}
|
||||
for (com.craisinlord.antarchy.content.entity.glimmer.GlimmerVariant variant : com.craisinlord.antarchy.content.entity.glimmer.GlimmerVariant.values()) {
|
||||
event.accept(com.craisinlord.antarchy.content.item.GlimmerBottleItem.create(variant));
|
||||
}
|
||||
|
||||
sortedItems.forEach(event::accept);
|
||||
}
|
||||
|
||||
@@ -79,11 +81,17 @@ public class AntarchyNeoforgeCreativeModeTabs {
|
||||
event.accept(AntarchyNeoforgeItems.BASILISK_SPAWN_EGG.get());
|
||||
event.accept(AntarchyNeoforgeItems.EMPEROR_SCORPION_SPAWN_EGG.get());
|
||||
event.accept(AntarchyNeoforgeItems.TORETERROR_SPAWN_EGG.get());
|
||||
event.accept(AntarchyNeoforgeItems.DORRIE_SPAWN_EGG.get());
|
||||
event.accept(AntarchyNeoforgeItems.OURANWOOD_DEER_SPAWN_EGG.get());
|
||||
event.accept(AntarchyNeoforgeItems.GLIMMER_SPAWN_EGG.get());
|
||||
event.accept(AntarchyNeoforgeItems.ELKA_SPAWN_EGG.get());
|
||||
}
|
||||
|
||||
if (event.getTabKey() == CreativeModeTabs.NATURAL_BLOCKS) {
|
||||
event.accept(AntarchyNeoforgeItems.OURANWOOD_LEAVES_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.OURANWOOD_ACORN.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_LEAVES_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_SAPLING_ITEM.get());
|
||||
// event.accept(AntarchyNeoforgeItems.OURANWOOD_VINE_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.DUPLICATOR_LOG_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.DUPLICATOR_SAPLING_ITEM.get());
|
||||
@@ -102,6 +110,9 @@ public class AntarchyNeoforgeCreativeModeTabs {
|
||||
event.accept(AntarchyNeoforgeItems.DEEPSLATE_URANIUM_ORE_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.TITANIUM_ORE_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.DEEPSLATE_TITANIUM_ORE_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.LUMEN_FROGLIGHT_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.ROSEATE_FROGLIGHT_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.CORN_SEEDS.get());
|
||||
}
|
||||
|
||||
if (event.getTabKey() == CreativeModeTabs.TOOLS_AND_UTILITIES) {
|
||||
@@ -110,6 +121,7 @@ public class AntarchyNeoforgeCreativeModeTabs {
|
||||
event.accept(AntarchyNeoforgeItems.BILE_BUCKET.get());
|
||||
event.accept(AntarchyNeoforgeItems.ICHOR_BUCKET.get());
|
||||
event.accept(AntarchyNeoforgeItems.ANTIWATER_BUCKET.get());
|
||||
event.accept(AntarchyNeoforgeItems.LUMEN_BUCKET.get());
|
||||
event.accept(AntarchyNeoforgeItems.CLOUD_BUCKET.get());
|
||||
event.accept(AntarchyNeoforgeItems.REVERIE_BOTTLE.get());
|
||||
event.accept(AntarchyNeoforgeItems.ULTIMATE_PICKAXE.get());
|
||||
@@ -137,6 +149,7 @@ public class AntarchyNeoforgeCreativeModeTabs {
|
||||
event.accept(AntarchyNeoforgeItems.LUCID_EYE.get());
|
||||
event.accept(AntarchyNeoforgeItems.BLOOD_CRYSTAL_SHARD.get());
|
||||
event.accept(AntarchyNeoforgeItems.BLOOD_CRYSTAL_APPLE.get());
|
||||
event.accept(AntarchyNeoforgeItems.SPIRIT_APPLE.get());
|
||||
event.accept(AntarchyNeoforgeItems.MANTIS_CLAW.get());
|
||||
event.accept(AntarchyNeoforgeItems.KING_SCALE.get());
|
||||
event.accept(AntarchyNeoforgeItems.QUEEN_SCALE.get());
|
||||
@@ -149,6 +162,12 @@ public class AntarchyNeoforgeCreativeModeTabs {
|
||||
event.accept(AntarchyNeoforgeItems.KRAKEN_TOOTH.get());
|
||||
event.accept(AntarchyNeoforgeItems.JUMPY_BUG_LEG.get());
|
||||
event.accept(AntarchyNeoforgeItems.CORNEA_EAR.get());
|
||||
event.accept(AntarchyNeoforgeItems.CORN.get());
|
||||
event.accept(AntarchyNeoforgeItems.HIGH_FRUCTOSE_CORN_SYRUP.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH.get());
|
||||
event.accept(AntarchyNeoforgeItems.RAW_CORNDOG.get());
|
||||
event.accept(AntarchyNeoforgeItems.COOKED_CORNDOG.get());
|
||||
event.accept(AntarchyNeoforgeItems.ROOT_BEER.get());
|
||||
event.accept(AntarchyNeoforgeItems.RAINBOW_SUGAR.get());
|
||||
event.accept(AntarchyNeoforgeItems.BIG_BERTHA_BLADE.get());
|
||||
event.accept(AntarchyNeoforgeItems.BIG_BERTHA_HANDLE.get());
|
||||
@@ -175,6 +194,23 @@ public class AntarchyNeoforgeCreativeModeTabs {
|
||||
event.accept(AntarchyNeoforgeItems.OURANWOOD_BUTTON_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.OURANWOOD_SIGN_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.OURANWOOD_HANGING_SIGN_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_LOG_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_WOOD_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.STRIPPED_PEACH_LOG_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.STRIPPED_PEACH_WOOD_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_PLANKS_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_STAIRS_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_SLAB_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_FENCE_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_FENCE_GATE_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_BOAT.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_CHEST_BOAT.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_DOOR_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_TRAPDOOR_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_PRESSURE_PLATE_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_BUTTON_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_SIGN_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.PEACH_HANGING_SIGN_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.SHELLSTONE_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.SHELLSTONE_STAIRS_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.SHELLSTONE_SLAB_ITEM.get());
|
||||
@@ -214,9 +250,13 @@ public class AntarchyNeoforgeCreativeModeTabs {
|
||||
event.accept(AntarchyNeoforgeItems.ANTIMETAL_SCAFFOLDING_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.UMBRAL_MOSS_BLOCK_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.UMBRAL_MOSS_CARPET_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.BLUSH_MOSS_BLOCK_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.BLUSH_MOSS_CARPET_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.DREAM_TORCH_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.DREAM_LANTERN_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.DREAM_CAMPFIRE_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.LUMEN_FROGLIGHT_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.ROSEATE_FROGLIGHT_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.DREAM_SAND_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.DREAM_SANDSTONE_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.CHISELED_DREAM_SANDSTONE_ITEM.get());
|
||||
@@ -308,139 +348,10 @@ public class AntarchyNeoforgeCreativeModeTabs {
|
||||
}
|
||||
|
||||
private static int creativeTabGroup(net.minecraft.world.item.Item item) {
|
||||
String path = BuiltInRegistries.ITEM.getKey(item).getPath();
|
||||
return switch (path) {
|
||||
// 0 - Ouranwood blocks
|
||||
case "ouranwood_log", "ouranwood_wood", "mossy_ouranwood_log", "mossy_ouranwood_wood",
|
||||
"stripped_ouranwood_log", "stripped_ouranwood_wood", "duplicator_log",
|
||||
"ouranwood_planks", "ouranwood_stairs", "ouranwood_slab",
|
||||
"ouranwood_fence", "ouranwood_fence_gate",
|
||||
"ouranwood_door", "ouranwood_trapdoor",
|
||||
"ouranwood_pressure_plate", "ouranwood_button",
|
||||
"ouranwood_sign", "ouranwood_hanging_sign",
|
||||
"ouranwood_boat", "ouranwood_chest_boat" -> 0;
|
||||
return CreativeTabOrder.group(item);
|
||||
}
|
||||
|
||||
// 1 - Nyxite blocks
|
||||
case "nyxite", "polished_nyxite", "chiseled_nyxite", "nyxite_bricks",
|
||||
"nyxite_stairs", "nyxite_slab", "nyxite_wall",
|
||||
"polished_nyxite_stairs", "polished_nyxite_slab", "polished_nyxite_wall",
|
||||
"nyxite_brick_stairs", "nyxite_brick_slab", "nyxite_brick_wall",
|
||||
"pale_nyxite", "nyxite_spike", "potent_nyxite" -> 1;
|
||||
|
||||
// 2 - Shellstone blocks
|
||||
case "shellstone", "polished_shellstone", "shellstone_bricks", "chiseled_shellstone",
|
||||
"mossy_shellstone_bricks", "cracked_shellstone_bricks",
|
||||
"shellstone_stairs", "shellstone_slab", "shellstone_wall",
|
||||
"polished_shellstone_stairs", "polished_shellstone_slab", "polished_shellstone_wall",
|
||||
"shellstone_brick_stairs", "shellstone_brick_slab", "shellstone_brick_wall",
|
||||
"mossy_shellstone_brick_stairs", "mossy_shellstone_brick_slab", "mossy_shellstone_brick_wall" -> 2;
|
||||
|
||||
// 3 - Antimetal blocks
|
||||
case "antimetal", "polished_antimetal" -> 3;
|
||||
|
||||
// 4 - Dream sand and blocks
|
||||
case "dream_sand", "dream_sandstone", "chiseled_dream_sandstone",
|
||||
"cut_dream_sandstone", "smooth_dream_sandstone",
|
||||
"dream_sandstone_stairs", "dream_sandstone_slab", "dream_sandstone_wall",
|
||||
"smooth_dream_sandstone_stairs", "smooth_dream_sandstone_slab",
|
||||
"cut_dream_sandstone_slab" -> 4;
|
||||
|
||||
// 5 - Umbral moss
|
||||
case "umbral_moss_block", "umbral_moss_carpet" -> 4;
|
||||
|
||||
// 6 - All ores + metal storage/decorative blocks
|
||||
case "uranium_ore", "deepslate_uranium_ore", "titanium_ore", "deepslate_titanium_ore",
|
||||
"uranium_block", "titanium_block",
|
||||
"cut_uranium", "cut_titanium", "cut_uranium_slab", "cut_titanium_slab",
|
||||
"cut_uranium_stairs", "cut_titanium_stairs",
|
||||
"chiseled_uranium", "chiseled_titanium",
|
||||
"uranium_door", "titanium_door", "uranium_trapdoor", "titanium_trapdoor",
|
||||
"uranium_bars", "titanium_bars", "uranium_bulb", "titanium_bulb" -> 6;
|
||||
|
||||
// 7 - Raw ores
|
||||
case "raw_uranium", "raw_titanium", "raw_uranium_scrap", "raw_titanium_scrap",
|
||||
"raw_uranium_block", "raw_titanium_block" -> 7;
|
||||
|
||||
// 8 - Blood crystal blocks (not the shard ingredient)
|
||||
case "blood_crystal_block", "small_blood_crystal_bud", "medium_blood_crystal_bud",
|
||||
"large_blood_crystal_bud", "budding_blood_crystal", "blood_crystal_cluster",
|
||||
"myrmite", "broodstone", "chiten_block", "chiten_spike", "amber_moss_block", "amber_moss_carpet" -> 8;
|
||||
|
||||
// 9 - Ouranwood leaves
|
||||
case "ouranwood_leaves" -> 9;
|
||||
|
||||
// 10 - Saplings / seeds
|
||||
case "duplicator_sapling", "ouranwood_acorn" -> 10;
|
||||
|
||||
// 11 - Plants and flowers
|
||||
case "orange_milkweed", "pink_milkweed", "hushweed", "amber_lichen", "creepvine",
|
||||
"triffid_goo_block", "wasp_nest",
|
||||
"red_ant_nest", "brown_ant_nest", "rainbow_ant_nest", "termite_nest" -> 11;
|
||||
|
||||
// 12 - Dream lighting
|
||||
case "dream_torch", "dream_lantern", "dream_campfire" -> 12;
|
||||
|
||||
// 13 - Antimetal scaffolding
|
||||
case "antimetal_scaffolding" -> 13;
|
||||
|
||||
// 14 - Infested blocks
|
||||
case "infested_rooted_dirt", "infested_coarse_dirt", "bed_bug_egg",
|
||||
"creeping_horror_egg", "lurking_terror_egg" -> 14;
|
||||
|
||||
// 15 - Tools
|
||||
case "ultimate_pickaxe", "ultimate_axe", "ultimate_shovel", "ultimate_hoe",
|
||||
"duct_tape", "diamond_minecart", "gravity_sculk_sensor" -> 15;
|
||||
|
||||
// 16 - Liquid buckets
|
||||
case "bile_bucket", "ichor_bucket", "antiwater_bucket", "cloud_bucket" -> 16;
|
||||
|
||||
// 17 - Misc wearables / gadgets
|
||||
case "moggles", "brutalfly_elytra", "fallen_king_crown", "jumpy_boots" -> 17;
|
||||
|
||||
// 18 - Weapons
|
||||
case "battle_axe", "basilisk_dagger", "squidzooka", "shrink_ray", "growth_ray",
|
||||
"gravity_gun", "water_cannon", "nightmare_sword", "lucid_pearl", "scorpion_whip", "blood_crystal_katana",
|
||||
"big_bertha", "big_bertha_blade", "big_bertha_handle", "big_bertha_hilt",
|
||||
"ultimate_sword", "ultimate_mace" -> 18;
|
||||
|
||||
// 19 - Armor sets
|
||||
case "primordial_helmet", "primordial_chestplate",
|
||||
"primordial_leggings", "primordial_boots",
|
||||
"blood_crystal_helmet", "blood_crystal_chestplate",
|
||||
"blood_crystal_leggings", "blood_crystal_boots",
|
||||
"nightmare_helmet", "nightmare_chestplate",
|
||||
"nightmare_leggings", "nightmare_boots",
|
||||
"ultimate_helmet", "ultimate_chestplate",
|
||||
"ultimate_leggings", "ultimate_boots" -> 19;
|
||||
|
||||
// 20 - Ranged weapons
|
||||
case "ultimate_bow", "ultimate_crossbow" -> 20;
|
||||
|
||||
// 21 - Foods
|
||||
case "cloud_shark_fin_soup", "mud_pie", "rainbow_sugar",
|
||||
"blood_crystal_apple" -> 21;
|
||||
|
||||
// 22 - Crafting ingredients
|
||||
case "blood_crystal_shard", "cloud_shark_fin", "basilisk_fang", "kraken_tooth",
|
||||
"emperor_scorpion_stinger", "nightmare_scale", "molevore_nose",
|
||||
"moleworm", "uranium_nugget", "titanium_nugget",
|
||||
"uranium_ingot", "titanium_ingot", "lucid_eye",
|
||||
"mantis_claw", "jumpy_bug_leg", "brutalfly_wing", "cornea_ear",
|
||||
"primordial_scute", "triffid_goo", "vortex_eye",
|
||||
"king_scale", "queen_scale", "chiten", "stink_bug" -> 22;
|
||||
|
||||
// 23 - Arrows (reserved for future arrow types)
|
||||
|
||||
// 24 - Potions
|
||||
case "reverie_bottle" -> 24;
|
||||
|
||||
// 25 - Spawn eggs
|
||||
default -> {
|
||||
if (!path.endsWith("_spawn_egg")) {
|
||||
org.slf4j.LoggerFactory.getLogger("Antarchy/CreativeTab").warn("Unmatched creative tab item: '{}'", path);
|
||||
}
|
||||
yield path.endsWith("_spawn_egg") ? 25 : 99;
|
||||
}
|
||||
};
|
||||
private static int creativeTabSubOrder(net.minecraft.world.item.Item item) {
|
||||
return CreativeTabOrder.subOrder(item);
|
||||
}
|
||||
}
|
||||
+37
-6
@@ -13,7 +13,9 @@ import com.craisinlord.antarchy.content.entity.DiamondMinecartEntity;
|
||||
import com.craisinlord.antarchy.content.entity.DrTrayaurusEntity;
|
||||
import com.craisinlord.antarchy.content.entity.EasterBunnyEntity;
|
||||
import com.craisinlord.antarchy.content.entity.EmperorScorpionEntity;
|
||||
import com.craisinlord.antarchy.content.entity.GlimmerEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ElkaEntity;
|
||||
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.HerculesBeetleEntity;
|
||||
import com.craisinlord.antarchy.content.entity.JumpyBugEntity;
|
||||
@@ -26,6 +28,8 @@ import com.craisinlord.antarchy.content.entity.MolevoreEntity;
|
||||
import com.craisinlord.antarchy.content.entity.MolewormEntity;
|
||||
import com.craisinlord.antarchy.content.entity.OuranwoodBoatEntity;
|
||||
import com.craisinlord.antarchy.content.entity.OuranwoodChestBoatEntity;
|
||||
import com.craisinlord.antarchy.content.entity.PeachBoatEntity;
|
||||
import com.craisinlord.antarchy.content.entity.PeachChestBoatEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ReverieEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ScorpionEntity;
|
||||
import com.craisinlord.antarchy.content.entity.SizeRayProjectileEntity;
|
||||
@@ -115,6 +119,18 @@ public final class AntarchyNeoforgeEntites {
|
||||
.clientTrackingRange(10)
|
||||
.updateInterval(10)
|
||||
.build("ouranwood_chest_boat"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<PeachBoatEntity>> PEACH_BOAT_ENTITY = ENTITY_TYPES.register("peach_boat",
|
||||
() -> EntityType.Builder.<PeachBoatEntity>of(PeachBoatEntity::new, MobCategory.MISC)
|
||||
.sized(1.375F, 0.5625F)
|
||||
.clientTrackingRange(10)
|
||||
.updateInterval(10)
|
||||
.build("peach_boat"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<PeachChestBoatEntity>> PEACH_CHEST_BOAT_ENTITY = ENTITY_TYPES.register("peach_chest_boat",
|
||||
() -> EntityType.Builder.<PeachChestBoatEntity>of(PeachChestBoatEntity::new, MobCategory.MISC)
|
||||
.sized(1.375F, 0.5625F)
|
||||
.clientTrackingRange(10)
|
||||
.updateInterval(10)
|
||||
.build("peach_chest_boat"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<MolevoreEntity>> MOLEVORE = ENTITY_TYPES.register("molevore",
|
||||
() -> EntityType.Builder.of(MolevoreEntity::new, MobCategory.MONSTER)
|
||||
.sized(1.95F, 1.1F)
|
||||
@@ -283,11 +299,26 @@ public final class AntarchyNeoforgeEntites {
|
||||
.sized(1.0F, 1.2F)
|
||||
.clientTrackingRange(8)
|
||||
.build("cheep"));
|
||||
// public static final DeferredHolder<EntityType<?>, EntityType<GlimmerEntity>> GLIMMER = ENTITY_TYPES.register("glimmer",
|
||||
// () -> EntityType.Builder.of(GlimmerEntity::new, MobCategory.CREATURE)
|
||||
// .sized(0.9F, 1.4F)
|
||||
// .clientTrackingRange(8)
|
||||
// .build("glimmer"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<DorrieEntity>> DORRIE = ENTITY_TYPES.register("dorrie",
|
||||
() -> EntityType.Builder.of(DorrieEntity::new, MobCategory.CREATURE)
|
||||
.sized(1.6F, 1.4F)
|
||||
.clientTrackingRange(10)
|
||||
.build("dorrie"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<OuranwoodDeerEntity>> OURANWOOD_DEER = ENTITY_TYPES.register("ouranwood_deer",
|
||||
() -> EntityType.Builder.of(OuranwoodDeerEntity::new, MobCategory.CREATURE)
|
||||
.sized(0.9F, 1.4F)
|
||||
.clientTrackingRange(8)
|
||||
.build("ouranwood_deer"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<GlimmerEntity>> GLIMMER = ENTITY_TYPES.register("glimmer",
|
||||
() -> EntityType.Builder.of(GlimmerEntity::new, MobCategory.CREATURE)
|
||||
.sized(0.9F, 1.4F)
|
||||
.clientTrackingRange(8)
|
||||
.build("glimmer"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<ElkaEntity>> ELKA = ENTITY_TYPES.register("elka",
|
||||
() -> EntityType.Builder.of(ElkaEntity::new, MobCategory.CREATURE)
|
||||
.sized(2.2F, 3.5F)
|
||||
.clientTrackingRange(10)
|
||||
.build("elka"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<UpwardFallingBlockEntity>> UPWARD_FALLING_BLOCK = ENTITY_TYPES.register("upward_falling_block",
|
||||
() -> EntityType.Builder.<UpwardFallingBlockEntity>of(
|
||||
UpwardFallingBlockEntity::new, MobCategory.MISC)
|
||||
|
||||
+4
-1
@@ -73,7 +73,10 @@ public class AntarchyNeoforgeEntityAttributes {
|
||||
event.put(AntarchyNeoforgeEntites.MOLEWORM.get(), MolewormEntity.createAttributes().build());
|
||||
event.put(AntarchyNeoforgeEntites.MOLEVORE.get(), MolevoreEntity.createAttributes().build());
|
||||
event.put(AntarchyNeoforgeEntites.CHEEP.get(), com.craisinlord.antarchy.content.entity.CheepEntity.createAttributes().build());
|
||||
// event.put(AntarchyNeoforgeEntites.GLIMMER.get(), com.craisinlord.antarchy.content.entity.GlimmerEntity.createAttributes().build());
|
||||
event.put(AntarchyNeoforgeEntites.DORRIE.get(), com.craisinlord.antarchy.content.entity.DorrieEntity.createAttributes().build());
|
||||
event.put(AntarchyNeoforgeEntites.OURANWOOD_DEER.get(), com.craisinlord.antarchy.content.entity.OuranwoodDeerEntity.createAttributes().build());
|
||||
event.put(AntarchyNeoforgeEntites.GLIMMER.get(), com.craisinlord.antarchy.content.entity.glimmer.GlimmerEntity.createAttributes().build());
|
||||
event.put(AntarchyNeoforgeEntites.ELKA.get(), ElkaEntity.createAttributes().build());
|
||||
}
|
||||
|
||||
private static AttributeSupplier.Builder buildAntAttributes(double health, double speed, double attackDamage) {
|
||||
|
||||
+100
-2
@@ -158,6 +158,21 @@ public final class AntarchyNeoforgeItems {
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> OURANWOOD_BUTTON_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.OURANWOOD_BUTTON);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> OURANWOOD_LEAVES_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.OURANWOOD_LEAVES);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> OURANWOOD_ACORN = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.OURANWOOD_ACORN_BLOCK);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> PEACH_LOG_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PEACH_LOG);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> PEACH_WOOD_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PEACH_WOOD);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> STRIPPED_PEACH_LOG_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.STRIPPED_PEACH_LOG);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> STRIPPED_PEACH_WOOD_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.STRIPPED_PEACH_WOOD);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> PEACH_PLANKS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PEACH_PLANKS);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> PEACH_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PEACH_STAIRS);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> PEACH_SLAB_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PEACH_SLAB);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> PEACH_FENCE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PEACH_FENCE);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> PEACH_FENCE_GATE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PEACH_FENCE_GATE);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> PEACH_DOOR_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PEACH_DOOR);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> PEACH_TRAPDOOR_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PEACH_TRAPDOOR);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> PEACH_PRESSURE_PLATE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PEACH_PRESSURE_PLATE);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> PEACH_BUTTON_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PEACH_BUTTON);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> PEACH_LEAVES_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PEACH_LEAVES);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> PEACH_SAPLING_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PEACH_SAPLING);
|
||||
// public static final DeferredItem<net.minecraft.world.item.BlockItem> OURANWOOD_VINE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.OURANWOOD_VINE);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> ORANGE_MILKWEED_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.ORANGE_MILKWEED);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> PINK_MILKWEED_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PINK_MILKWEED);
|
||||
@@ -169,6 +184,14 @@ public final class AntarchyNeoforgeItems {
|
||||
() -> new OuranwoodBoatOnlyItem(AntarchyNeoforgeEntites.OURANWOOD_BOAT_ENTITY.get(), new Item.Properties().stacksTo(1)));
|
||||
public static final DeferredItem<Item> OURANWOOD_CHEST_BOAT = ITEMS.register("ouranwood_chest_boat",
|
||||
() -> new OuranwoodChestBoatItem(AntarchyNeoforgeEntites.OURANWOOD_CHEST_BOAT_ENTITY.get(), new Item.Properties().stacksTo(1)));
|
||||
public static final DeferredItem<net.minecraft.world.item.SignItem> PEACH_SIGN_ITEM = ITEMS.register("peach_sign",
|
||||
() -> new net.minecraft.world.item.SignItem(new Item.Properties().stacksTo(16), AntarchyNeoforgeBlocks.PEACH_SIGN.get(), AntarchyNeoforgeBlocks.PEACH_WALL_SIGN.get()));
|
||||
public static final DeferredItem<net.minecraft.world.item.HangingSignItem> PEACH_HANGING_SIGN_ITEM = ITEMS.register("peach_hanging_sign",
|
||||
() -> new net.minecraft.world.item.HangingSignItem(AntarchyNeoforgeBlocks.PEACH_HANGING_SIGN.get(), AntarchyNeoforgeBlocks.PEACH_WALL_HANGING_SIGN.get(), new Item.Properties().stacksTo(16)));
|
||||
public static final DeferredItem<Item> PEACH_BOAT = ITEMS.register("peach_boat",
|
||||
() -> new PeachBoatOnlyItem(AntarchyNeoforgeEntites.PEACH_BOAT_ENTITY.get(), new Item.Properties().stacksTo(1)));
|
||||
public static final DeferredItem<Item> PEACH_CHEST_BOAT = ITEMS.register("peach_chest_boat",
|
||||
() -> new PeachChestBoatItem(AntarchyNeoforgeEntites.PEACH_CHEST_BOAT_ENTITY.get(), new Item.Properties().stacksTo(1)));
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> DUPLICATOR_SAPLING_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.DUPLICATOR_SAPLING);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> RED_ANT_NEST_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.RED_ANT_NEST);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> BROWN_ANT_NEST_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.BROWN_ANT_NEST);
|
||||
@@ -265,10 +288,14 @@ public final class AntarchyNeoforgeItems {
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> POTENT_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.POTENT_NYXITE);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> UMBRAL_MOSS_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.UMBRAL_MOSS_BLOCK);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> UMBRAL_MOSS_CARPET_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.UMBRAL_MOSS_CARPET);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> BLUSH_MOSS_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.BLUSH_MOSS_BLOCK);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> BLUSH_MOSS_CARPET_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.BLUSH_MOSS_CARPET);
|
||||
public static final DeferredItem<StandingAndWallBlockItem> DREAM_TORCH_ITEM = ITEMS.register("dream_torch",
|
||||
() -> new StandingAndWallBlockItem(AntarchyNeoforgeBlocks.DREAM_TORCH.get(), AntarchyNeoforgeBlocks.DREAM_WALL_TORCH.get(), new Item.Properties(), net.minecraft.core.Direction.UP));
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> DREAM_LANTERN_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.DREAM_LANTERN);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> DREAM_CAMPFIRE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.DREAM_CAMPFIRE);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> LUMEN_FROGLIGHT_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.LUMEN_FROGLIGHT);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> ROSEATE_FROGLIGHT_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.ROSEATE_FROGLIGHT);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> BED_BUG_EGG_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.BED_BUG_EGG);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> WASP_NEST_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.WASP_NEST);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> HUSHWEED_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.HUSHWEED);
|
||||
@@ -278,6 +305,8 @@ public final class AntarchyNeoforgeItems {
|
||||
() -> new BucketItem(AntarchyNeoforgeMisc.ICHOR.get(), new Item.Properties().craftRemainder(Items.BUCKET).stacksTo(1)));
|
||||
public static final DeferredItem<BucketItem> ANTIWATER_BUCKET = ITEMS.register("antiwater_bucket",
|
||||
() -> new BucketItem(AntarchyNeoforgeMisc.ANTIWATER.get(), new Item.Properties().craftRemainder(Items.BUCKET).stacksTo(1)));
|
||||
public static final DeferredItem<BucketItem> LUMEN_BUCKET = ITEMS.register("lumen_bucket",
|
||||
() -> new BucketItem(AntarchyNeoforgeMisc.LUMEN.get(), new Item.Properties().craftRemainder(Items.BUCKET).stacksTo(1)));
|
||||
public static final DeferredItem<com.craisinlord.antarchy.content.item.CloudBucketItem> CLOUD_BUCKET = ITEMS.register("cloud_bucket",
|
||||
() -> new com.craisinlord.antarchy.content.item.CloudBucketItem(AntarchyNeoforgeBlocks.CLOUD_BLOCK.get(), new Item.Properties().craftRemainder(Items.BUCKET)));
|
||||
public static final DeferredItem<BloodCrystalShardItem> BLOOD_CRYSTAL_SHARD = ITEMS.register("blood_crystal_shard",
|
||||
@@ -327,6 +356,59 @@ public final class AntarchyNeoforgeItems {
|
||||
.nutrition(2)
|
||||
.saturationModifier(0.4F)
|
||||
.build())));
|
||||
public static final DeferredItem<Item> CORN = ITEMS.register("corn",
|
||||
() -> new Item(new Item.Properties()
|
||||
.food(new FoodProperties.Builder()
|
||||
.nutrition(3)
|
||||
.saturationModifier(0.6F)
|
||||
.build())));
|
||||
public static final DeferredItem<ItemNameBlockItem> CORN_SEEDS = ITEMS.register("corn_seeds",
|
||||
() -> new ItemNameBlockItem(AntarchyNeoforgeBlocks.CORN_CROP.get(), new Item.Properties()));
|
||||
public static final DeferredItem<Item> RAW_VENISON = ITEMS.register("raw_venison",
|
||||
() -> new Item(new Item.Properties()
|
||||
.food(new FoodProperties.Builder()
|
||||
.nutrition(2)
|
||||
.saturationModifier(0.3F)
|
||||
.build())));
|
||||
public static final DeferredItem<Item> COOKED_VENISON = ITEMS.register("cooked_venison",
|
||||
() -> new Item(new Item.Properties()
|
||||
.food(new FoodProperties.Builder()
|
||||
.nutrition(6)
|
||||
.saturationModifier(0.8F)
|
||||
.build())));
|
||||
public static final DeferredItem<Item> PEACH = ITEMS.register("peach",
|
||||
() -> new PeachItem());
|
||||
public static final DeferredItem<Item> RAW_CORNDOG = ITEMS.register("raw_corndog",
|
||||
() -> new Item(new Item.Properties()
|
||||
.stacksTo(64)
|
||||
.food(new FoodProperties.Builder()
|
||||
.nutrition(8)
|
||||
.saturationModifier(0.7F)
|
||||
.build())));
|
||||
public static final DeferredItem<Item> COOKED_CORNDOG = ITEMS.register("cooked_corndog",
|
||||
() -> new Item(new Item.Properties()
|
||||
.stacksTo(64)
|
||||
.food(new FoodProperties.Builder()
|
||||
.nutrition(14)
|
||||
.saturationModifier(1.1F)
|
||||
.build())));
|
||||
public static final DeferredItem<Item> HIGH_FRUCTOSE_CORN_SYRUP = ITEMS.register("high_fructose_corn_syrup",
|
||||
() -> new HighFructoseCornSyrupItem(new Item.Properties()
|
||||
.stacksTo(16)
|
||||
.food(new FoodProperties.Builder()
|
||||
.nutrition(0)
|
||||
.saturationModifier(0.0F)
|
||||
.alwaysEdible()
|
||||
.build())));
|
||||
public static final DeferredItem<RootBeerItem> ROOT_BEER = ITEMS.register("root_beer",
|
||||
() -> new RootBeerItem(new Item.Properties()
|
||||
.stacksTo(16)
|
||||
.food(new FoodProperties.Builder()
|
||||
.nutrition(4)
|
||||
.saturationModifier(0.4F)
|
||||
.effect(() -> new MobEffectInstance(MobEffects.REGENERATION, 100, 0), 1.0F)
|
||||
.alwaysEdible()
|
||||
.build())));
|
||||
public static final DeferredItem<Item> TRIFFID_GOO = ITEMS.registerSimpleItem("triffid_goo",
|
||||
new Item.Properties().rarity(Rarity.UNCOMMON));
|
||||
public static final DeferredItem<Item> VORTEX_EYE = ITEMS.register("vortex_eye",
|
||||
@@ -457,6 +539,8 @@ public final class AntarchyNeoforgeItems {
|
||||
));
|
||||
public static final DeferredItem<GravityGunItem> GRAVITY_GUN = ITEMS.register("gravity_gun",
|
||||
() -> new GravityGunItem(new Item.Properties().stacksTo(1).durability(512).rarity(Rarity.RARE).fireResistant()));
|
||||
public static final DeferredItem<MinersDreamItem> MINERS_DREAM = ITEMS.register("miners_dream",
|
||||
() -> new MinersDreamItem(new Item.Properties().stacksTo(1).rarity(Rarity.RARE)));
|
||||
public static final DeferredItem<SquidzookaItem> SQUIDZOOKA = ITEMS.register("squidzooka",
|
||||
() -> new SquidzookaItem(new Item.Properties().stacksTo(1).durability(384).rarity(Rarity.RARE)));
|
||||
public static final DeferredItem<BattleAxeItem> BATTLE_AXE = ITEMS.register("battle_axe",
|
||||
@@ -480,8 +564,22 @@ public final class AntarchyNeoforgeItems {
|
||||
// Spawn eggs
|
||||
public static final DeferredItem<DeferredSpawnEggItem> EASTER_BUNNY_SPAWN_EGG = ITEMS.register("easter_bunny_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.EASTER_BUNNY, 0xFFF2B2, 0xFF85B5, new Item.Properties()));
|
||||
// public static final DeferredItem<DeferredSpawnEggItem> GLIMMER_SPAWN_EGG = ITEMS.register("glimmer_spawn_egg",
|
||||
// () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.GLIMMER, 0xBEEFFF, 0x6FD8FF, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> DORRIE_SPAWN_EGG = ITEMS.register("dorrie_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.DORRIE, 0x6F8CFF, 0xD2F2FF, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> OURANWOOD_DEER_SPAWN_EGG = ITEMS.register("ouranwood_deer_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.OURANWOOD_DEER, 0x8A6D4B, 0xE8D9B5, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> GLIMMER_SPAWN_EGG = ITEMS.register("glimmer_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.GLIMMER, 0x7DFFFF, 0x2AC7D0, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> ELKA_SPAWN_EGG = ITEMS.register("elka_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.ELKA, 0x6B2FA0, 0xFFFFFF, new Item.Properties()));
|
||||
public static final DeferredItem<net.minecraft.world.item.Item> SPIRIT_APPLE = ITEMS.register("spirit_apple",
|
||||
() -> new com.craisinlord.antarchy.content.item.SpiritAppleItem(new Item.Properties()
|
||||
.food(new FoodProperties.Builder()
|
||||
.nutrition(4)
|
||||
.saturationModifier(0.3F)
|
||||
.build())));
|
||||
public static final DeferredItem<com.craisinlord.antarchy.content.item.GlimmerBottleItem> GLIMMER_BOTTLE = ITEMS.register("glimmer_bottle",
|
||||
com.craisinlord.antarchy.content.item.GlimmerBottleItem::new);
|
||||
public static final DeferredItem<DeferredSpawnEggItem> FLYING_SQUIRREL_SPAWN_EGG = ITEMS.register("flying_squirrel_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.FLYING_SQUIRREL, 0x7D6649, 0xDCC59C, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> CATERPILLAR_SPAWN_EGG = ITEMS.register("caterpillar_spawn_egg",
|
||||
|
||||
+64
-2
@@ -4,7 +4,6 @@ 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.GlimmersGraceMobEffect;
|
||||
import com.craisinlord.antarchy.content.effect.GrowthMobEffect;
|
||||
import com.craisinlord.antarchy.content.effect.InvertedMobEffect;
|
||||
import com.craisinlord.antarchy.content.effect.ParalyzedMobEffect;
|
||||
@@ -14,6 +13,8 @@ import com.craisinlord.antarchy.content.worldgen.ants.BrownAntNestFeature;
|
||||
import com.craisinlord.antarchy.content.worldgen.ants.RainbowAntNestFeature;
|
||||
import com.craisinlord.antarchy.content.worldgen.ants.RedAntNestFeature;
|
||||
import com.craisinlord.antarchy.content.worldgen.elythia.*;
|
||||
import com.craisinlord.antarchy.neoforge.worldgen.CornPatchFeature;
|
||||
import com.craisinlord.antarchy.neoforge.worldgen.LumenLilyPadFeature;
|
||||
import com.craisinlord.antarchy.content.worldgen.thoraxis.*;
|
||||
import com.craisinlord.antarchy.neoforge.content.fluid.AntiwaterFluid;
|
||||
import com.craisinlord.antarchy.neoforge.content.fluid.AntiwaterFluidType;
|
||||
@@ -23,10 +24,12 @@ import net.minecraft.core.particles.ParticleType;
|
||||
import net.minecraft.core.particles.SimpleParticleType;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.network.codec.StreamCodec;
|
||||
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.inventory.MenuType;
|
||||
import net.minecraft.world.item.alchemy.Potion;
|
||||
import net.minecraft.world.level.biome.BiomeSource;
|
||||
import net.minecraft.world.level.levelgen.DensityFunction;
|
||||
@@ -56,6 +59,26 @@ public final class AntarchyNeoforgeMisc {
|
||||
private static final DeferredRegister<MapCodec<? extends DensityFunction>> DENSITY_FUNCTION_TYPES = DeferredRegister.create(Registries.DENSITY_FUNCTION_TYPE, Antarchy.MODID);
|
||||
private static final DeferredRegister<MapCodec<? extends EntitySubPredicate>> ENTITY_SUB_PREDICATES = DeferredRegister.create(Registries.ENTITY_SUB_PREDICATE_TYPE, Antarchy.MODID);
|
||||
private static final DeferredRegister<Attribute> ATTRIBUTES = DeferredRegister.create(Registries.ATTRIBUTE, Antarchy.MODID);
|
||||
private static final DeferredRegister<MenuType<?>> MENU_TYPES = DeferredRegister.create(Registries.MENU, Antarchy.MODID);
|
||||
private static final DeferredRegister<net.minecraft.core.component.DataComponentType<?>> DATA_COMPONENT_TYPES =
|
||||
DeferredRegister.create(Registries.DATA_COMPONENT_TYPE, Antarchy.MODID);
|
||||
private static final DeferredRegister<net.minecraft.world.item.crafting.RecipeSerializer<?>> RECIPE_SERIALIZERS =
|
||||
DeferredRegister.create(Registries.RECIPE_SERIALIZER, Antarchy.MODID);
|
||||
|
||||
public static final DeferredHolder<net.minecraft.core.component.DataComponentType<?>, net.minecraft.core.component.DataComponentType<com.craisinlord.antarchy.content.entity.glimmer.GlimmerVariant>> GLIMMER_VARIANT =
|
||||
DATA_COMPONENT_TYPES.register("glimmer_variant",
|
||||
() -> net.minecraft.core.component.DataComponentType.<com.craisinlord.antarchy.content.entity.glimmer.GlimmerVariant>builder()
|
||||
.persistent(com.craisinlord.antarchy.content.entity.glimmer.GlimmerVariant.CODEC)
|
||||
.networkSynchronized(com.craisinlord.antarchy.content.entity.glimmer.GlimmerVariant.STREAM_CODEC)
|
||||
.build());
|
||||
public static final DeferredHolder<net.minecraft.core.component.DataComponentType<?>, net.minecraft.core.component.DataComponentType<net.minecraft.util.Unit>> AMERICAN =
|
||||
DATA_COMPONENT_TYPES.register("american",
|
||||
() -> net.minecraft.core.component.DataComponentType.<net.minecraft.util.Unit>builder()
|
||||
.persistent(net.minecraft.util.Unit.CODEC)
|
||||
.networkSynchronized(net.minecraft.network.codec.StreamCodec.unit(net.minecraft.util.Unit.INSTANCE))
|
||||
.build());
|
||||
public static final DeferredHolder<net.minecraft.world.item.crafting.RecipeSerializer<?>, net.minecraft.world.item.crafting.RecipeSerializer<com.craisinlord.antarchy.content.AmericanizeRecipe>> AMERICANIZE_SERIALIZER =
|
||||
RECIPE_SERIALIZERS.register("americanize", () -> com.craisinlord.antarchy.content.AmericanizeRecipe.SERIALIZER);
|
||||
|
||||
public static final DeferredHolder<Attribute, Attribute> DOUBLE_DAMAGE_CHANCE = ATTRIBUTES.register(
|
||||
"double_damage_chance",
|
||||
@@ -65,6 +88,10 @@ public final class AntarchyNeoforgeMisc {
|
||||
"bloodglass_max_hearts",
|
||||
() -> new net.minecraft.world.entity.ai.attributes.RangedAttribute("attribute.antarchy.bloodglass_max_hearts", 0.0, 0.0, 8.0).setSyncable(true)
|
||||
);
|
||||
public static final DeferredHolder<MenuType<?>, MenuType<com.craisinlord.antarchy.content.menu.DorrieInventoryMenu>> DORRIE_INVENTORY_MENU = MENU_TYPES.register(
|
||||
"dorrie_inventory",
|
||||
() -> new MenuType<>(com.craisinlord.antarchy.content.menu.DorrieInventoryMenu::new, FeatureFlags.DEFAULT_FLAGS)
|
||||
);
|
||||
|
||||
// Mob effects
|
||||
public static final DeferredHolder<MobEffect, DreadMobEffect> DREAD = MOB_EFFECTS.register("dread", DreadMobEffect::new);
|
||||
@@ -74,7 +101,6 @@ public final class AntarchyNeoforgeMisc {
|
||||
public static final DeferredHolder<MobEffect, com.craisinlord.antarchy.content.effect.BloodglassWardEffect> BLOODGLASS_WARD = MOB_EFFECTS.register("bloodglass_ward", com.craisinlord.antarchy.content.effect.BloodglassWardEffect::new);
|
||||
public static final DeferredHolder<MobEffect, ShrinkMobEffect> SHRINKING_EFFECT = MOB_EFFECTS.register("shrinking", ShrinkMobEffect::new);
|
||||
public static final DeferredHolder<MobEffect, GrowthMobEffect> GROWTH_EFFECT = MOB_EFFECTS.register("growth", GrowthMobEffect::new);
|
||||
// public static final DeferredHolder<MobEffect, GlimmersGraceMobEffect> GLIMMERS_GRACE = MOB_EFFECTS.register("glimmers_grace", GlimmersGraceMobEffect::new);
|
||||
|
||||
// Potions
|
||||
public static final DeferredHolder<Potion, Potion> INVERSION = POTIONS.register("inversion",
|
||||
@@ -149,6 +175,10 @@ public final class AntarchyNeoforgeMisc {
|
||||
() -> new AntiwaterFluid.Source(antiwaterProperties()));
|
||||
public static final DeferredHolder<Fluid, Fluid> FLOWING_ANTIWATER = FLUIDS.register("flowing_antiwater",
|
||||
() -> new AntiwaterFluid.Flowing(antiwaterProperties()));
|
||||
public static final DeferredHolder<Fluid, Fluid> LUMEN = FLUIDS.register("lumen",
|
||||
() -> new BaseFlowingFluid.Source(lumenProperties()));
|
||||
public static final DeferredHolder<Fluid, Fluid> FLOWING_LUMEN = FLUIDS.register("flowing_lumen",
|
||||
() -> new BaseFlowingFluid.Flowing(lumenProperties()));
|
||||
|
||||
// Particle types
|
||||
public static final DeferredHolder<ParticleType<?>, SimpleParticleType> DREAM_FIRE_FLAME = PARTICLE_TYPES.register("dream_fire_flame",
|
||||
@@ -157,6 +187,8 @@ public final class AntarchyNeoforgeMisc {
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final DeferredHolder<ParticleType<?>, SimpleParticleType> STINKY_FLY = PARTICLE_TYPES.register("stinky_fly",
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final DeferredHolder<ParticleType<?>, SimpleParticleType> PEACH_LEAVES_PARTICLE = PARTICLE_TYPES.register("peach_leaves_particle",
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final DeferredHolder<ParticleType<?>, SimpleParticleType> HYPNOTIC_GAS = PARTICLE_TYPES.register("hypnotic_gas",
|
||||
() -> new SimpleParticleType(true));
|
||||
public static final DeferredHolder<ParticleType<?>, SimpleParticleType> HYPNOTIC_GAS_CLOUD = PARTICLE_TYPES.register("hypnotic_gas_cloud",
|
||||
@@ -193,12 +225,20 @@ public final class AntarchyNeoforgeMisc {
|
||||
() -> new OuranwoodTreeFeature(OuranwoodTreeConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, OuranwoodCocoonTreeFeature> OURANWOOD_COCOON_TREE = FEATURES.register("ouranwood_cocoon_tree",
|
||||
() -> new OuranwoodCocoonTreeFeature(OuranwoodTreeConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, PeachTreeFeature> PEACH_TREE_FEATURE = FEATURES.register("peach_tree",
|
||||
() -> new PeachTreeFeature(PeachTreeConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, PeachTreeFeature> PEACH_LARGE_TREE_FEATURE = FEATURES.register("peach_large_tree",
|
||||
() -> new PeachTreeFeature(PeachTreeConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, ElythiaFloraFeature> ELYTHIA_FOREST_FLORA = FEATURES.register("elythia_forest_flora",
|
||||
() -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.FOREST));
|
||||
public static final DeferredHolder<Feature<?>, ElythiaFloraFeature> ELYTHIA_MEADOW_FLORA = FEATURES.register("elythia_meadow_flora",
|
||||
() -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.MEADOW));
|
||||
public static final DeferredHolder<Feature<?>, ElythiaFloraFeature> PEACH_FOREST_FLORA = FEATURES.register("peach_forest_flora",
|
||||
() -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.PEACH_FOREST));
|
||||
public static final DeferredHolder<Feature<?>, ElythiaFloraFeature> FLOWER_FOREST_MILKWEED = FEATURES.register("flower_forest_milkweed",
|
||||
() -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.FLOWER_FOREST_MILKWEED));
|
||||
public static final DeferredHolder<Feature<?>, CornPatchFeature> CORN_PATCH = FEATURES.register("corn_patch",
|
||||
() -> new CornPatchFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, ElythiaFloraFeature> ELYTHIA_BUTTERFLY_FIELDS_FLORA = FEATURES.register("butterfly_fields_flora",
|
||||
() -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.BUTTERFLY_FIELDS));
|
||||
public static final DeferredHolder<Feature<?>, ElythiaFloraFeature> ELYTHIA_TORCHFLOWER_FIELDS_FLORA = FEATURES.register("elythia_torchflower_fields_flora",
|
||||
@@ -221,10 +261,20 @@ public final class AntarchyNeoforgeMisc {
|
||||
() -> new TriffidPatchFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, ElythiaPondFeature> ELYTHIA_POND = FEATURES.register("elythia_pond",
|
||||
() -> new ElythiaPondFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, LumenPoolFeature> LUMEN_POOL = FEATURES.register("lumen_pools",
|
||||
() -> new LumenPoolFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, LumenLilyPadFeature> LUMEN_LILY_PADS = FEATURES.register("lumen_lily_pads",
|
||||
() -> new LumenLilyPadFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, LumenStreamFeature> LUMEN_STREAM = FEATURES.register("lumen_streams",
|
||||
() -> new LumenStreamFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, ElythiaTuffBoulderFeature> ELYTHIA_TUFF_BOULDER = FEATURES.register("elythia_tuff_boulder",
|
||||
() -> new ElythiaTuffBoulderFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, ElythiaLargeTuffBoulderFeature> ELYTHIA_LARGE_TUFF_BOULDER = FEATURES.register("elythia_large_tuff_boulder",
|
||||
() -> new ElythiaLargeTuffBoulderFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, PeachForestMossyBoulderFeature> PEACH_FOREST_MOSSY_BOULDER = FEATURES.register("peach_forest_mossy_boulder",
|
||||
() -> new PeachForestMossyBoulderFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, PeachForestPondFeature> PEACH_FOREST_POND = FEATURES.register("peach_forest_pond",
|
||||
() -> new PeachForestPondFeature(PeachForestPondConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, CoralSpikeFeature> ELYTHIA_CORAL_SPIKE = FEATURES.register("elythia_coral_spike",
|
||||
() -> new CoralSpikeFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, FallenOuranwoodFeature> FALLEN_OURANWOOD_TREE = FEATURES.register("fallen_ouranwood_tree",
|
||||
@@ -281,6 +331,9 @@ public final class AntarchyNeoforgeMisc {
|
||||
DENSITY_FUNCTION_TYPES.register(modEventBus);
|
||||
ENTITY_SUB_PREDICATES.register(modEventBus);
|
||||
ATTRIBUTES.register(modEventBus);
|
||||
MENU_TYPES.register(modEventBus);
|
||||
DATA_COMPONENT_TYPES.register(modEventBus);
|
||||
RECIPE_SERIALIZERS.register(modEventBus);
|
||||
}
|
||||
|
||||
static BaseFlowingFluid.Properties bileProperties() {
|
||||
@@ -310,6 +363,15 @@ public final class AntarchyNeoforgeMisc {
|
||||
.tickRate(5);
|
||||
}
|
||||
|
||||
static BaseFlowingFluid.Properties lumenProperties() {
|
||||
return new BaseFlowingFluid.Properties(com.craisinlord.antarchy.neoforge.AntarchyNeoForgeFluidTypes.LUMEN_TYPE, LUMEN, FLOWING_LUMEN)
|
||||
.bucket(() -> AntarchyNeoforgeItems.LUMEN_BUCKET.get())
|
||||
.block(() -> AntarchyNeoforgeBlocks.LUMEN_BLOCK.get())
|
||||
.slopeFindDistance(4)
|
||||
.levelDecreasePerBlock(1)
|
||||
.tickRate(5);
|
||||
}
|
||||
|
||||
private static <T extends net.minecraft.core.particles.ParticleOptions> ParticleType<T> particleType(
|
||||
Function<ParticleType<T>, com.mojang.serialization.MapCodec<T>> codecFactory,
|
||||
Function<ParticleType<T>, StreamCodec<? super io.netty.buffer.ByteBuf, T>> streamCodecFactory
|
||||
|
||||
+4
-1
@@ -48,6 +48,9 @@ public class AntarchyNeoforgeSpawnPlacements {
|
||||
event.register(AntarchyNeoforgeEntites.BASILISK.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BasiliskEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
|
||||
event.register(AntarchyNeoforgeEntites.EMPEROR_SCORPION.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, EmperorScorpionEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
|
||||
event.register(AntarchyNeoforgeEntites.CHEEP.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, AbstractFish::checkSurfaceWaterAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR);
|
||||
// event.register(AntarchyNeoforgeEntites.GLIMMER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR);
|
||||
event.register(AntarchyNeoforgeEntites.DORRIE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR);
|
||||
event.register(AntarchyNeoforgeEntites.OURANWOOD_DEER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR);
|
||||
event.register(AntarchyNeoforgeEntites.GLIMMER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR);
|
||||
event.register(AntarchyNeoforgeEntites.ELKA.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR);
|
||||
}
|
||||
}
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
package com.craisinlord.antarchy.neoforge.worldgen;
|
||||
|
||||
import com.craisinlord.antarchy.content.block.CornCropBlock;
|
||||
import com.craisinlord.antarchy.neoforge.registry.AntarchyNeoforgeBlocks;
|
||||
import com.mojang.serialization.Codec;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.level.WorldGenLevel;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.DoubleBlockHalf;
|
||||
import net.minecraft.world.level.levelgen.Heightmap;
|
||||
import net.minecraft.world.level.levelgen.feature.Feature;
|
||||
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
|
||||
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
|
||||
|
||||
public final class CornPatchFeature extends Feature<NoneFeatureConfiguration> {
|
||||
public CornPatchFeature(Codec<NoneFeatureConfiguration> codec) {
|
||||
super(codec);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
|
||||
WorldGenLevel level = context.level();
|
||||
RandomSource random = context.random();
|
||||
BlockPos origin = context.origin();
|
||||
Block wildCorn = AntarchyNeoforgeBlocks.WILD_CORN.get();
|
||||
int radius = 4 + random.nextInt(3);
|
||||
int targetPlacements = 10 + random.nextInt(11);
|
||||
int attempts = targetPlacements * 4;
|
||||
int placed = 0;
|
||||
|
||||
for (int i = 0; i < attempts && placed < targetPlacements; i++) {
|
||||
int x = origin.getX() + random.nextInt(radius * 2 + 1) - radius;
|
||||
int z = origin.getZ() + random.nextInt(radius * 2 + 1) - radius;
|
||||
int surfaceY = level.getHeight(Heightmap.Types.WORLD_SURFACE_WG, x, z);
|
||||
BlockPos lowerPos = new BlockPos(x, surfaceY, z);
|
||||
BlockPos upperPos = lowerPos.above();
|
||||
|
||||
if (!level.getBlockState(lowerPos.below()).is(Blocks.GRASS_BLOCK)) {
|
||||
continue;
|
||||
}
|
||||
if (!level.getBlockState(lowerPos).canBeReplaced() || !level.getBlockState(upperPos).canBeReplaced()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
BlockState lowerState = wildCorn.defaultBlockState()
|
||||
.setValue(CornCropBlock.AGE, 3)
|
||||
.setValue(CornCropBlock.HALF, DoubleBlockHalf.LOWER);
|
||||
BlockState upperState = wildCorn.defaultBlockState()
|
||||
.setValue(CornCropBlock.AGE, 3)
|
||||
.setValue(CornCropBlock.HALF, DoubleBlockHalf.UPPER);
|
||||
|
||||
level.setBlock(lowerPos, lowerState, 2);
|
||||
level.setBlock(upperPos, upperState, 2);
|
||||
placed++;
|
||||
}
|
||||
|
||||
return placed > 0;
|
||||
}
|
||||
}
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
package com.craisinlord.antarchy.neoforge.worldgen;
|
||||
|
||||
import com.craisinlord.antarchy.content.AntarchyTags;
|
||||
import com.mojang.serialization.Codec;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.level.WorldGenLevel;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.levelgen.Heightmap;
|
||||
import net.minecraft.world.level.levelgen.feature.Feature;
|
||||
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
|
||||
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
|
||||
|
||||
public final class LumenLilyPadFeature extends Feature<NoneFeatureConfiguration> {
|
||||
public LumenLilyPadFeature(Codec<NoneFeatureConfiguration> codec) {
|
||||
super(codec);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
|
||||
WorldGenLevel level = context.level();
|
||||
RandomSource random = context.random();
|
||||
BlockPos origin = context.origin();
|
||||
boolean placedAny = false;
|
||||
|
||||
for (int i = 0; i < 24; i++) {
|
||||
int x = origin.getX() + random.nextInt(17) - 8;
|
||||
int z = origin.getZ() + random.nextInt(17) - 8;
|
||||
int surfaceY = level.getHeight(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, x, z) - 1;
|
||||
BlockPos fluidPos = new BlockPos(x, surfaceY, z);
|
||||
if (!level.getFluidState(fluidPos).is(AntarchyTags.Fluids.LUMEN) || !level.getFluidState(fluidPos).isSource()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
BlockPos padPos = fluidPos.above();
|
||||
if (!level.isEmptyBlock(padPos)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
BlockState lilyPad = Blocks.LILY_PAD.defaultBlockState();
|
||||
if (!lilyPad.canSurvive(level, padPos)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
level.setBlock(padPos, lilyPad, 2);
|
||||
placedAny = true;
|
||||
}
|
||||
|
||||
return placedAny;
|
||||
}
|
||||
}
|
||||
@@ -44,4 +44,12 @@ displayURL="https://www.curseforge.com/minecraft/mc-mods/antarchy"
|
||||
type="required"
|
||||
versionRange="*"
|
||||
ordering="AFTER"
|
||||
side="BOTH"
|
||||
side="BOTH"
|
||||
|
||||
[[dependencies.antarchy]]
|
||||
modId="infinity"
|
||||
type="incompatible"
|
||||
versionRange="(,2.7.2)"
|
||||
ordering="NONE"
|
||||
side="BOTH"
|
||||
reason="Infinite Dimensions versions below 2.7.2 are no longer supported"
|
||||
@@ -11,7 +11,6 @@
|
||||
"entity.ParalyzedMobFreezeMixin",
|
||||
"infinity.ConfigGenInvocationMixin",
|
||||
"infinity.PortalCreatorMixin",
|
||||
"infinity.RandomSpringMixin",
|
||||
"level.ClientLevelPartEntitiesAccessor",
|
||||
"level.ServerLevelPartEntitiesAccessor"
|
||||
],
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"parent": "neoforge:item/bucket",
|
||||
"loader": "neoforge:fluid_container",
|
||||
"fluid": "antarchy:lumen"
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"type": "neoforge:add_features",
|
||||
"biomes": "#antarchy:wild_corn_spawn_biomes",
|
||||
"features": [
|
||||
"antarchy:corn_patch"
|
||||
],
|
||||
"step": "vegetal_decoration"
|
||||
}
|
||||
Reference in new issue
Block a user