Skip to content

Commit 0e799bb

Browse files
committed
24e18a
1 parent 76b8764 commit 0e799bb

7 files changed

+18
-15
lines changed

gradle.properties

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ org.gradle.jvmargs=-Xmx1G
33

44
# Fabric Properties
55
# check https://fabricmc.net/develop/
6-
minecraft_version=1.20.6
7-
loader_version=0.15.10
6+
minecraft_version=24w18a
7+
loader_version=0.15.11
88
jsr305_version=3.0.2
99
fabric_version=0.97.8+1.20.6
1010

@@ -17,7 +17,7 @@ org.gradle.jvmargs=-Xmx1G
1717
# The Curseforge versions "names" or ids for the main branch (comma separated: 1.16.4,1.16.5)
1818
# This is needed because CF uses too vague names for prereleases and release candidates
1919
# Can also be the version ID directly coming from https://minecraft.curseforge.com/api/game/versions?token=[API_TOKEN]
20-
release-curse-versions = Minecraft 1.20:1.20.6
20+
release-curse-versions = Minecraft 1.21:1.21-Snapshot
2121
# Whether or not to build another branch on release
2222
release-extra-branch = false
2323
# The name of the second branch to release

src/main/java/carpet/helpers/OptimizedExplosion.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
import net.minecraft.util.Mth;
1717
import net.minecraft.world.entity.Entity;
1818
import net.minecraft.world.entity.LivingEntity;
19+
import net.minecraft.world.entity.ai.attributes.Attributes;
1920
import net.minecraft.world.entity.item.ItemEntity;
2021
import net.minecraft.world.entity.item.PrimedTnt;
2122
import net.minecraft.world.entity.player.Player;
2223
import net.minecraft.world.item.ItemStack;
23-
import net.minecraft.world.item.enchantment.ProtectionEnchantment;
2424
import net.minecraft.world.level.Explosion;
2525
import net.minecraft.world.level.Level;
2626
import net.minecraft.world.level.block.Block;
@@ -172,8 +172,8 @@ public static void doExplosionA(Explosion e, ExplosionLogHelper eLogger) {
172172
}
173173
double d11 = d10;
174174

175-
if (entity instanceof LivingEntity) {
176-
d11 = ProtectionEnchantment.getExplosionKnockbackAfterDampener((LivingEntity) entity, d10);
175+
if (entity instanceof LivingEntity lev) {
176+
d11 = d10 * Mth.clamp(1.0 - lev.getAttributeValue(Attributes.EXPLOSION_KNOCKBACK_RESISTANCE), 0.0, 1.0);
177177
}
178178

179179
if (eLogger != null) {

src/main/java/carpet/mixins/AbstractArrowMixin.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ public abstract class AbstractArrowMixin extends Entity
2020
private TrajectoryLogHelper logHelper;
2121
public AbstractArrowMixin(EntityType<?> entityType_1, Level world_1) { super(entityType_1, world_1); }
2222

23-
@Inject(method = "<init>(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/level/Level;Lnet/minecraft/world/item/ItemStack;)V", at = @At("RETURN"))
24-
private void addLogger(final EntityType entityType, final Level level, final ItemStack itemStack, final CallbackInfo ci)
23+
@Inject(method = "<init>(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/level/Level;Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/item/ItemStack;)V", at = @At("RETURN"))
24+
private void addLogger(final EntityType entityType, final Level level, final ItemStack itemStack, final ItemStack weapon, final CallbackInfo ci)
2525
{
2626
if (LoggerRegistry.__projectiles && !level.isClientSide)
2727
logHelper = new TrajectoryLogHelper("projectiles");

src/main/java/carpet/mixins/BuddingAmethystBlock_movableAmethystMixin.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import carpet.CarpetSettings;
44
import net.minecraft.core.BlockPos;
5+
import net.minecraft.core.registries.Registries;
56
import net.minecraft.world.entity.player.Player;
67
import net.minecraft.world.item.ItemStack;
78
import net.minecraft.world.item.Items;
@@ -33,7 +34,7 @@ public void playerDestroy(Level world, Player player, BlockPos pos, BlockState s
3334
// drawback - not controlled via loottables, but hey
3435
if (CarpetSettings.movableAmethyst &&
3536
stack.getItem() instanceof PickaxeItem &&
36-
EnchantmentHelper.getItemEnchantmentLevel(Enchantments.SILK_TOUCH, stack) > 0
37+
EnchantmentHelper.getItemEnchantmentLevel(world.registryAccess().registryOrThrow(Registries.ENCHANTMENT).getHolderOrThrow(Enchantments.SILK_TOUCH), stack) > 0
3738
)
3839
popResource(world, pos, Items.BUDDING_AMETHYST.getDefaultInstance());
3940
}

src/main/java/carpet/mixins/ExperienceOrb_xpNoCooldownMixin.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package carpet.mixins;
22

33
import carpet.CarpetSettings;
4+
import net.minecraft.server.level.ServerPlayer;
45
import net.minecraft.world.entity.Entity;
56
import net.minecraft.world.entity.EntityType;
67
import net.minecraft.world.entity.ExperienceOrb;
@@ -27,15 +28,15 @@ public ExperienceOrb_xpNoCooldownMixin(EntityType<?> type, Level world)
2728
}
2829

2930
@Shadow
30-
protected abstract int repairPlayerItems(Player player, int amount);
31+
protected abstract int repairPlayerItems(ServerPlayer player, int amount);
3132

3233
@Inject(method = "playerTouch", at = @At("HEAD"))
3334
private void addXP(Player player, CallbackInfo ci) {
3435
if (CarpetSettings.xpNoCooldown && !level().isClientSide) {
3536
player.takeXpDelay = 0;
3637
// reducing the count to 1 and leaving vanilla to deal with it
3738
while (this.count > 1) {
38-
int remainder = this.repairPlayerItems(player, this.value);
39+
int remainder = this.repairPlayerItems((ServerPlayer) player, this.value);
3940
if (remainder > 0) {
4041
player.giveExperiencePoints(remainder);
4142
}

src/main/java/carpet/mixins/HangingEntity_scarpetEventsMixin.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@
44
import carpet.script.EntityEventsGroup;
55
import net.minecraft.world.entity.Entity;
66
import net.minecraft.world.entity.EntityType;
7+
import net.minecraft.world.entity.decoration.BlockAttachedEntity;
78
import net.minecraft.world.entity.decoration.HangingEntity;
89
import net.minecraft.world.level.Level;
910
import org.spongepowered.asm.mixin.Mixin;
1011
import org.spongepowered.asm.mixin.injection.At;
1112
import org.spongepowered.asm.mixin.injection.Inject;
1213
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
1314

14-
@Mixin(HangingEntity.class)
15+
@Mixin(BlockAttachedEntity.class)
1516
public abstract class HangingEntity_scarpetEventsMixin extends Entity
1617
{
1718
public HangingEntity_scarpetEventsMixin(EntityType<?> type, Level world)

src/main/java/carpet/script/api/WorldAccess.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -921,7 +921,7 @@ else if (item instanceof TridentItem || item instanceof SwordItem)
921921
damageAmount = 2;
922922
}
923923
final int finalDamageAmount = damageAmount;
924-
tool.hurtAndBreak(damageAmount, world.getRandom(), null, () -> { if (finalDamageAmount > 0) toolBroke.setTrue(); } );
924+
tool.hurtAndBreak(damageAmount, world, null, () -> { if (finalDamageAmount > 0) toolBroke.setTrue(); } );
925925
if (!isUsingEffectiveTool)
926926
{
927927
dropLoot = false;
@@ -930,15 +930,15 @@ else if (item instanceof TridentItem || item instanceof SwordItem)
930930

931931
if (dropLoot)
932932
{
933-
if (how < 0 || (tag != null && EnchantmentHelper.getItemEnchantmentLevel(Enchantments.SILK_TOUCH, tool) > 0))
933+
if (how < 0 || (tag != null && EnchantmentHelper.getItemEnchantmentLevel(world.registryAccess().registryOrThrow(Registries.ENCHANTMENT).getHolderOrThrow(Enchantments.SILK_TOUCH), tool) > 0))
934934
{
935935
Block.popResource(world, where, new ItemStack(state.getBlock()));
936936
}
937937
else
938938
{
939939
if (how > 0)
940940
{
941-
tool.enchant(Enchantments.FORTUNE, (int) how);
941+
tool.enchant(world.registryAccess().registryOrThrow(Registries.ENCHANTMENT).getHolderOrThrow(Enchantments.FORTUNE), (int) how);
942942
}
943943
if (DUMMY_ENTITY == null)
944944
{

0 commit comments

Comments
 (0)