Hercules beetle assets, dorrie, cheep, start of toreterror sounds, etc
This commit is contained in:
1 parent
eb70e23b57
commit
cc87361ba9
98 files changed
+11154
-198
No files matched your search
@@ -264,6 +264,7 @@ public final class AntarchyFabricContent {
|
||||
private static final DeferredRegister<Potion> POTIONS = DeferredRegister.create(Registries.POTION, Antarchy.MODID);
|
||||
private static final DeferredRegister<SoundEvent> SOUND_EVENTS = DeferredRegister.create(Registries.SOUND_EVENT, Antarchy.MODID);
|
||||
private static final DeferredRegister<Fluid> FLUIDS = DeferredRegister.create(Registries.FLUID, Antarchy.MODID);
|
||||
private static final DeferredRegister<net.minecraft.world.inventory.MenuType<?>> MENUS = DeferredRegister.create(Registries.MENU, Antarchy.MODID);
|
||||
private static final Tier ULTIMATE_TIER = new SimpleToolTier(
|
||||
3072,
|
||||
10.5F,
|
||||
@@ -1808,6 +1809,26 @@ public final class AntarchyFabricContent {
|
||||
() -> new DeferredSpawnEggItem(CREEPING_HORROR, 0x6B3A1F, 0x6B0000, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> LURKING_TERROR_SPAWN_EGG = ITEMS.register("lurking_terror_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(LURKING_TERROR, 0x2D5A1B, 0x8B0000, new Item.Properties()));
|
||||
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<com.craisinlord.antarchy.content.entity.CheepEntity>> CHEEP = ENTITY_TYPES.register("cheep",
|
||||
() -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.CheepEntity::new, MobCategory.WATER_CREATURE)
|
||||
.sized(1.0F, 1.2F)
|
||||
.clientTrackingRange(8)
|
||||
.build("cheep"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<com.craisinlord.antarchy.content.entity.DorrieEntity>> DORRIE = ENTITY_TYPES.register("dorrie",
|
||||
() -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.DorrieEntity::new, MobCategory.WATER_CREATURE)
|
||||
.sized(2.4F, 2.0F)
|
||||
.clientTrackingRange(10)
|
||||
.build("dorrie"));
|
||||
public static final DeferredItem<Item> CHEEP_ITEM = ITEMS.register("cheep",
|
||||
() -> new Item(new Item.Properties().food(new FoodProperties.Builder().nutrition(2).saturationModifier(0.2F).build())));
|
||||
public static final DeferredItem<com.craisinlord.antarchy.content.item.CheepOnAStickItem> CHEEP_ON_A_STICK = ITEMS.register("cheep_on_a_stick",
|
||||
() -> new com.craisinlord.antarchy.content.item.CheepOnAStickItem(new Item.Properties().stacksTo(1).durability(25)));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> CHEEP_SPAWN_EGG = ITEMS.register("cheep_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(CHEEP, 0xFF00AA, 0x00FF44, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> DORRIE_SPAWN_EGG = ITEMS.register("dorrie_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(DORRIE, 0x1B91B3, 0xC0E8FF, new Item.Properties()));
|
||||
|
||||
public static final DeferredHolder<CreativeModeTab, CreativeModeTab> ANTARCHY_TAB = CREATIVE_MODE_TABS.register("antarchy",
|
||||
() -> CreativeModeTab.builder(CreativeModeTab.Row.TOP, 0)
|
||||
.title(net.minecraft.network.chat.Component.translatable("itemGroup.antarchy.antarchy"))
|
||||
@@ -1894,6 +1915,8 @@ public final class AntarchyFabricContent {
|
||||
FabricDefaultAttributeRegistry.register(TORETERROR.get(), ToreterrorEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(CREEPING_HORROR.get(), CreepingHorrorEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(LURKING_TERROR.get(), LurkingTerrorEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(CHEEP.get(), com.craisinlord.antarchy.content.entity.CheepEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(DORRIE.get(), com.craisinlord.antarchy.content.entity.DorrieEntity.createAttributes().build());
|
||||
|
||||
FabricDefaultAttributeRegistry.register(RED_ANT.get(), buildAntAttributes(
|
||||
AntarchySettings.redAntHealth(),
|
||||
@@ -2048,6 +2071,8 @@ public final class AntarchyFabricContent {
|
||||
"basilisk_spawn_egg", "emperor_scorpion_spawn_egg", "toreterror_spawn_egg",
|
||||
"creeping_horror_spawn_egg", "lurking_terror_spawn_egg" -> 90;
|
||||
case "stink_bug", "chiten" -> 22;
|
||||
case "cheep" -> 21;
|
||||
case "cheep_on_a_stick" -> 52;
|
||||
case "water_cannon" -> 52;
|
||||
case "primordial_helmet", "primordial_chestplate", "primordial_leggings", "primordial_boots" -> 53;
|
||||
case "jumpy_boots" -> 54;
|
||||
@@ -2329,8 +2354,12 @@ public final class AntarchyFabricContent {
|
||||
MOB_EFFECTS.register();
|
||||
POTIONS.register();
|
||||
ITEMS.register();
|
||||
MENUS.register();
|
||||
CREATIVE_MODE_TABS.register();
|
||||
|
||||
// Wire common-module accessors after all registrations are complete.
|
||||
AntarchyObjects.CHEEP_ITEM = () -> CHEEP_ITEM.get();
|
||||
|
||||
AntarchySoundEvents.bind(
|
||||
SQUIDZOOKA_FIRE,
|
||||
SHRINK_RAY_SOUND,
|
||||
@@ -2480,6 +2509,8 @@ public final class AntarchyFabricContent {
|
||||
CREEPING_HORROR,
|
||||
LURKING_TERROR,
|
||||
STINK_BUG,
|
||||
CHEEP,
|
||||
DORRIE,
|
||||
() -> DUPLICATOR_LOG.get(),
|
||||
() -> DUPLICATOR_SAPLING.get(),
|
||||
() -> DUCT_TAPE.get(),
|
||||
|
||||
+8
@@ -49,6 +49,10 @@ public final class AntarchyFabricClientBootstrap {
|
||||
|
||||
public static void register() {
|
||||
AntarchyKeyBindings.register();
|
||||
net.minecraft.client.gui.screens.MenuScreens.register(
|
||||
com.craisinlord.antarchy.fabric.AntarchyFabricContent.DORRIE_MENU.get(),
|
||||
com.craisinlord.antarchy.content.client.screen.DorrieScreen::new
|
||||
);
|
||||
registerRenderers();
|
||||
registerEntityLayers();
|
||||
registerColors();
|
||||
@@ -113,6 +117,8 @@ public final class AntarchyFabricClientBootstrap {
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.WATER_BOMB.get(), WaterBombRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.CREEPING_HORROR.get(), CreepingHorrorRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.LURKING_TERROR.get(), LurkingTerrorRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.CHEEP.get(), com.craisinlord.antarchy.content.client.renderer.CheepRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.DORRIE.get(), com.craisinlord.antarchy.content.client.renderer.DorrieRenderer::new);
|
||||
|
||||
EntityModelLayerRegistry.registerModelLayer(OuranwoodBoatRenderer.boatLayer(), BoatModel::createBodyModel);
|
||||
EntityModelLayerRegistry.registerModelLayer(OuranwoodBoatRenderer.chestBoatLayer(), ChestBoatModel::createBodyModel);
|
||||
@@ -325,6 +331,7 @@ public final class AntarchyFabricClientBootstrap {
|
||||
DreadClientHandler.tick();
|
||||
BloodCrystalKatanaTrailHandler.tick();
|
||||
ScorpionWhipTetherRenderHandler.tick();
|
||||
DorrieJumpClientHandler.tick();
|
||||
});
|
||||
|
||||
GravityGunClientHandler.register();
|
||||
@@ -342,6 +349,7 @@ public final class AntarchyFabricClientBootstrap {
|
||||
JumpyBootsHudRenderer.render(guiGraphics);
|
||||
BloodglassHudRenderer.render(guiGraphics);
|
||||
TriffidGooHudRenderer.render(guiGraphics);
|
||||
DorrieJumpHudRenderer.render(guiGraphics);
|
||||
});
|
||||
|
||||
WorldRenderEvents.AFTER_TRANSLUCENT.register(context -> {
|
||||
|
||||
@@ -17,13 +17,25 @@ public final class AntarchyKeyBindings {
|
||||
CATEGORY
|
||||
);
|
||||
|
||||
public static final KeyMapping DORRIE_CHARGE_JUMP = new KeyMapping(
|
||||
"key.antarchy.dorrie_charge_jump",
|
||||
InputConstants.Type.KEYSYM,
|
||||
GLFW.GLFW_KEY_LEFT_CONTROL,
|
||||
CATEGORY
|
||||
);
|
||||
|
||||
private AntarchyKeyBindings() {}
|
||||
|
||||
public static void register() {
|
||||
KeyBindingHelper.registerKeyBinding(BRUTALFLY_FLAP);
|
||||
KeyBindingHelper.registerKeyBinding(DORRIE_CHARGE_JUMP);
|
||||
}
|
||||
|
||||
public static boolean isBrutalflyFlapPressed() {
|
||||
return Minecraft.getInstance().screen == null && BRUTALFLY_FLAP.isDown();
|
||||
}
|
||||
|
||||
public static boolean isDorrieChargeJumpPressed() {
|
||||
return Minecraft.getInstance().screen == null && DORRIE_CHARGE_JUMP.isDown();
|
||||
}
|
||||
}
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
package com.craisinlord.antarchy.fabric.client;
|
||||
|
||||
import com.craisinlord.antarchy.content.entity.DorrieEntity;
|
||||
import com.craisinlord.antarchy.content.network.DorrieChargeJumpPayload;
|
||||
import com.craisinlord.antarchy.content.network.DorrieJumpInputPayload;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
|
||||
public final class DorrieJumpClientHandler {
|
||||
private static boolean wasPressingJump = false;
|
||||
private static boolean wasPressingCharge = false;
|
||||
|
||||
private DorrieJumpClientHandler() {}
|
||||
|
||||
public static void tick() {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
LocalPlayer player = mc.player;
|
||||
|
||||
if (player == null || mc.screen != null) {
|
||||
resetAll();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(player.getVehicle() instanceof DorrieEntity)) {
|
||||
resetAll();
|
||||
return;
|
||||
}
|
||||
|
||||
// Space bar → upward movement.
|
||||
boolean pressingJump = mc.options.keyJump.isDown();
|
||||
if (pressingJump != wasPressingJump) {
|
||||
ClientPlayNetworking.send(new DorrieJumpInputPayload(pressingJump));
|
||||
wasPressingJump = pressingJump;
|
||||
}
|
||||
|
||||
// Left ctrl → charge jump.
|
||||
boolean pressingCharge = AntarchyKeyBindings.isDorrieChargeJumpPressed();
|
||||
if (pressingCharge != wasPressingCharge) {
|
||||
ClientPlayNetworking.send(new DorrieChargeJumpPayload(pressingCharge));
|
||||
wasPressingCharge = pressingCharge;
|
||||
}
|
||||
}
|
||||
|
||||
private static void resetAll() {
|
||||
if (wasPressingJump) {
|
||||
ClientPlayNetworking.send(new DorrieJumpInputPayload(false));
|
||||
wasPressingJump = false;
|
||||
}
|
||||
if (wasPressingCharge) {
|
||||
ClientPlayNetworking.send(new DorrieChargeJumpPayload(false));
|
||||
wasPressingCharge = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
package com.craisinlord.antarchy.fabric.client;
|
||||
|
||||
import com.craisinlord.antarchy.content.entity.DorrieEntity;
|
||||
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 DorrieJumpHudRenderer {
|
||||
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 DorrieJumpHudRenderer() {}
|
||||
|
||||
public static void render(GuiGraphics guiGraphics) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
Player player = mc.player;
|
||||
if (player == null || mc.screen != null || player.isDeadOrDying()) return;
|
||||
|
||||
if (!(player.getVehicle() instanceof DorrieEntity dorrie)) return;
|
||||
|
||||
int charge = dorrie.getJumpCharge();
|
||||
if (charge <= 0) 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);
|
||||
|
||||
float chargeRatio = Mth.clamp(charge / 100.0F, 0.0F, 1.0F);
|
||||
int filledWidth = Mth.clamp((int) (chargeRatio * BAR_WIDTH), 0, BAR_WIDTH);
|
||||
if (filledWidth > 0) {
|
||||
guiGraphics.setColor(0.2F, 0.8F, 1.0F, 0.4F + chargeRatio * 0.6F);
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -36,7 +36,7 @@ public abstract class ToreterrorCameraShakeMixin {
|
||||
)) {
|
||||
double distance = Math.sqrt(cameraPos.distanceToSqr(toreterror.position().add(0, toreterror.getBbHeight() * 0.5, 0)));
|
||||
if (distance > MAX_SHAKE_RANGE) continue;
|
||||
shakeStrength += (float) ((1.0D - distance / MAX_SHAKE_RANGE) * 2.0F);
|
||||
shakeStrength += (float) ((1.0D - distance / MAX_SHAKE_RANGE) * 1.0F);
|
||||
}
|
||||
|
||||
if (BigBerthaItem.clientShakeTicks > 0) {
|
||||
|
||||
+22
@@ -12,6 +12,8 @@ import com.craisinlord.antarchy.fabric.util.JumpyBootsFabricHelper;
|
||||
import com.craisinlord.antarchy.content.item.JumpyBootsItem;
|
||||
import com.craisinlord.antarchy.content.item.GravityGunItem;
|
||||
import com.craisinlord.antarchy.content.network.*;
|
||||
import com.craisinlord.antarchy.content.entity.DorrieEntity;
|
||||
import com.craisinlord.antarchy.content.network.DorrieJumpInputPayload;
|
||||
import com.craisinlord.antarchy.content.network.JumpyBootsLaunchPayload;
|
||||
import com.craisinlord.antarchy.content.weather.ThoraxisWeatherSnapshot;
|
||||
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
|
||||
@@ -51,6 +53,8 @@ public final class AntarchyFabricNetworking {
|
||||
PayloadTypeRegistry.playC2S().register(DiamondMinecartInputPayload.TYPE, DiamondMinecartInputPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(BrutalflyElytraFlapPayload.TYPE, BrutalflyElytraFlapPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(JumpyBootsLaunchPayload.TYPE, JumpyBootsLaunchPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(DorrieJumpInputPayload.TYPE, DorrieJumpInputPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(com.craisinlord.antarchy.content.network.DorrieChargeJumpPayload.TYPE, com.craisinlord.antarchy.content.network.DorrieChargeJumpPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(MultipartAttackPayload.TYPE, MultipartAttackPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(MultipartInteractPayload.TYPE, MultipartInteractPayload.STREAM_CODEC);
|
||||
}
|
||||
@@ -66,6 +70,10 @@ public final class AntarchyFabricNetworking {
|
||||
context.server().execute(() -> handleBrutalflyFlap(context.player(), payload)));
|
||||
ServerPlayNetworking.registerGlobalReceiver(JumpyBootsLaunchPayload.TYPE, (payload, context) ->
|
||||
context.server().execute(() -> handleJumpyBootsLaunch(context.player(), payload)));
|
||||
ServerPlayNetworking.registerGlobalReceiver(DorrieJumpInputPayload.TYPE, (payload, context) ->
|
||||
context.server().execute(() -> handleDorrieJumpInput(context.player(), payload)));
|
||||
ServerPlayNetworking.registerGlobalReceiver(com.craisinlord.antarchy.content.network.DorrieChargeJumpPayload.TYPE, (payload, context) ->
|
||||
context.server().execute(() -> handleDorrieChargeJumpInput(context.player(), payload)));
|
||||
ServerPlayNetworking.registerGlobalReceiver(MultipartAttackPayload.TYPE, (payload, context) ->
|
||||
context.server().execute(() -> handleMultipartAttack(context.player(), payload)));
|
||||
ServerPlayNetworking.registerGlobalReceiver(MultipartInteractPayload.TYPE, (payload, context) ->
|
||||
@@ -306,4 +314,18 @@ public final class AntarchyFabricNetworking {
|
||||
|
||||
player.getCooldowns().addCooldown(boots.getItem(), JumpyBootsHelper.COOLDOWN_TICKS);
|
||||
}
|
||||
|
||||
private static void handleDorrieJumpInput(ServerPlayer player, DorrieJumpInputPayload payload) {
|
||||
if (!(player.getVehicle() instanceof DorrieEntity dorrie)) return;
|
||||
dorrie.setPressingJump(payload.pressing());
|
||||
}
|
||||
|
||||
private static void handleDorrieChargeJumpInput(ServerPlayer player, com.craisinlord.antarchy.content.network.DorrieChargeJumpPayload payload) {
|
||||
if (!(player.getVehicle() instanceof DorrieEntity dorrie)) return;
|
||||
if (payload.pressing()) {
|
||||
dorrie.startJumpCharge();
|
||||
} else {
|
||||
dorrie.releaseJump();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user