Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
efbab8a
Update default spawn biome tags from the forge namespace to c for 1.21.1
digi2303 Aug 5, 2026
a3074c9
Fix crash when reading the Power Down effect for star brightness
digi2303 Aug 5, 2026
9a509a1
Set up inventory lighting before drawing entities on screen
digi2303 Aug 5, 2026
75dcca1
Restore jump detection for the Flying Fish Boots boost
digi2303 Aug 5, 2026
50c8483
Fix Mungus failing to transform the biome of a chunk
digi2303 Aug 5, 2026
67227ae
Call super in EntityKangaroo onAddedToLevel
digi2303 Aug 5, 2026
1833ba6
Fix mobs no longer being immune to fall damage on 1.21.1
digi2303 Aug 5, 2026
1c4d79b
Fix custom melee attack goals never running on 1.21.1
digi2303 Aug 5, 2026
7cf2b42
Fix straddleboard riders being positioned too low
digi2303 Aug 5, 2026
51acc39
Fix spawn initialization never running for orca, platypus, seal and v…
digi2303 Aug 5, 2026
0641e43
Correctly restrict skelewags spawned at structures
digi2303 Aug 5, 2026
f523739
Fix void worm dropping its loot twice on death
digi2303 Aug 5, 2026
9861c46
Fix void worm leash override no longer applying
digi2303 Aug 5, 2026
b34f9c9
Fix experience reward overrides not applying to void worm and murmur …
digi2303 Aug 5, 2026
9f90a81
Fix fullbright rendering override no longer applying to spectre, sunb…
digi2303 Aug 5, 2026
1c3be31
Fix rain frog walk animation override no longer applying
digi2303 Aug 5, 2026
6e38e30
Fix oversized block entity renders being culled from view
digi2303 Aug 5, 2026
b15d425
Fix straddlers and stradpoles no longer being able to stand on lava
digi2303 Aug 5, 2026
30ed338
Fix custom fuel items not burning in a furnace
digi2303 Aug 5, 2026
7e9b97a
Fix Fleet Footed speed bonus never being removed when the effect ends
digi2303 Aug 5, 2026
a919732
Fix mimicream repair not returning remaining items
digi2303 Aug 5, 2026
325ea99
Fix hummingbird feeder no longer blocking pathfinding
digi2303 Aug 5, 2026
8d3a258
Fix end pirate flag particles not spawning
digi2303 Aug 5, 2026
7b8ece3
Fix ender residue returning a pick block result
digi2303 Aug 5, 2026
d6569f1
Fix leash overrides no longer applying to bone serpent and centipede
digi2303 Aug 5, 2026
97ebf0e
Fix caiman walk animation override no longer applying
digi2303 Aug 5, 2026
82b8f99
Fix special armor attributes not applying on 1.21.1
digi2303 Aug 5, 2026
531163a
Declare the required Citadel dependency
digi2303 Aug 5, 2026
1457e8a
Register the global loot modifiers so mob drops apply
digi2303 Aug 5, 2026
9f83a5a
Add the missing structure modifier for structure spawns
digi2303 Aug 5, 2026
1be6dc1
Remove access transformer entries that no longer resolve on 1.21.1
digi2303 Aug 5, 2026
abd5221
Fix tossed items losing their owner on save
digi2303 Aug 5, 2026
cf8acb6
Restore the spawn packet guard on multipart entities
digi2303 Aug 5, 2026
39d78c1
Define the straddleboard eye height on its entity type
digi2303 Aug 5, 2026
abbfc22
Fix biome visual refresh using the wrong region corners
digi2303 Aug 5, 2026
40b0fbd
Resolve Citadel from Curse Maven instead of a local jar path
digi2303 Aug 5, 2026
9ee95a0
Fix seal reward loot table failing to parse on 1.21
digi2303 Aug 5, 2026
58b02a8
Give the seal reward loot table a location context
digi2303 Aug 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@ neoForge {
sourceSets.main.resources { srcDir 'src/generated/resources' }

dependencies {
// Citadel dependency - use local Citadel jar from sibling project
implementation files('../Citadel/build/libs/citadel-1.21.1-2.7.0.jar')
// Citadel dependency - resolved from Curse Maven
implementation "curse.maven:citadel-331936:${citadel_file_id}"

// JEI for 1.21.1 (optional, for recipe viewing)
compileOnly "mezz.jei:jei-${minecraft_version}-common-api:${jei_version}"
Expand Down
3 changes: 3 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,6 @@ mod_description=New, original, engaging, and aesthetic mobs for Minecraft.

# JEI (for 1.21.1)
jei_version=19.21.0.247

# Citadel (CurseForge project 331936) - 1.21.1 build
citadel_file_id=7476597
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,7 @@ public void onEntityStatus(Entity entity, byte updateKind) {
}

public void updateBiomeVisuals(int x, int z) {
Minecraft.getInstance().levelRenderer.setBlocksDirty(x - 32, 0, x - 32, z + 32, 255, z + 32);
Minecraft.getInstance().levelRenderer.setBlocksDirty(x - 32, 0, z - 32, x + 32, 255, z + 32);
}

public static void setupParticles(RegisterParticleProvidersEvent registry) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.util.RandomSource;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.Level;
Expand All @@ -23,7 +24,6 @@
import net.minecraft.world.phys.shapes.VoxelShape;

import javax.annotation.Nullable;
import java.util.Random;

public class BlockEndPirateFlag extends BaseEntityBlock {
public static final MapCodec<BlockEndPirateFlag> CODEC = simpleCodec(p -> new BlockEndPirateFlag());
Expand Down Expand Up @@ -84,7 +84,7 @@ public <T extends BlockEntity> BlockEntityTicker<T> getTicker(Level p_152180_, B
return createTickerHelper(p_152182_, AMTileEntityRegistry.END_PIRATE_FLAG.get(), TileEntityEndPirateFlag::commonTick);
}

public void animateTick(BlockState p_53094_, Level p_53095_, BlockPos p_53096_, Random p_53097_) {
public void animateTick(BlockState p_53094_, Level p_53095_, BlockPos p_53096_, RandomSource p_53097_) {
if (p_53097_.nextInt(5) == 0) {
final double d0 = (double)p_53096_.getX() + 0.55D - (double)(p_53097_.nextFloat() * 0.1F);
final double d1 = (double)p_53096_.getY() + 0.55D - (double)(p_53097_.nextFloat() * 0.1F);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
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.SoundType;
Expand Down Expand Up @@ -86,7 +87,7 @@ protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockSt
p_53586_.add(AGE, SLOW_DECAY);
}

public ItemStack getCloneItemStack(BlockGetter p_53570_, BlockPos p_53571_, BlockState p_53572_) {
public ItemStack getCloneItemStack(LevelReader p_53570_, BlockPos p_53571_, BlockState p_53572_) {
return ItemStack.EMPTY;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ public FluidState getFluidState(BlockState state) {
return state.getValue(WATERLOGGED) ? Fluids.WATER.getSource(false) : super.getFluidState(state);
}

public boolean isPathfindable(BlockState state, BlockGetter worldIn, BlockPos pos, PathComputationType type) {
public boolean isPathfindable(BlockState state, PathComputationType type) {
return false;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ public void onGetStarBrightness(EventGetStarBrightness event) {
if (Minecraft.getInstance().player.hasEffect(AMEffectRegistry.POWER_DOWN)) {
if (Minecraft.getInstance().player.getEffect(AMEffectRegistry.POWER_DOWN) != null) {
MobEffectInstance instance = Minecraft.getInstance().player.getEffect(AMEffectRegistry.POWER_DOWN);
EffectPowerDown powerDown = (EffectPowerDown) instance.getEffect();
EffectPowerDown powerDown = (EffectPowerDown) instance.getEffect().value();
int duration = instance.getDuration();
float partialTicks = Minecraft.getInstance().getTimer().getGameTimeDeltaPartialTick(false);
float f = (Math.min(powerDown.getActiveTime(), duration) + partialTicks) * 0.1F;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ public static void drawEntityOnScreen(PoseStack matrixstack, int posX, int posY,
matrixstack.mulPose(Axis.XP.rotationDegrees((float) (-xRot)));
matrixstack.mulPose(Axis.YP.rotationDegrees((float) yRot));
matrixstack.mulPose(Axis.ZP.rotationDegrees((float) zRot));
Lighting.setupForEntityInInventory();
EntityRenderDispatcher entityrenderdispatcher = Minecraft.getInstance().getEntityRenderDispatcher();
quaternion1.conjugate();
entityrenderdispatcher.overrideCameraOrientation(quaternion1);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.phys.AABB;
import org.joml.Quaternionf;

import java.util.Random;
Expand All @@ -38,6 +39,11 @@ protected int getModelCount(ItemStack stack) {
return i;
}

@Override
public AABB getRenderBoundingBox(T blockEntity) {
return blockEntity.getRenderBoundingBox();
}

@Override
public void render(T entity, float partialTicks, PoseStack matrixStackIn, MultiBufferSource bufferIn, int combinedLightIn, int combinedOverlayIn) {
ItemStack stack = entity.getItem(0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider.Context;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.phys.AABB;

public class RenderEndPirateAnchor<T extends TileEntityEndPirateAnchor> implements BlockEntityRenderer<T> {

Expand All @@ -22,6 +23,11 @@ public class RenderEndPirateAnchor<T extends TileEntityEndPirateAnchor> implemen
public RenderEndPirateAnchor(Context rendererDispatcherIn) {
}

@Override
public AABB getRenderBoundingBox(T blockEntity) {
return blockEntity.getRenderBoundingBox();
}

@Override
public void render(T tileEntityIn, float partialTicks, PoseStack matrixStackIn, MultiBufferSource bufferIn,
int combinedLightIn, int combinedOverlayIn) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider.Context;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.phys.AABB;

public class RenderEndPirateAnchorWinch<T extends TileEntityEndPirateAnchorWinch> implements BlockEntityRenderer<T> {

Expand All @@ -24,6 +25,11 @@ public class RenderEndPirateAnchorWinch<T extends TileEntityEndPirateAnchorWinch
public RenderEndPirateAnchorWinch(Context rendererDispatcherIn) {
}

@Override
public AABB getRenderBoundingBox(T blockEntity) {
return blockEntity.getRenderBoundingBox();
}

@Override
public void render(T tileEntityIn, float partialTicks, PoseStack matrixStackIn, MultiBufferSource bufferIn,
int combinedLightIn, int combinedOverlayIn) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import net.minecraft.core.Direction;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.block.state.properties.DoorHingeSide;
import net.minecraft.world.phys.AABB;

public class RenderEndPirateDoor<T extends TileEntityEndPirateDoor> implements BlockEntityRenderer<T> {

Expand All @@ -22,6 +23,11 @@ public class RenderEndPirateDoor<T extends TileEntityEndPirateDoor> implements B
public RenderEndPirateDoor(Context rendererDispatcherIn) {
}

@Override
public AABB getRenderBoundingBox(T blockEntity) {
return blockEntity.getRenderBoundingBox();
}

@Override
public void render(T tileEntityIn, float partialTicks, PoseStack matrixStackIn, MultiBufferSource bufferIn,
int combinedLightIn, int combinedOverlayIn) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider.Context;
import net.minecraft.core.Direction;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.phys.AABB;

public class RenderEndPirateFlag<T extends TileEntityEndPirateFlag> implements BlockEntityRenderer<T> {

Expand All @@ -21,6 +22,11 @@ public class RenderEndPirateFlag<T extends TileEntityEndPirateFlag> implements B
public RenderEndPirateFlag(Context rendererDispatcherIn) {
}

@Override
public AABB getRenderBoundingBox(T blockEntity) {
return blockEntity.getRenderBoundingBox();
}

@Override
public void render(T tileEntityIn, float partialTicks, PoseStack matrixStackIn, MultiBufferSource bufferIn,
int combinedLightIn, int combinedOverlayIn) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider.Context;
import net.minecraft.core.Direction;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.phys.AABB;

public class RenderEndPirateShipWheel<T extends TileEntityEndPirateShipWheel> implements BlockEntityRenderer<T> {

Expand All @@ -23,6 +24,11 @@ public class RenderEndPirateShipWheel<T extends TileEntityEndPirateShipWheel> im
public RenderEndPirateShipWheel(Context rendererDispatcherIn) {
}

@Override
public AABB getRenderBoundingBox(T blockEntity) {
return blockEntity.getRenderBoundingBox();
}

@Override
public void render(T tileEntityIn, float partialTicks, PoseStack matrixStackIn, MultiBufferSource bufferIn,
int combinedLightIn, int combinedOverlayIn) {
Expand Down
Loading