Added first VERY rough draft of jumpy bug, creeping horror, lurking terror
This commit is contained in:
1 parent
70e4479f19
commit
fb8fd3c927
112 files changed
+16339
-8
No files matched your search
+11
@@ -74,6 +74,11 @@ public final class AntarchyConfigModuleNeoforge {
|
||||
AntarchySettings.setBomberExplosionDamage(AntarchyMobsConfig.bomberExplosionDamage());
|
||||
AntarchySettings.setBomberExplosionRadius(AntarchyMobsConfig.bomberExplosionRadius());
|
||||
|
||||
AntarchySettings.setJumpyBugHealth(AntarchyMobsConfig.jumpyBugHealth());
|
||||
AntarchySettings.setJumpyBugPounceDamage(AntarchyMobsConfig.jumpyBugPounceDamage());
|
||||
AntarchySettings.setJumpyBugLatchDamage(AntarchyMobsConfig.jumpyBugLatchDamage());
|
||||
AntarchySettings.setJumpyBugCamouflageAlpha(AntarchyMobsConfig.jumpyBugCamouflageAlpha());
|
||||
|
||||
AntarchySettings.setKrakenHealth(AntarchyMobsConfig.krakenHealth());
|
||||
AntarchySettings.setKrakenAttackDamage(AntarchyMobsConfig.krakenAttackDamage());
|
||||
AntarchySettings.setKrakenProjectileDamageTakenMultiplier(AntarchyMobsConfig.krakenProjectileDamageTakenMultiplier());
|
||||
@@ -150,11 +155,17 @@ public final class AntarchyConfigModuleNeoforge {
|
||||
AntarchySettings.setToreterrorSpinDamage(AntarchyMobsConfig.toreterrorSpinDamage());
|
||||
AntarchySettings.setToreterrorSpinKnockback(AntarchyMobsConfig.toreterrorSpinKnockback());
|
||||
AntarchySettings.setToreterrorRangedWaterBombChance(AntarchyMobsConfig.toreterrorRangedWaterBombChance());
|
||||
AntarchySettings.setToreterrorProjectileDamageMultiplier(AntarchyMobsConfig.toreterrorProjectileDamageMultiplier());
|
||||
AntarchySettings.setWaterBombDamage(AntarchyMobsConfig.waterBombDamage());
|
||||
AntarchySettings.setWaterBombLifetimeTicks(AntarchyMobsConfig.waterBombLifetimeTicks());
|
||||
AntarchySettings.setWaterBombGravity(AntarchyMobsConfig.waterBombGravity());
|
||||
AntarchySettings.setWaterBombKnockback(AntarchyMobsConfig.waterBombKnockback());
|
||||
AntarchySettings.setWaterCannonCooldownSeconds(AntarchyMobsConfig.waterCannonCooldownSeconds());
|
||||
|
||||
AntarchySettings.setCreepingHorrorHealth(AntarchyMobsConfig.creepingHorrorHealth());
|
||||
AntarchySettings.setCreepingHorrorAttackDamage(AntarchyMobsConfig.creepingHorrorAttackDamage());
|
||||
AntarchySettings.setLurkingTerrorHealth(AntarchyMobsConfig.lurkingTerrorHealth());
|
||||
AntarchySettings.setLurkingTerrorAttackDamage(AntarchyMobsConfig.lurkingTerrorAttackDamage());
|
||||
}
|
||||
|
||||
private static void bakeToolsConfig() {
|
||||
|
||||
@@ -57,6 +57,14 @@ public final class AntarchyMobsConfig {
|
||||
private static final ModConfigSpec.DoubleValue BOMBER_EXPLOSION_RADIUS;
|
||||
|
||||
|
||||
// Jumpy Bug
|
||||
|
||||
private static final ModConfigSpec.DoubleValue JUMPY_BUG_HEALTH;
|
||||
private static final ModConfigSpec.DoubleValue JUMPY_BUG_POUNCE_DAMAGE;
|
||||
private static final ModConfigSpec.DoubleValue JUMPY_BUG_LATCH_DAMAGE;
|
||||
private static final ModConfigSpec.DoubleValue JUMPY_BUG_CAMOUFLAGE_ALPHA;
|
||||
|
||||
|
||||
// Kraken
|
||||
|
||||
private static final ModConfigSpec.DoubleValue KRAKEN_HEALTH;
|
||||
@@ -154,6 +162,7 @@ public final class AntarchyMobsConfig {
|
||||
private static final ModConfigSpec.DoubleValue TORETERROR_SPIN_DAMAGE;
|
||||
private static final ModConfigSpec.DoubleValue TORETERROR_SPIN_KNOCKBACK;
|
||||
private static final ModConfigSpec.DoubleValue TORETERROR_RANGED_WATER_BOMB_CHANCE;
|
||||
private static final ModConfigSpec.DoubleValue TORETERROR_PROJECTILE_DAMAGE_MULTIPLIER;
|
||||
private static final ModConfigSpec.DoubleValue WATER_BOMB_DAMAGE;
|
||||
private static final ModConfigSpec.IntValue WATER_BOMB_LIFETIME_TICKS;
|
||||
private static final ModConfigSpec.DoubleValue WATER_BOMB_GRAVITY;
|
||||
@@ -161,6 +170,18 @@ public final class AntarchyMobsConfig {
|
||||
private static final ModConfigSpec.DoubleValue WATER_CANNON_COOLDOWN_SECONDS;
|
||||
|
||||
|
||||
// Creeping Horror
|
||||
|
||||
private static final ModConfigSpec.DoubleValue CREEPING_HORROR_HEALTH;
|
||||
private static final ModConfigSpec.DoubleValue CREEPING_HORROR_ATTACK_DAMAGE;
|
||||
|
||||
|
||||
// Lurking Terror
|
||||
|
||||
private static final ModConfigSpec.DoubleValue LURKING_TERROR_HEALTH;
|
||||
private static final ModConfigSpec.DoubleValue LURKING_TERROR_ATTACK_DAMAGE;
|
||||
|
||||
|
||||
// Lucid
|
||||
|
||||
private static final ModConfigSpec.DoubleValue LUCID_ATTACK_RANGE;
|
||||
@@ -288,6 +309,16 @@ public final class AntarchyMobsConfig {
|
||||
b.pop();
|
||||
|
||||
|
||||
// Jumpy Bug
|
||||
|
||||
b.push("jumpyBug");
|
||||
JUMPY_BUG_HEALTH = b.comment("Base max health.").defineInRange("health", 12.0D, 1.0D, 32768.0D);
|
||||
JUMPY_BUG_POUNCE_DAMAGE = b.comment("Damage dealt on a successful pounce latch.").defineInRange("pounceDamage", 2.0D, 0.0D, 1024.0D);
|
||||
JUMPY_BUG_LATCH_DAMAGE = b.comment("Damage dealt per bite while latched.").defineInRange("latchDamage", 1.0D, 0.0D, 1024.0D);
|
||||
JUMPY_BUG_CAMOUFLAGE_ALPHA = b.comment("Renderer alpha while camouflaged.").defineInRange("camouflageAlpha", 0.18D, 0.01D, 1.0D);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Kraken
|
||||
|
||||
b.push("kraken");
|
||||
@@ -432,6 +463,16 @@ public final class AntarchyMobsConfig {
|
||||
|
||||
b.pop(); // dread
|
||||
|
||||
b.push("creepingHorror");
|
||||
CREEPING_HORROR_HEALTH = b.comment("Base max health.").defineInRange("health", 15.0D, 1.0D, 32768.0D);
|
||||
CREEPING_HORROR_ATTACK_DAMAGE = b.comment("Base attack damage.").defineInRange("attackDamage", 6.0D, 0.0D, 1024.0D);
|
||||
b.pop();
|
||||
|
||||
b.push("lurkingTerror");
|
||||
LURKING_TERROR_HEALTH = b.comment("Base max health.").defineInRange("health", 15.0D, 1.0D, 32768.0D);
|
||||
LURKING_TERROR_ATTACK_DAMAGE = b.comment("Base attack damage.").defineInRange("attackDamage", 6.0D, 0.0D, 1024.0D);
|
||||
b.pop();
|
||||
|
||||
b.push("toreterror");
|
||||
TORETERROR_HEALTH = b.comment("Base max health.").defineInRange("health", 300.0D, 1.0D, 32768.0D);
|
||||
TORETERROR_JUMP_ATTACK_DAMAGE = b.comment("Damage dealt by the jump shockwave.").defineInRange("jumpAttackDamage", 14.0D, 0.0D, 1024.0D);
|
||||
@@ -439,6 +480,7 @@ public final class AntarchyMobsConfig {
|
||||
TORETERROR_SPIN_DAMAGE = b.comment("Damage per spin-attack tick.").defineInRange("spinDamage", 8.0D, 0.0D, 1024.0D);
|
||||
TORETERROR_SPIN_KNOCKBACK = b.comment("Knockback strength of the spin attack.").defineInRange("spinKnockback", 1.5D, 0.0D, 10.0D);
|
||||
TORETERROR_RANGED_WATER_BOMB_CHANCE = b.comment("Chance (0.0-1.0) the ranged attack fires a Water Bomb instead of Bombers.").defineInRange("rangedWaterBombChance", 0.5D, 0.0D, 1.0D);
|
||||
TORETERROR_PROJECTILE_DAMAGE_MULTIPLIER = b.comment("Damage multiplier applied to projectile hits on the Toreterror (0.5 = half damage).").defineInRange("projectileDamageMultiplier", 0.5D, 0.0D, 1.0D);
|
||||
WATER_BOMB_DAMAGE = b.comment("Damage dealt by a Water Bomb hit.").defineInRange("waterBombDamage", 6.0D, 0.0D, 1024.0D);
|
||||
WATER_BOMB_LIFETIME_TICKS = b.comment("Ticks before a Water Bomb despawns.").defineInRange("waterBombLifetimeTicks", 120, 1, 6000);
|
||||
WATER_BOMB_GRAVITY = b.comment("Gravity applied to Water Bombs (higher = steeper arc).").defineInRange("waterBombGravity", 0.12D, 0.0D, 2.0D);
|
||||
@@ -494,6 +536,11 @@ public final class AntarchyMobsConfig {
|
||||
static double bomberExplosionDamage() { return BOMBER_EXPLOSION_DAMAGE.get(); }
|
||||
static double bomberExplosionRadius() { return BOMBER_EXPLOSION_RADIUS.get(); }
|
||||
|
||||
static double jumpyBugHealth() { return JUMPY_BUG_HEALTH.get(); }
|
||||
static double jumpyBugPounceDamage() { return JUMPY_BUG_POUNCE_DAMAGE.get(); }
|
||||
static double jumpyBugLatchDamage() { return JUMPY_BUG_LATCH_DAMAGE.get(); }
|
||||
static double jumpyBugCamouflageAlpha() { return JUMPY_BUG_CAMOUFLAGE_ALPHA.get(); }
|
||||
|
||||
static double krakenHealth() { return KRAKEN_HEALTH.get(); }
|
||||
static double krakenAttackDamage() { return KRAKEN_ATTACK_DAMAGE.get(); }
|
||||
static double krakenProjectileDamageTakenMultiplier() { return KRAKEN_PROJECTILE_DAMAGE_TAKEN_MULTIPLIER.get(); }
|
||||
@@ -564,6 +611,7 @@ public final class AntarchyMobsConfig {
|
||||
static double toreterrorSpinDamage() { return TORETERROR_SPIN_DAMAGE.get(); }
|
||||
static double toreterrorSpinKnockback() { return TORETERROR_SPIN_KNOCKBACK.get(); }
|
||||
static double toreterrorRangedWaterBombChance() { return TORETERROR_RANGED_WATER_BOMB_CHANCE.get(); }
|
||||
static double toreterrorProjectileDamageMultiplier() { return TORETERROR_PROJECTILE_DAMAGE_MULTIPLIER.get(); }
|
||||
static double waterBombDamage() { return WATER_BOMB_DAMAGE.get(); }
|
||||
static int waterBombLifetimeTicks() { return WATER_BOMB_LIFETIME_TICKS.get(); }
|
||||
static double waterBombGravity() { return WATER_BOMB_GRAVITY.get(); }
|
||||
@@ -576,4 +624,9 @@ public final class AntarchyMobsConfig {
|
||||
static boolean dreadHallucinationMobsEnabled() { return DREAD_HALLUCINATION_MOBS_ENABLED.get(); }
|
||||
static double dreadHallucinationMobMinInterval() { return DREAD_HALLUCINATION_MOB_MIN_INTERVAL.get(); }
|
||||
static double dreadHallucinationMobMaxInterval() { return DREAD_HALLUCINATION_MOB_MAX_INTERVAL.get(); }
|
||||
|
||||
static double creepingHorrorHealth() { return CREEPING_HORROR_HEALTH.get(); }
|
||||
static double creepingHorrorAttackDamage() { return CREEPING_HORROR_ATTACK_DAMAGE.get(); }
|
||||
static double lurkingTerrorHealth() { return LURKING_TERROR_HEALTH.get(); }
|
||||
static double lurkingTerrorAttackDamage() { return LURKING_TERROR_ATTACK_DAMAGE.get(); }
|
||||
}
|
||||
@@ -183,6 +183,8 @@ public class AntarchyNeoforge {
|
||||
AntarchyNeoforgeEntites.HUSH_PROJECTILE,
|
||||
AntarchyNeoforgeEntites.TORETERROR,
|
||||
AntarchyNeoforgeEntites.WATER_BOMB,
|
||||
AntarchyNeoforgeEntites.CREEPING_HORROR,
|
||||
AntarchyNeoforgeEntites.LURKING_TERROR,
|
||||
() -> AntarchyNeoforgeBlocks.DUPLICATOR_LOG.get(),
|
||||
() -> AntarchyNeoforgeBlocks.DUPLICATOR_SAPLING.get(),
|
||||
() -> AntarchyNeoforgeBlocks.DUCT_TAPE.get(),
|
||||
@@ -233,6 +235,8 @@ public class AntarchyNeoforge {
|
||||
() -> AntarchyNeoforgeBlocks.PINK_MILKWEED.get(),
|
||||
() -> AntarchyNeoforgeBlocks.TORCHFLOWER_BUSH.get(),
|
||||
() -> AntarchyNeoforgeBlocks.BED_BUG_EGG.get(),
|
||||
() -> AntarchyNeoforgeBlocks.CREEPING_HORROR_EGGS.get(),
|
||||
() -> AntarchyNeoforgeBlocks.LURKING_TERROR_EGGS.get(),
|
||||
() -> AntarchyNeoforgeBlocks.WASP_NEST.get(),
|
||||
() -> AntarchyNeoforgeBlocks.HUSHWEED.get(),
|
||||
() -> AntarchyNeoforgeBlocks.OURANWOOD_SQUIRREL_NEST.get(),
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.craisinlord.antarchy.neoforge;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.command.CaterpillarCommand;
|
||||
import com.craisinlord.antarchy.content.command.GravityCommand;
|
||||
import net.neoforged.bus.api.SubscribeEvent;
|
||||
import net.neoforged.fml.common.EventBusSubscriber;
|
||||
import net.neoforged.neoforge.event.RegisterCommandsEvent;
|
||||
|
||||
@EventBusSubscriber(modid = Antarchy.MODID)
|
||||
public final class AntarchyNeoforgeEvents {
|
||||
private AntarchyNeoforgeEvents() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onRegisterCommands(RegisterCommandsEvent event) {
|
||||
GravityCommand.register(event.getDispatcher());
|
||||
CaterpillarCommand.register(event.getDispatcher());
|
||||
}
|
||||
}
|
||||
+9
@@ -4,6 +4,8 @@ import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.client.hud.BloodglassHudRenderer;
|
||||
import com.craisinlord.antarchy.content.client.particle.*;
|
||||
import com.craisinlord.antarchy.content.client.renderer.*;
|
||||
import com.craisinlord.antarchy.content.client.renderer.CreepingHorrorRenderer;
|
||||
import com.craisinlord.antarchy.content.client.renderer.LurkingTerrorRenderer;
|
||||
import com.craisinlord.antarchy.neoforge.AntarchyNeoForgeFluidTypes;
|
||||
import com.craisinlord.antarchy.neoforge.registry.AntarchyNeoforgeBlocks;
|
||||
import com.craisinlord.antarchy.neoforge.registry.AntarchyNeoforgeEntites;
|
||||
@@ -104,6 +106,7 @@ public final class AntarchyNeoForgeClient {
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.BED_BUG.get(), context -> withParalyzedGeoLayer(new BedBugRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.WASP.get(), context -> withParalyzedGeoLayer(new WaspRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.BOMBER.get(), context -> withParalyzedGeoLayer(new BomberRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.JUMPY_BUG.get(), context -> withParalyzedGeoLayer(new JumpyBugRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.BASILISK.get(), context -> withParalyzedGeoLayer(new BasiliskRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.SHRINK_RAY_PROJECTILE.get(), SizeRayProjectileRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.GROWTH_RAY_PROJECTILE.get(), SizeRayProjectileRenderer::new);
|
||||
@@ -116,6 +119,8 @@ public final class AntarchyNeoForgeClient {
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.EMPEROR_SCORPION.get(), context -> withParalyzedGeoLayer(new EmperorScorpionRenderer(context)));
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.TORETERROR.get(), ToreterrorRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.WATER_BOMB.get(), WaterBombRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.CREEPING_HORROR.get(), CreepingHorrorRenderer::new);
|
||||
event.registerEntityRenderer(AntarchyNeoforgeEntites.LURKING_TERROR.get(), LurkingTerrorRenderer::new);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
@@ -222,6 +227,10 @@ public final class AntarchyNeoForgeClient {
|
||||
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "triffid_goo"),
|
||||
(guiGraphics, partialTick) -> TriffidGooHudRenderer.render(guiGraphics)
|
||||
);
|
||||
event.registerAboveAll(
|
||||
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "jumpy_boots"),
|
||||
(guiGraphics, partialTick) -> JumpyBootsHudRenderer.render(guiGraphics)
|
||||
);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
|
||||
+91
@@ -0,0 +1,91 @@
|
||||
package com.craisinlord.antarchy.neoforge.client;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.item.JumpyBootsHelper;
|
||||
import com.craisinlord.antarchy.content.item.JumpyBootsItem;
|
||||
import com.craisinlord.antarchy.content.network.JumpyBootsLaunchPayload;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
import net.neoforged.api.distmarker.Dist;
|
||||
import net.neoforged.bus.api.SubscribeEvent;
|
||||
import net.neoforged.fml.common.EventBusSubscriber;
|
||||
import net.neoforged.neoforge.client.event.ClientTickEvent;
|
||||
import net.neoforged.neoforge.network.PacketDistributor;
|
||||
|
||||
@EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
|
||||
public final class JumpyBootsClientHandler {
|
||||
private static int chargeTicks = 0;
|
||||
private static boolean wasCharging = false;
|
||||
private static int primeWindowTicks = 0;
|
||||
private static int storedChargeTicks = 0;
|
||||
|
||||
private JumpyBootsClientHandler() {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(ClientTickEvent.Post event) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
LocalPlayer player = mc.player;
|
||||
|
||||
if (player == null || mc.level == null || mc.screen != null) {
|
||||
reset();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!JumpyBootsItem.isWearingJumpyBoots(player)) {
|
||||
reset();
|
||||
return;
|
||||
}
|
||||
|
||||
boolean onGround = player.onGround();
|
||||
boolean sneaking = player.input.shiftKeyDown;
|
||||
boolean jumpPressed = mc.options.keyJump.consumeClick();
|
||||
|
||||
if (primeWindowTicks > 0) {
|
||||
primeWindowTicks--;
|
||||
if (jumpPressed) {
|
||||
PacketDistributor.sendToServer(new JumpyBootsLaunchPayload(storedChargeTicks, player.isSprinting()));
|
||||
reset();
|
||||
return;
|
||||
}
|
||||
if (primeWindowTicks <= 0) {
|
||||
reset();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (!onGround) {
|
||||
chargeTicks = 0;
|
||||
wasCharging = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (sneaking) {
|
||||
chargeTicks = Math.min(chargeTicks + 1, JumpyBootsHelper.CHARGE_TICKS_MAX);
|
||||
wasCharging = true;
|
||||
} else if (wasCharging && chargeTicks > 0) {
|
||||
storedChargeTicks = chargeTicks;
|
||||
primeWindowTicks = JumpyBootsHelper.PRIME_WINDOW_TICKS;
|
||||
chargeTicks = 0;
|
||||
wasCharging = false;
|
||||
} else {
|
||||
chargeTicks = 0;
|
||||
wasCharging = false;
|
||||
}
|
||||
}
|
||||
|
||||
private static void reset() {
|
||||
chargeTicks = 0;
|
||||
wasCharging = false;
|
||||
primeWindowTicks = 0;
|
||||
storedChargeTicks = 0;
|
||||
}
|
||||
|
||||
public static boolean isCharging() {
|
||||
return chargeTicks > 0;
|
||||
}
|
||||
|
||||
public static int getChargeTicks() {
|
||||
return chargeTicks;
|
||||
}
|
||||
}
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
package com.craisinlord.antarchy.neoforge.client;
|
||||
|
||||
import com.craisinlord.antarchy.content.item.JumpyBootsHelper;
|
||||
import com.craisinlord.antarchy.content.item.JumpyBootsItem;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
||||
public final class JumpyBootsHudRenderer {
|
||||
private static final ResourceLocation JUMP_BAR_BACKGROUND = ResourceLocation.withDefaultNamespace("textures/gui/sprites/hud/jump_bar_background.png");
|
||||
private static final ResourceLocation JUMP_BAR_PROGRESS = ResourceLocation.withDefaultNamespace("textures/gui/sprites/hud/jump_bar_progress.png");
|
||||
private static final int BAR_WIDTH = 182;
|
||||
private static final int BAR_HEIGHT = 5;
|
||||
|
||||
private JumpyBootsHudRenderer() {
|
||||
}
|
||||
|
||||
public static void render(GuiGraphics guiGraphics) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
Player player = mc.player;
|
||||
if (player == null || mc.screen != null || player.isDeadOrDying()) {
|
||||
return;
|
||||
}
|
||||
if (!JumpyBootsItem.isWearingJumpyBoots(player)) {
|
||||
return;
|
||||
}
|
||||
if (!JumpyBootsClientHandler.isCharging()) {
|
||||
return;
|
||||
}
|
||||
|
||||
int width = mc.getWindow().getGuiScaledWidth();
|
||||
int height = mc.getWindow().getGuiScaledHeight();
|
||||
int x0 = width / 2 - BAR_WIDTH / 2;
|
||||
int y0 = height - 29;
|
||||
|
||||
guiGraphics.blit(JUMP_BAR_BACKGROUND, x0, y0, 0, 0, BAR_WIDTH, BAR_HEIGHT, BAR_WIDTH, BAR_HEIGHT);
|
||||
|
||||
int chargeTicks = JumpyBootsClientHandler.getChargeTicks();
|
||||
float chargeRatio = Mth.clamp(chargeTicks / (float) JumpyBootsHelper.CHARGE_TICKS_MAX, 0.0F, 1.0F);
|
||||
int filledWidth = Mth.clamp((int) (chargeRatio * BAR_WIDTH), 0, BAR_WIDTH);
|
||||
if (filledWidth > 0) {
|
||||
guiGraphics.setColor(1.0F, 1.0F, 1.0F, 0.35F + chargeRatio * 0.65F);
|
||||
guiGraphics.blit(JUMP_BAR_PROGRESS, x0, y0, 0, 0, filledWidth, BAR_HEIGHT, BAR_WIDTH, BAR_HEIGHT);
|
||||
guiGraphics.setColor(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
}
|
||||
}
|
||||
+81
@@ -0,0 +1,81 @@
|
||||
package com.craisinlord.antarchy.neoforge.network;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.content.item.JumpyBootsHelper;
|
||||
import com.craisinlord.antarchy.content.item.JumpyBootsItem;
|
||||
import com.craisinlord.antarchy.content.network.JumpyBootsLaunchPayload;
|
||||
import net.minecraft.network.protocol.game.ClientboundSetEntityMotionPacket;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.sounds.SoundEvents;
|
||||
import net.minecraft.sounds.SoundSource;
|
||||
import net.minecraft.world.entity.EquipmentSlot;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.neoforged.bus.api.SubscribeEvent;
|
||||
import net.neoforged.fml.common.EventBusSubscriber;
|
||||
import net.neoforged.neoforge.event.entity.living.LivingFallEvent;
|
||||
import net.neoforged.neoforge.network.handling.IPayloadContext;
|
||||
import net.neoforged.neoforge.network.registration.PayloadRegistrar;
|
||||
|
||||
@EventBusSubscriber(modid = Antarchy.MODID)
|
||||
public final class JumpyBootsNetworking {
|
||||
private JumpyBootsNetworking() {
|
||||
}
|
||||
|
||||
public static void register(PayloadRegistrar registrar) {
|
||||
registrar.playToServer(
|
||||
JumpyBootsLaunchPayload.TYPE,
|
||||
JumpyBootsLaunchPayload.STREAM_CODEC,
|
||||
JumpyBootsNetworking::handleLaunch
|
||||
);
|
||||
}
|
||||
|
||||
private static void handleLaunch(JumpyBootsLaunchPayload payload, IPayloadContext context) {
|
||||
context.enqueueWork(() -> {
|
||||
if (!(context.player() instanceof ServerPlayer player)) return;
|
||||
if (!JumpyBootsItem.isWearingJumpyBoots(player)) return;
|
||||
if (player.isSpectator() || player.isPassenger()) return;
|
||||
|
||||
ItemStack boots = player.getItemBySlot(EquipmentSlot.FEET);
|
||||
if (player.getCooldowns().isOnCooldown(boots.getItem())) return;
|
||||
|
||||
int clampedCharge = Math.min(payload.chargeTicks(), JumpyBootsHelper.CHARGE_TICKS_MAX);
|
||||
if (clampedCharge <= 0) return;
|
||||
|
||||
float verticalBoost = JumpyBootsHelper.verticalBoostFor(clampedCharge);
|
||||
Vec3 current = player.getDeltaMovement();
|
||||
|
||||
double newY = verticalBoost;
|
||||
double newX = current.x;
|
||||
double newZ = current.z;
|
||||
|
||||
if (payload.sprinting()) {
|
||||
Vec3 look = player.getLookAngle();
|
||||
newX += look.x * JumpyBootsHelper.SPRINT_FORWARD_BOOST;
|
||||
newZ += look.z * JumpyBootsHelper.SPRINT_FORWARD_BOOST;
|
||||
}
|
||||
|
||||
player.setDeltaMovement(newX, newY, newZ);
|
||||
player.hasImpulse = true;
|
||||
player.hurtMarked = true;
|
||||
player.resetFallDistance();
|
||||
player.connection.send(new ClientboundSetEntityMotionPacket(player));
|
||||
|
||||
player.level().playSound(null, player.blockPosition(), SoundEvents.SLIME_JUMP, SoundSource.PLAYERS, 1.0F, 0.6F + (clampedCharge / (float) JumpyBootsHelper.CHARGE_TICKS_MAX) * 0.6F);
|
||||
|
||||
player.getPersistentData().putLong(JumpyBootsHelper.FALL_PROTECTION_NBT_KEY, player.level().getGameTime() + JumpyBootsHelper.FALL_PROTECTION_TICKS);
|
||||
|
||||
player.getCooldowns().addCooldown(boots.getItem(), JumpyBootsHelper.COOLDOWN_TICKS);
|
||||
});
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onLivingFall(LivingFallEvent event) {
|
||||
if (!(event.getEntity() instanceof ServerPlayer player)) return;
|
||||
if (!JumpyBootsItem.isWearingJumpyBoots(player)) return;
|
||||
long protectionUntil = player.getPersistentData().getLong(JumpyBootsHelper.FALL_PROTECTION_NBT_KEY);
|
||||
if (player.level().getGameTime() < protectionUntil) {
|
||||
event.setDamageMultiplier(event.getDamageMultiplier() * 0.25F);
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
@@ -982,6 +982,7 @@ public final class AntarchyNeoForgeEvents {
|
||||
event.getBuilder().addMix(Potions.AWKWARD, AntarchyNeoforgeItems.MOLEWORM_ITEM.get(), AntarchyNeoforgeMisc.HASTE);
|
||||
event.getBuilder().addMix(AntarchyNeoforgeMisc.HASTE, Items.GLOWSTONE_DUST, AntarchyNeoforgeMisc.STRONG_HASTE);
|
||||
event.getBuilder().addMix(Potions.AWKWARD, AntarchyNeoforgeItems.CLOUD_SHARK_FIN.get(), Potions.SLOW_FALLING);
|
||||
event.getBuilder().addMix(Potions.AWKWARD, AntarchyNeoforgeItems.JUMPY_BUG_LEG.get(), Potions.LEAPING);
|
||||
event.getBuilder().addMix(Potions.AWKWARD, AntarchyNeoforgeItems.CORNEA_EAR.get(), Potions.NIGHT_VISION);
|
||||
event.getBuilder().addMix(Potions.AWKWARD, AntarchyNeoforgeItems.URANIUM_NUGGET.get(), AntarchyNeoforgeMisc.SHRINKING);
|
||||
event.getBuilder().addMix(AntarchyNeoforgeMisc.SHRINKING, Items.GLOWSTONE_DUST, AntarchyNeoforgeMisc.STRONG_SHRINKING);
|
||||
|
||||
+6
@@ -4,6 +4,8 @@ import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.config.AntarchySettings;
|
||||
import com.craisinlord.antarchy.content.AntarchyObjects;
|
||||
import com.craisinlord.antarchy.content.block.*;
|
||||
import com.craisinlord.antarchy.content.block.CreepingHorrorEggBlock;
|
||||
import com.craisinlord.antarchy.content.block.LurkingTerrorEggBlock;
|
||||
import com.craisinlord.antarchy.content.block.entity.AntNestBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.DreamCampfireBlockEntity;
|
||||
import com.craisinlord.antarchy.content.block.entity.HushweedBlockEntity;
|
||||
@@ -200,6 +202,10 @@ public final class AntarchyNeoforgeBlocks {
|
||||
.noOcclusion()
|
||||
.noCollission()
|
||||
.replaceable()));
|
||||
public static final DeferredBlock<CreepingHorrorEggBlock> CREEPING_HORROR_EGGS = BLOCKS.register("creeping_horror_eggs",
|
||||
() -> new CreepingHorrorEggBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.TURTLE_EGG)));
|
||||
public static final DeferredBlock<LurkingTerrorEggBlock> LURKING_TERROR_EGGS = BLOCKS.register("lurking_terror_eggs",
|
||||
() -> new LurkingTerrorEggBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.TURTLE_EGG)));
|
||||
public static final DeferredBlock<WaspNestBlock> WASP_NEST = BLOCKS.register("wasp_nest",
|
||||
() -> new WaspNestBlock(AntarchyNeoforgeItems::waspNestBlockEntityType, BlockBehaviour.Properties.ofFullCopy(Blocks.BEE_NEST)));
|
||||
public static final DeferredBlock<com.craisinlord.antarchy.content.block.OuranwoodSquirrelNestBlock> OURANWOOD_SQUIRREL_NEST = BLOCKS.register("ouranwood_squirrel_nest",
|
||||
|
||||
+11
-2
@@ -67,6 +67,7 @@ public class AntarchyNeoforgeCreativeModeTabs {
|
||||
event.accept(AntarchyNeoforgeItems.DR_TRAYAURUS_SPAWN_EGG.get());
|
||||
event.accept(AntarchyNeoforgeItems.WASP_SPAWN_EGG.get());
|
||||
event.accept(AntarchyNeoforgeItems.BOMBER_SPAWN_EGG.get());
|
||||
event.accept(AntarchyNeoforgeItems.JUMPY_BUG_SPAWN_EGG.get());
|
||||
event.accept(AntarchyNeoforgeItems.CLOUD_SHARK_SPAWN_EGG.get());
|
||||
event.accept(AntarchyNeoforgeItems.KRAKEN_SPAWN_EGG.get());
|
||||
event.accept(AntarchyNeoforgeItems.MISSILE_SQUID_SPAWN_EGG.get());
|
||||
@@ -77,6 +78,8 @@ 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.CREEPING_HORROR_SPAWN_EGG.get());
|
||||
event.accept(AntarchyNeoforgeItems.LURKING_TERROR_SPAWN_EGG.get());
|
||||
}
|
||||
|
||||
if (event.getTabKey() == CreativeModeTabs.NATURAL_BLOCKS) {
|
||||
@@ -92,6 +95,8 @@ public class AntarchyNeoforgeCreativeModeTabs {
|
||||
event.accept(AntarchyNeoforgeItems.INFESTED_COARSE_DIRT_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.TRIFFID_GOO_BLOCK_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.BED_BUG_EGG_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.CREEPING_HORROR_EGGS_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.LURKING_TERROR_EGGS_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.WASP_NEST_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.RED_ANT_NEST_ITEM.get());
|
||||
event.accept(AntarchyNeoforgeItems.BROWN_ANT_NEST_ITEM.get());
|
||||
@@ -135,6 +140,8 @@ public class AntarchyNeoforgeCreativeModeTabs {
|
||||
event.accept(AntarchyNeoforgeItems.BLOOD_CRYSTAL_SHARD.get());
|
||||
event.accept(AntarchyNeoforgeItems.BLOOD_CRYSTAL_APPLE.get());
|
||||
event.accept(AntarchyNeoforgeItems.MANTIS_CLAW.get());
|
||||
event.accept(AntarchyNeoforgeItems.KING_SCALE.get());
|
||||
event.accept(AntarchyNeoforgeItems.QUEEN_SCALE.get());
|
||||
event.accept(AntarchyNeoforgeItems.BRUTALFLY_WING.get());
|
||||
event.accept(AntarchyNeoforgeItems.PRIMORDIAL_SCUTE.get());
|
||||
event.accept(AntarchyNeoforgeItems.TRIFFID_GOO.get());
|
||||
@@ -285,6 +292,7 @@ public class AntarchyNeoforgeCreativeModeTabs {
|
||||
event.accept(AntarchyNeoforgeItems.SCORPION_WHIP.get());
|
||||
event.accept(AntarchyNeoforgeItems.FALLEN_KING_CROWN.get());
|
||||
event.accept(AntarchyNeoforgeItems.BRUTALFLY_ELYTRA.get());
|
||||
event.accept(AntarchyNeoforgeItems.JUMPY_BOOTS.get());
|
||||
event.accept(PotionContents.createItemStack(Items.POTION, AntarchyNeoforgeMisc.SHRINKING));
|
||||
event.accept(PotionContents.createItemStack(Items.POTION, AntarchyNeoforgeMisc.STRONG_SHRINKING));
|
||||
event.accept(PotionContents.createItemStack(Items.POTION, AntarchyNeoforgeMisc.EXTREME_SHRINKING));
|
||||
@@ -384,7 +392,7 @@ public class AntarchyNeoforgeCreativeModeTabs {
|
||||
case "ichor_bucket", "antiwater_bucket", "cloud_bucket" -> 16;
|
||||
|
||||
// 17 - Misc wearables / gadgets
|
||||
case "moggles", "brutalfly_elytra", "fallen_king_crown" -> 17;
|
||||
case "moggles", "brutalfly_elytra", "fallen_king_crown", "jumpy_boots" -> 17;
|
||||
|
||||
// 18 - Weapons
|
||||
case "battle_axe", "basilisk_dagger", "squidzooka", "shrink_ray", "growth_ray",
|
||||
@@ -415,7 +423,8 @@ public class AntarchyNeoforgeCreativeModeTabs {
|
||||
"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" -> 22;
|
||||
"primordial_scute", "triffid_goo", "vortex_eye",
|
||||
"king_scale", "queen_scale" -> 22;
|
||||
|
||||
// 23 - Arrows (reserved for future arrow types)
|
||||
|
||||
|
||||
+18
@@ -15,6 +15,7 @@ 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.HushProjectileEntity;
|
||||
import com.craisinlord.antarchy.content.entity.JumpyBugEntity;
|
||||
import com.craisinlord.antarchy.content.entity.MantisEntity;
|
||||
import com.craisinlord.antarchy.content.entity.MissileSquidEntity;
|
||||
import com.craisinlord.antarchy.content.entity.MolevoreEntity;
|
||||
@@ -40,6 +41,8 @@ import com.craisinlord.antarchy.content.entity.lucid.LucidBoltEntity;
|
||||
import com.craisinlord.antarchy.content.entity.lucid.LucidEntity;
|
||||
import com.craisinlord.antarchy.content.entity.lucid.LucidEyeProjectileEntity;
|
||||
import com.craisinlord.antarchy.content.entity.nightmare.NightmareEntity;
|
||||
import com.craisinlord.antarchy.content.entity.CreepingHorrorEntity;
|
||||
import com.craisinlord.antarchy.content.entity.LurkingTerrorEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ToreterrorEntity;
|
||||
import com.craisinlord.antarchy.content.entity.WaterBombEntity;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
@@ -117,6 +120,11 @@ public final class AntarchyNeoforgeEntites {
|
||||
.sized(0.55F, 0.75F)
|
||||
.clientTrackingRange(8)
|
||||
.build("bomber"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<JumpyBugEntity>> JUMPY_BUG = ENTITY_TYPES.register("jumpy_bug",
|
||||
() -> EntityType.Builder.of(JumpyBugEntity::new, MobCategory.MONSTER)
|
||||
.sized(3.0F, 3.0F)
|
||||
.clientTrackingRange(8)
|
||||
.build("jumpy_bug"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<SizeRayProjectileEntity>> SHRINK_RAY_PROJECTILE = ENTITY_TYPES.register("shrink_ray_projectile",
|
||||
() -> EntityType.Builder.<SizeRayProjectileEntity>of(SizeRayProjectileEntity::createShrink, MobCategory.MISC)
|
||||
.sized(0.5F, 0.5F)
|
||||
@@ -253,6 +261,16 @@ public final class AntarchyNeoforgeEntites {
|
||||
.clientTrackingRange(8)
|
||||
.updateInterval(1)
|
||||
.build("water_bomb"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<CreepingHorrorEntity>> CREEPING_HORROR = ENTITY_TYPES.register("creeping_horror",
|
||||
() -> EntityType.Builder.of(CreepingHorrorEntity::new, MobCategory.MONSTER)
|
||||
.sized(0.7F, 0.5F)
|
||||
.clientTrackingRange(10)
|
||||
.build("creeping_horror"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<LurkingTerrorEntity>> LURKING_TERROR = ENTITY_TYPES.register("lurking_terror",
|
||||
() -> EntityType.Builder.of(LurkingTerrorEntity::new, MobCategory.MONSTER)
|
||||
.sized(0.8F, 0.6F)
|
||||
.clientTrackingRange(10)
|
||||
.build("lurking_terror"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<UpwardFallingBlockEntity>> UPWARD_FALLING_BLOCK = ENTITY_TYPES.register("upward_falling_block",
|
||||
() -> EntityType.Builder.<UpwardFallingBlockEntity>of(
|
||||
UpwardFallingBlockEntity::new, MobCategory.MISC)
|
||||
|
||||
+5
@@ -2,6 +2,8 @@ package com.craisinlord.antarchy.neoforge.registry;
|
||||
|
||||
import com.craisinlord.antarchy.config.AntarchySettings;
|
||||
import com.craisinlord.antarchy.content.entity.*;
|
||||
import com.craisinlord.antarchy.content.entity.CreepingHorrorEntity;
|
||||
import com.craisinlord.antarchy.content.entity.LurkingTerrorEntity;
|
||||
import com.craisinlord.antarchy.content.entity.basilisk.BasiliskEntity;
|
||||
import com.craisinlord.antarchy.content.entity.brutalfly.BrutalflyEntity;
|
||||
import com.craisinlord.antarchy.content.entity.cloud_shark.CloudSharkEntity;
|
||||
@@ -46,6 +48,7 @@ public class AntarchyNeoforgeEntityAttributes {
|
||||
event.put(AntarchyNeoforgeEntites.BED_BUG.get(), BedBugEntity.createAttributes().build());
|
||||
event.put(AntarchyNeoforgeEntites.WASP.get(), WaspEntity.createAttributes().build());
|
||||
event.put(AntarchyNeoforgeEntites.BOMBER.get(), BomberEntity.createAttributes().build());
|
||||
event.put(AntarchyNeoforgeEntites.JUMPY_BUG.get(), JumpyBugEntity.createAttributes().build());
|
||||
event.put(AntarchyNeoforgeEntites.MANTIS.get(), MantisEntity.createAttributes().build());
|
||||
event.put(AntarchyNeoforgeEntites.TRIFFID.get(), TriffidEntity.createAttributes().build());
|
||||
event.put(AntarchyNeoforgeEntites.LUCID.get(), LucidEntity.createAttributes().build());
|
||||
@@ -53,6 +56,8 @@ public class AntarchyNeoforgeEntityAttributes {
|
||||
event.put(AntarchyNeoforgeEntites.BASILISK.get(), BasiliskEntity.createAttributes().build());
|
||||
event.put(AntarchyNeoforgeEntites.EMPEROR_SCORPION.get(), EmperorScorpionEntity.createAttributes().build());
|
||||
event.put(AntarchyNeoforgeEntites.TORETERROR.get(), ToreterrorEntity.createAttributes().build());
|
||||
event.put(AntarchyNeoforgeEntites.CREEPING_HORROR.get(), CreepingHorrorEntity.createAttributes().build());
|
||||
event.put(AntarchyNeoforgeEntites.LURKING_TERROR.get(), LurkingTerrorEntity.createAttributes().build());
|
||||
|
||||
AttributeSupplier redAntAttributes = buildAntAttributes(AntarchySettings.redAntHealth(), AntarchySettings.redAntMovementSpeed(), AntarchySettings.redAntAttackDamage()).build();
|
||||
AttributeSupplier brownAntAttributes = buildAntAttributes(AntarchySettings.brownAntHealth(), AntarchySettings.brownAntMovementSpeed(), AntarchySettings.brownAntAttackDamage()).build();
|
||||
|
||||
+36
-2
@@ -14,6 +14,7 @@ import com.craisinlord.antarchy.content.item.BloodCrystalShardItem;
|
||||
import com.craisinlord.antarchy.content.item.ultimate.*;
|
||||
import com.craisinlord.antarchy.content.item.NightmareArmorItem;
|
||||
import com.craisinlord.antarchy.content.item.PrimordialArmorItem;
|
||||
import com.craisinlord.antarchy.content.item.JumpyBootsItem;
|
||||
import com.craisinlord.antarchy.content.item.WaterCannonItem;
|
||||
import com.craisinlord.antarchy.content.item.NightmareSwordItem;
|
||||
import com.craisinlord.antarchy.content.item.LucidEyeItem;
|
||||
@@ -117,6 +118,16 @@ public final class AntarchyNeoforgeItems {
|
||||
3.0F,
|
||||
0.1F
|
||||
));
|
||||
private static final DeferredHolder<ArmorMaterial, ArmorMaterial> JUMPY_BOOTS_ARMOR_MATERIAL = ARMOR_MATERIALS.register("jumpy_boots",
|
||||
() -> new ArmorMaterial(
|
||||
createJumpyBootsDefense(),
|
||||
15,
|
||||
SoundEvents.ARMOR_EQUIP_NETHERITE,
|
||||
() -> Ingredient.of(Items.NETHERITE_BOOTS),
|
||||
List.of(new ArmorMaterial.Layer(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "jumpy_boots"))),
|
||||
3.0F,
|
||||
0.1F
|
||||
));
|
||||
private static final DeferredHolder<ArmorMaterial, ArmorMaterial> FALLEN_KING_CROWN_ARMOR_MATERIAL = ARMOR_MATERIALS.register("fallen_king_crown",
|
||||
() -> new ArmorMaterial(
|
||||
createFallenKingCrownDefense(),
|
||||
@@ -259,6 +270,8 @@ public final class AntarchyNeoforgeItems {
|
||||
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> BED_BUG_EGG_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.BED_BUG_EGG);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> CREEPING_HORROR_EGGS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.CREEPING_HORROR_EGGS);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> LURKING_TERROR_EGGS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.LURKING_TERROR_EGGS);
|
||||
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);
|
||||
public static final DeferredItem<BucketItem> ICHOR_BUCKET = ITEMS.register("ichor_bucket",
|
||||
@@ -294,8 +307,13 @@ public final class AntarchyNeoforgeItems {
|
||||
-2.2F
|
||||
));
|
||||
public static final DeferredItem<Item> MANTIS_CLAW = ITEMS.registerSimpleItem("mantis_claw", new Item.Properties().rarity(Rarity.UNCOMMON));
|
||||
public static final DeferredItem<Item> JUMPY_BUG_LEG = ITEMS.register("jumpy_bug_leg",
|
||||
() -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.UNCOMMON)));
|
||||
public static final DeferredItem<Item> KING_SCALE = ITEMS.register("king_scale",
|
||||
() -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.RARE)));
|
||||
public static final DeferredItem<Item> QUEEN_SCALE = ITEMS.register("queen_scale",
|
||||
() -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.RARE)));
|
||||
public static final DeferredItem<Item> JUMPY_BUG_LEG = ITEMS.registerSimpleItem("jumpy_bug_leg", new Item.Properties().rarity(Rarity.UNCOMMON));
|
||||
public static final DeferredItem<JumpyBootsItem> JUMPY_BOOTS = ITEMS.register("jumpy_boots",
|
||||
() -> new JumpyBootsItem(JUMPY_BOOTS_ARMOR_MATERIAL, new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON).fireResistant().durability(ArmorItem.Type.BOOTS.getDurability(37))));
|
||||
public static final DeferredItem<Item> BRUTALFLY_WING = ITEMS.registerSimpleItem("brutalfly_wing", new Item.Properties().rarity(Rarity.UNCOMMON));
|
||||
public static final DeferredItem<BrutalflyElytraItem> BRUTALFLY_ELYTRA = ITEMS.register("brutalfly_elytra",
|
||||
() -> new BrutalflyElytraItem(new Item.Properties().rarity(Rarity.UNCOMMON).durability(480)));
|
||||
@@ -495,6 +513,8 @@ public final class AntarchyNeoforgeItems {
|
||||
() -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.WASP, 0x111111, 0xF1D800, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> BOMBER_SPAWN_EGG = ITEMS.register("bomber_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.BOMBER, 0x7A7A7A, 0xB32020, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> JUMPY_BUG_SPAWN_EGG = ITEMS.register("jumpy_bug_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.JUMPY_BUG, 0x111111, 0xFF7A00, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> CLOUD_SHARK_SPAWN_EGG = ITEMS.register("cloud_shark_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.CLOUD_SHARK, 0xDDEAF4, 0x7F96A8, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> KRAKEN_SPAWN_EGG = ITEMS.register("kraken_spawn_egg",
|
||||
@@ -532,6 +552,10 @@ public final class AntarchyNeoforgeItems {
|
||||
() -> new PrimordialArmorItem(PRIMORDIAL_ARMOR_MATERIAL, ArmorItem.Type.BOOTS, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).fireResistant()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> TORETERROR_SPAWN_EGG = ITEMS.register("toreterror_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.TORETERROR, 0x90EE90, 0x5C4033, new Item.Properties().rarity(Rarity.EPIC)));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> CREEPING_HORROR_SPAWN_EGG = ITEMS.register("creeping_horror_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.CREEPING_HORROR, 0x6B3A1F, 0x6B0000, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> LURKING_TERROR_SPAWN_EGG = ITEMS.register("lurking_terror_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.LURKING_TERROR, 0x2D5A1B, 0x8B0000, new Item.Properties()));
|
||||
|
||||
private AntarchyNeoforgeItems() {}
|
||||
|
||||
@@ -632,4 +656,14 @@ public final class AntarchyNeoforgeItems {
|
||||
defense.put(ArmorItem.Type.BODY, 2);
|
||||
return defense;
|
||||
}
|
||||
|
||||
private static EnumMap<ArmorItem.Type, Integer> createJumpyBootsDefense() {
|
||||
EnumMap<ArmorItem.Type, Integer> defense = new EnumMap<>(ArmorItem.Type.class);
|
||||
defense.put(ArmorItem.Type.BOOTS, 3);
|
||||
defense.put(ArmorItem.Type.LEGGINGS, 0);
|
||||
defense.put(ArmorItem.Type.CHESTPLATE, 0);
|
||||
defense.put(ArmorItem.Type.HELMET, 0);
|
||||
defense.put(ArmorItem.Type.BODY, 0);
|
||||
return defense;
|
||||
}
|
||||
}
|
||||
+2
@@ -3,6 +3,7 @@ package com.craisinlord.antarchy.neoforge.registry;
|
||||
import com.craisinlord.antarchy.content.network.BloodCrystalKatanaTrailPayload;
|
||||
import com.craisinlord.antarchy.neoforge.network.AntarchyGravityNetworking;
|
||||
import com.craisinlord.antarchy.neoforge.network.BrutalflyElytraNetworking;
|
||||
import com.craisinlord.antarchy.neoforge.network.JumpyBootsNetworking;
|
||||
import com.craisinlord.antarchy.neoforge.network.MultipartNetworking;
|
||||
import net.neoforged.bus.api.IEventBus;
|
||||
import net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent;
|
||||
@@ -18,6 +19,7 @@ public class AntarchyNeoforgePayloadHandlers {
|
||||
var registrar = event.registrar("1");
|
||||
AntarchyGravityNetworking.register(registrar);
|
||||
BrutalflyElytraNetworking.register(registrar);
|
||||
JumpyBootsNetworking.register(registrar);
|
||||
registrar.playToClient(
|
||||
com.craisinlord.antarchy.content.network.BloodglassStatePayload.TYPE,
|
||||
com.craisinlord.antarchy.content.network.BloodglassStatePayload.STREAM_CODEC,
|
||||
|
||||
+1
@@ -33,6 +33,7 @@ public class AntarchyNeoforgeSpawnPlacements {
|
||||
event.register(AntarchyNeoforgeEntites.CLOUD_SHARK.get(), SpawnPlacementTypes.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, CloudSharkEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
|
||||
event.register(AntarchyNeoforgeEntites.WASP.get(), SpawnPlacementTypes.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, WaspEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
|
||||
event.register(AntarchyNeoforgeEntites.BOMBER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BomberEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
|
||||
event.register(AntarchyNeoforgeEntites.JUMPY_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, JumpyBugEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
|
||||
event.register(AntarchyNeoforgeEntites.KRAKEN.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, KrakenEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
|
||||
event.register(AntarchyNeoforgeEntites.MISSILE_SQUID.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MissileSquidEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
|
||||
event.register(AntarchyNeoforgeEntites.NIGHTMARE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, NightmareEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
|
||||
|
||||
Reference in new issue
Block a user