")
- static Style invoker$new(final @Nullable TextColor color, final @Nullable Boolean bold, final @Nullable Boolean italic,
- final @Nullable Boolean underlined, final @Nullable Boolean strikethrough, final @Nullable Boolean obfuscated,
- final @Nullable ClickEvent clickEvent, final @Nullable HoverEvent hoverEvent, final @Nullable String insertion,
- final @Nullable ResourceLocation font) {
+ static Style invoker$new(final @Nullable TextColor color, final @Nullable Integer shadowColor, final @Nullable Boolean bold, final @Nullable Boolean italic,
+ final @Nullable Boolean underlined, final @Nullable Boolean strikethrough, final @Nullable Boolean obfuscated,
+ final @Nullable ClickEvent clickEvent, final @Nullable HoverEvent hoverEvent, final @Nullable String insertion,
+ final @Nullable ResourceLocation font) {
throw new UntransformedInvokerError();
}
diff --git a/src/accessors/java/org/spongepowered/common/accessor/network/protocol/game/ServerboundMoveVehiclePacketAccessor.java b/src/accessors/java/org/spongepowered/common/accessor/network/protocol/game/ServerboundMoveVehiclePacketAccessor.java
index c506173e7d3..a0865d608f4 100644
--- a/src/accessors/java/org/spongepowered/common/accessor/network/protocol/game/ServerboundMoveVehiclePacketAccessor.java
+++ b/src/accessors/java/org/spongepowered/common/accessor/network/protocol/game/ServerboundMoveVehiclePacketAccessor.java
@@ -25,6 +25,7 @@
package org.spongepowered.common.accessor.network.protocol.game;
import net.minecraft.network.protocol.game.ServerboundMoveVehiclePacket;
+import net.minecraft.world.phys.Vec3;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Mutable;
import org.spongepowered.asm.mixin.gen.Accessor;
@@ -32,11 +33,7 @@
@Mixin(ServerboundMoveVehiclePacket.class)
public interface ServerboundMoveVehiclePacketAccessor {
- @Accessor("x") @Mutable void accessor$x(final double x);
-
- @Accessor("y") @Mutable void accessor$y(final double y);
-
- @Accessor("z") @Mutable void accessor$z(final double z);
+ @Accessor("position") @Mutable void accessor$position(final Vec3 position);
@Accessor("yRot") @Mutable void accessor$yRot(final float yRot);
diff --git a/src/main/java/org/spongepowered/common/data/provider/item/stack/ArmorItemStackData.java b/src/main/java/org/spongepowered/common/data/provider/item/stack/ArmorItemStackData.java
index 80e8198b33e..45679626783 100644
--- a/src/main/java/org/spongepowered/common/data/provider/item/stack/ArmorItemStackData.java
+++ b/src/main/java/org/spongepowered/common/data/provider/item/stack/ArmorItemStackData.java
@@ -54,7 +54,7 @@ public static void register(final DataProviderRegistrator registrator) {
if (equippable == null) {
return null;
}
- return equippable.model()
+ return equippable.assetId()
.map(rl -> (ResourceKey) (Object) rl)
.flatMap(rk -> RegistryTypes.ARMOR_MATERIAL.get().findEntry(rk))
.map(RegistryEntry::value)
diff --git a/src/main/java/org/spongepowered/common/data/provider/item/stack/ItemStackData.java b/src/main/java/org/spongepowered/common/data/provider/item/stack/ItemStackData.java
index 4b991d5a3ca..c32e212194e 100644
--- a/src/main/java/org/spongepowered/common/data/provider/item/stack/ItemStackData.java
+++ b/src/main/java/org/spongepowered/common/data/provider/item/stack/ItemStackData.java
@@ -117,10 +117,10 @@ public static void register(final DataProviderRegistrator registrator) {
.get(h -> (ItemType) h.getItem().getCraftingRemainder().getItem())
.create(Keys.DISPLAY_NAME)
.get(h -> SpongeAdventure.asAdventure(h.getDisplayName()))
- .create(Keys.CUSTOM_MODEL_DATA)
- .get(h -> h.getOrDefault(DataComponents.CUSTOM_MODEL_DATA, CustomModelData.DEFAULT).value())
- .set((h, v) -> h.set(DataComponents.CUSTOM_MODEL_DATA, new CustomModelData(v)))
- .delete(h -> h.remove(DataComponents.CUSTOM_MODEL_DATA))
+// .create(Keys.CUSTOM_MODEL_DATA)
+// .get(h -> h.getOrDefault(DataComponents.CUSTOM_MODEL_DATA, CustomModelData.EMPTY))
+// .set((h, v) -> h.set(DataComponents.CUSTOM_MODEL_DATA, new CustomModelData(v)))
+// .delete(h -> h.remove(DataComponents.CUSTOM_MODEL_DATA))
.create(Keys.CUSTOM_NAME)
.get(h -> {
if (h.has(DataComponents.CUSTOM_NAME)) {
diff --git a/src/main/java/org/spongepowered/common/effect/particle/SpongeParticleHelper.java b/src/main/java/org/spongepowered/common/effect/particle/SpongeParticleHelper.java
index c09654d2ca8..79d7f2da8f5 100644
--- a/src/main/java/org/spongepowered/common/effect/particle/SpongeParticleHelper.java
+++ b/src/main/java/org/spongepowered/common/effect/particle/SpongeParticleHelper.java
@@ -243,6 +243,7 @@ public void process(final double x, final double y, final double z, final List createProjectile(final LivingEntity source, fina
@Override
protected Optional createProjectile(final LivingEntity source, final ServerLocation loc) {
if (source instanceof Player) {
- final FishingHook hook = new FishingHook((Player) source, source.level(), 0, 0, new ItemStack(Items.FISHING_ROD));
+ final FishingHook hook = new FishingHook((Player) source, source.level(), 0, 0);
hook.setPos(loc.x(), loc.y(), loc.z());
return ProjectileUtil.doLaunch(loc.world(), (FishingBobber) hook);
}
diff --git a/src/mixins/java/org/spongepowered/common/mixin/api/minecraft/world/level/levelgen/structure/StructureMixin_API.java b/src/mixins/java/org/spongepowered/common/mixin/api/minecraft/world/level/levelgen/structure/StructureMixin_API.java
index 349ad7f4869..6d790982a78 100644
--- a/src/mixins/java/org/spongepowered/common/mixin/api/minecraft/world/level/levelgen/structure/StructureMixin_API.java
+++ b/src/mixins/java/org/spongepowered/common/mixin/api/minecraft/world/level/levelgen/structure/StructureMixin_API.java
@@ -30,7 +30,9 @@
import net.minecraft.core.Holder;
import net.minecraft.core.HolderSet;
import net.minecraft.core.SectionPos;
+import net.minecraft.core.registries.Registries;
import net.minecraft.resources.RegistryOps;
+import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerChunkCache;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.MobCategory;
@@ -73,8 +75,20 @@ public boolean place(final ServerWorld world, final Vector3i pos) {
// see PlaceCommand#placeStructure
final ServerLevel level = (ServerLevel) world;
final ServerChunkCache chunkSource = level.getChunkSource();
- final StructureStart start = ((Structure) (Object) this).generate(level.registryAccess(), chunkSource.getGenerator(), chunkSource.getGenerator().getBiomeSource(),
- chunkSource.randomState(), level.getStructureManager(), level.getSeed(), new ChunkPos(VecHelper.toBlockPos(pos)), 0, level, b -> true);
+ final var key = level.registryAccess().lookupOrThrow(Registries.STRUCTURE).wrapAsHolder((Structure) (Object) this);
+ final StructureStart start = ((Structure) (Object) this).generate(
+ key,
+ level.dimension(),
+ level.registryAccess(),
+ chunkSource.getGenerator(),
+ chunkSource.getGenerator().getBiomeSource(),
+ chunkSource.randomState(),
+ level.getStructureManager(),
+ level.getSeed(),
+ new ChunkPos(VecHelper.toBlockPos(pos)),
+ 0,
+ level,
+ ignored -> true);
if (!start.isValid()) {
return false;
diff --git a/src/mixins/java/org/spongepowered/common/mixin/core/adventure/text/format/StyleImplMixin.java b/src/mixins/java/org/spongepowered/common/mixin/core/adventure/text/format/StyleImplMixin.java
index eee014e0b73..ca7a8065c0d 100644
--- a/src/mixins/java/org/spongepowered/common/mixin/core/adventure/text/format/StyleImplMixin.java
+++ b/src/mixins/java/org/spongepowered/common/mixin/core/adventure/text/format/StyleImplMixin.java
@@ -47,6 +47,7 @@ public abstract class StyleImplMixin implements StyleBridge {
this.bridge$vanilla = StyleAccessor.invoker$new(
// color
SpongeAdventure.asVanillaNullable($this.color()),
+ null,
// decorations
SpongeAdventure.asVanillaNullable($this.decoration(TextDecoration.BOLD)),
SpongeAdventure.asVanillaNullable($this.decoration(TextDecoration.ITALIC)),
diff --git a/src/mixins/java/org/spongepowered/common/mixin/core/server/commands/TeleportCommandMixin.java b/src/mixins/java/org/spongepowered/common/mixin/core/server/commands/TeleportCommandMixin.java
index 1b6676593a7..a08d031d170 100644
--- a/src/mixins/java/org/spongepowered/common/mixin/core/server/commands/TeleportCommandMixin.java
+++ b/src/mixins/java/org/spongepowered/common/mixin/core/server/commands/TeleportCommandMixin.java
@@ -118,7 +118,7 @@ private static void performTeleport(CommandSourceStack source, Entity entityIn,
if (entityIn instanceof ServerPlayer sp) {
ChunkPos chunkpos = new ChunkPos(new BlockPos((int) actualX, (int) actualY, (int) actualZ));
- worldIn.getChunkSource().addRegionTicket(TicketType.POST_TELEPORT, chunkpos, 1, entityIn.getId());
+ worldIn.getChunkSource().addRegionTicket(TicketType.FORCED, chunkpos, 1, chunkpos);
entityIn.stopRiding();
diff --git a/src/mixins/java/org/spongepowered/common/mixin/core/server/level/ServerPlayerMixin.java b/src/mixins/java/org/spongepowered/common/mixin/core/server/level/ServerPlayerMixin.java
index 6d21338b8a8..2ba773f469c 100644
--- a/src/mixins/java/org/spongepowered/common/mixin/core/server/level/ServerPlayerMixin.java
+++ b/src/mixins/java/org/spongepowered/common/mixin/core/server/level/ServerPlayerMixin.java
@@ -229,7 +229,7 @@ public abstract class ServerPlayerMixin extends PlayerMixin implements SubjectBr
final var thisPlayer = ((net.minecraft.server.level.ServerPlayer) (Object) this);
final ChunkPos chunkPos = new ChunkPos(VecHelper.toBlockPos(pos));
- level.getChunkSource().addRegionTicket(TicketType.POST_TELEPORT, chunkPos, 1, thisPlayer.getId());
+ level.getChunkSource().addRegionTicket(TicketType.FORCED, chunkPos, 1, chunkPos);
thisPlayer.stopRiding();
if (thisPlayer.isSleeping()) {
@@ -425,9 +425,8 @@ public boolean teleportTo(final ServerLevel world,
frame.addContext(EventContextKeys.MOVEMENT_TYPE, MovementTypes.PLUGIN);
}
- final var thisPlayer = (net.minecraft.server.level.ServerPlayer) (Object) this;
return this.bridge$changeDimension(new TeleportTransition(world, new Vec3(x, y, z), Vec3.ZERO, yaw, pitch, relative,
- e -> world.getChunkSource().addRegionTicket(TicketType.POST_TELEPORT, e.chunkPosition(), 1, thisPlayer.getId()))) != null;
+ e -> world.getChunkSource().addRegionTicket(TicketType.FORCED, e.chunkPosition(), 1, e.chunkPosition()))) != null;
}
}
@@ -698,7 +697,7 @@ public void die(final DamageSource cause) {
final LivingEntity livingentity = this.shadow$getKillCredit();
if (livingentity != null) {
this.shadow$awardStat(Stats.ENTITY_KILLED_BY.get(livingentity.getType()));
- livingentity.awardKillScore((net.minecraft.server.level.ServerPlayer) (Object) this, this.deathScore, cause);
+ livingentity.awardKillScore((net.minecraft.server.level.ServerPlayer) (Object) this, cause);
this.shadow$createWitherRose(livingentity);
}
diff --git a/src/mixins/java/org/spongepowered/common/mixin/core/server/network/ServerGamePacketListenerImplMixin.java b/src/mixins/java/org/spongepowered/common/mixin/core/server/network/ServerGamePacketListenerImplMixin.java
index 58c4741603f..244357dfd85 100644
--- a/src/mixins/java/org/spongepowered/common/mixin/core/server/network/ServerGamePacketListenerImplMixin.java
+++ b/src/mixins/java/org/spongepowered/common/mixin/core/server/network/ServerGamePacketListenerImplMixin.java
@@ -293,7 +293,7 @@ public abstract class ServerGamePacketListenerImplMixin extends ServerCommonPack
at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/Entity;getControllingPassenger()Lnet/minecraft/world/entity/LivingEntity;")
)
private void impl$handleVehicleMoveEvent(final ServerboundMoveVehiclePacket param0, final CallbackInfo ci) {
- final ServerboundMoveVehiclePacketAccessor packet = (ServerboundMoveVehiclePacketAccessor) param0;
+ final ServerboundMoveVehiclePacketAccessor packet = (ServerboundMoveVehiclePacketAccessor) (Object) param0;
final Entity rootVehicle = this.player.getRootVehicle();
final Vector3d fromRotation = new Vector3d(rootVehicle.getYRot(), rootVehicle.getXRot(), 0);
@@ -301,8 +301,9 @@ public abstract class ServerGamePacketListenerImplMixin extends ServerCommonPack
// We need this because we ignore very small position changes as to not spam as many move events.
final Vector3d fromPosition = VecHelper.toVector3d(rootVehicle.position());
- final Vector3d originalToPosition = new Vector3d(param0.getX(), param0.getY(), param0.getZ());
- final Vector3d originalToRotation = new Vector3d(param0.getYRot(), param0.getXRot(), 0);
+ final var position = param0.position();
+ final Vector3d originalToPosition = new Vector3d(position.x, position.y(), position.z());
+ final Vector3d originalToRotation = new Vector3d(param0.yRot(), param0.xRot(), 0);
// common checks and throws are done here.
final @Nullable Vector3d toPosition = SpongeCommonEventFactory.callMoveEvent(
@@ -325,7 +326,7 @@ public abstract class ServerGamePacketListenerImplMixin extends ServerCommonPack
if (!fromRotation.equals(toRotation)) {
rootVehicle.absMoveTo(rootVehicle.getX(), rootVehicle.getY(), rootVehicle.getZ(), (float) toRotation.y(), (float) toRotation.x());
}
- this.connection.send(new ClientboundMoveVehiclePacket(rootVehicle));
+ this.connection.send(ClientboundMoveVehiclePacket.fromEntity(rootVehicle));
ci.cancel();
return;
}
@@ -333,12 +334,11 @@ public abstract class ServerGamePacketListenerImplMixin extends ServerCommonPack
if (!toPosition.equals(originalToPosition) || !toRotation.equals(originalToRotation)) {
// notify the client about the new position
rootVehicle.absMoveTo(toPosition.x(), toPosition.y(), toPosition.z(), (float) toRotation.y(), (float) toRotation.x());
- this.connection.send(new ClientboundMoveVehiclePacket(rootVehicle));
+ this.connection.send(ClientboundMoveVehiclePacket.fromEntity(rootVehicle));
// update the packet, let MC take care of the rest.
- packet.accessor$x(toPosition.x());
- packet.accessor$y(toPosition.y());
- packet.accessor$z(toPosition.z());
+ final var newPos = VecHelper.toVanillaVector3d(toPosition);
+ packet.accessor$position(newPos);
packet.accessor$yRot((float) toRotation.x());
packet.accessor$xRot((float) toRotation.y());
diff --git a/src/mixins/java/org/spongepowered/common/mixin/core/world/entity/LivingEntityMixin.java b/src/mixins/java/org/spongepowered/common/mixin/core/world/entity/LivingEntityMixin.java
index 994a4510d38..1eeb8e3757c 100644
--- a/src/mixins/java/org/spongepowered/common/mixin/core/world/entity/LivingEntityMixin.java
+++ b/src/mixins/java/org/spongepowered/common/mixin/core/world/entity/LivingEntityMixin.java
@@ -92,7 +92,6 @@ public abstract class LivingEntityMixin extends EntityMixin implements LivingEnt
// @formatter:off
@Shadow protected int useItemRemaining;
@Shadow protected boolean dead;
- @Shadow protected int deathScore;
@Shadow protected ItemStack useItem;
@Shadow @Nullable private DamageSource lastDamageSource;
@Shadow private long lastDamageStamp;
diff --git a/src/mixins/java/org/spongepowered/common/mixin/core/world/entity/LivingEntityMixin_Attack_Impl.java b/src/mixins/java/org/spongepowered/common/mixin/core/world/entity/LivingEntityMixin_Attack_Impl.java
index 8bce4b1a806..73899de7437 100644
--- a/src/mixins/java/org/spongepowered/common/mixin/core/world/entity/LivingEntityMixin_Attack_Impl.java
+++ b/src/mixins/java/org/spongepowered/common/mixin/core/world/entity/LivingEntityMixin_Attack_Impl.java
@@ -189,7 +189,7 @@ public abstract class LivingEntityMixin_Attack_Impl extends EntityMixin implemen
* After calling #actuallyHurt, if cancelled return early
* Also reset values
*/
- @Inject(method = "hurtServer",cancellable = true,
+ @Inject(method = "hurtServer", cancellable = true,
at = @At(value = "INVOKE", shift = At.Shift.AFTER, ordinal = 1,
target = "Lnet/minecraft/world/entity/LivingEntity;actuallyHurt(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/damagesource/DamageSource;F)V"))
private void attackImpl$afterActuallyHurt2(ServerLevel $$0, DamageSource $$1, float $$2, CallbackInfoReturnable cir) {
@@ -212,32 +212,38 @@ public abstract class LivingEntityMixin_Attack_Impl extends EntityMixin implemen
return this.attackImpl$actuallyHurtFinalDamage;
}
- /**
- * Sets blocked damage after #actuallyHurt
- */
- @ModifyVariable(method = "hurtServer", ordinal = 2,
- at = @At(value = "INVOKE",
- target = "Lnet/minecraft/advancements/critereon/EntityHurtPlayerTrigger;trigger(Lnet/minecraft/server/level/ServerPlayer;Lnet/minecraft/world/damagesource/DamageSource;FFZ)V",
- shift = At.Shift.AFTER))
- private float attackImpl$modifyBlockedDamage(float damageBlocked) {
- return this.attackImpl$actuallyHurtBlockedDamage;
- }
-
- @Redirect(method = "hurtServer", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;playHurtSound(Lnet/minecraft/world/damagesource/DamageSource;)V"))
+ // TODO - Pending on a Mixin bug: https://github.com/SpongePowered/Mixin/issues/684
+// /**
+// * Sets blocked damage after #actuallyHurt
+// */
+// @ModifyVariable(method = "hurtServer", ordinal = 1,
+// at = @At(value = "INVOKE",
+// target = "Lnet/minecraft/advancements/critereon/EntityHurtPlayerTrigger;trigger(Lnet/minecraft/server/level/ServerPlayer;Lnet/minecraft/world/damagesource/DamageSource;FFZ)V",
+// shift = At.Shift.AFTER
+// ),
+// slice = @Slice(
+// from = @At(value = "FIELD", target = "Lnet/minecraft/advancements/CriteriaTriggers;ENTITY_HURT_PLAYER:Lnet/minecraft/advancements/critereon/EntityHurtPlayerTrigger;"),
+// to = @At(value = "FIELD", target = "Lnet/minecraft/stats/Stats;DAMAGE_BLOCKED_BY_SHIELD:Lnet/minecraft/resources/ResourceLocation;")
+// ))
+// private float attackImpl$modifyBlockedDamage(float damageBlocked) {
+// return this.attackImpl$actuallyHurtBlockedDamage;
+// }
+
+ @Redirect(method = "hurtServer", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;playHurtSound(Lnet/minecraft/world/damagesource/DamageSource;)V"))
private void attackImpl$onHurtSound(final LivingEntity instance, final DamageSource $$0) {
if (this.bridge$vanishState().createsSounds()) {
this.shadow$playHurtSound($$0);
}
}
- @Redirect(method = "hurtServer", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;makeSound(Lnet/minecraft/sounds/SoundEvent;)V"))
+ @Redirect(method = "hurtServer", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;makeSound(Lnet/minecraft/sounds/SoundEvent;)V"))
private void attackImpl$onMakeSound(final LivingEntity instance, final SoundEvent $$0) {
if (this.bridge$vanishState().createsSounds()) {
instance.makeSound($$0);
}
}
- @Inject(method = "actuallyHurt", at = @At(value = "INVOKE",target = "Lnet/minecraft/world/entity/LivingEntity;getDamageAfterArmorAbsorb(Lnet/minecraft/world/damagesource/DamageSource;F)F"))
+ @Inject(method = "actuallyHurt", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;getDamageAfterArmorAbsorb(Lnet/minecraft/world/damagesource/DamageSource;F)F"))
public void attackImpl$startActuallyHurt(final ServerLevel level, final DamageSource damageSource,
final float originalDamage, final CallbackInfo ci) {
// TODO check for direct call?
@@ -341,7 +347,7 @@ public abstract class LivingEntityMixin_Attack_Impl extends EntityMixin implemen
* {@link #shadow$hurtArmor}
* {@link ServerPlayer#awardStat} for {@link Stats#DAMAGE_RESISTED} and {@link Stats#DAMAGE_DEALT}
* from {@link LivingEntity#hurt} and #actuallyHurt
- *
+ *
* And capture inventory changes if needed
*/
protected void attackImpl$handlePostDamage() {
diff --git a/src/mixins/java/org/spongepowered/common/mixin/core/world/item/FishingRodItemMixin.java b/src/mixins/java/org/spongepowered/common/mixin/core/world/item/FishingRodItemMixin.java
index 6b53414d803..da7ae4469ed 100644
--- a/src/mixins/java/org/spongepowered/common/mixin/core/world/item/FishingRodItemMixin.java
+++ b/src/mixins/java/org/spongepowered/common/mixin/core/world/item/FishingRodItemMixin.java
@@ -71,7 +71,7 @@ private void onThrowEvent(Level level, Player player, InteractionHand hand, Call
if (level instanceof ServerLevel serverLevel) {
int $$6 = (int)(EnchantmentHelper.getFishingTimeReduction(serverLevel, itemstack, player) * 20.0F);
int $$7 = EnchantmentHelper.getFishingLuckBonus(serverLevel, itemstack, player);
- FishingHook fishHook = new FishingHook(player, level, $$7, $$6, itemstack);
+ FishingHook fishHook = new FishingHook(player, level, $$7, $$6);
PhaseTracker.getCauseStackManager().pushCause(player);
if (SpongeCommon.post(SpongeEventFactory.createFishingEventStart(PhaseTracker.getCauseStackManager().currentCause(), (FishingBobber) fishHook))) {
@@ -85,7 +85,7 @@ private void onThrowEvent(Level level, Player player, InteractionHand hand, Call
}
@Redirect(method = "use", at = @At(value = "NEW", target = "net/minecraft/world/entity/projectile/FishingHook"))
- private FishingHook onNewEntityFishHook(final Player $$0, final Level $$1, final int $$2, final int $$3, final ItemStack $$4) {
+ private FishingHook onNewEntityFishHook(final Player $$0, final Level $$1, final int $$2, final int $$3) {
// Use the fish hook we created for the event
FishingHook fishHook = this.impl$fishHook;
this.impl$fishHook = null;
diff --git a/vanilla/src/main/java/org/spongepowered/vanilla/client/gui/widget/list/FilterableList.java b/vanilla/src/main/java/org/spongepowered/vanilla/client/gui/widget/list/FilterableList.java
index 3522d2607aa..7ebcc9ef51e 100644
--- a/vanilla/src/main/java/org/spongepowered/vanilla/client/gui/widget/list/FilterableList.java
+++ b/vanilla/src/main/java/org/spongepowered/vanilla/client/gui/widget/list/FilterableList.java
@@ -122,11 +122,6 @@ public int getRowLeft() {
return this.getX() + 4;
}
- @Override
- protected int getScrollbarPosition() {
- return this.getX() + this.width - 6;
- }
-
@Override
public void setSelected(@Nullable final E entry) {
if (this.selectConsumer != null) {
@@ -138,7 +133,7 @@ public void setSelected(@Nullable final E entry) {
@Override
public boolean mouseClicked(final double p_mouseClicked_1_, final double p_mouseClicked_3_, final int p_mouseClicked_5_) {
- this.updateScrollingState(p_mouseClicked_1_, p_mouseClicked_3_, p_mouseClicked_5_);
+ this.updateScrolling(p_mouseClicked_1_, p_mouseClicked_3_, p_mouseClicked_5_);
if (!this.isMouseOver(p_mouseClicked_1_, p_mouseClicked_3_)) {
return false;
} else {
@@ -150,8 +145,8 @@ public boolean mouseClicked(final double p_mouseClicked_1_, final double p_mouse
return true;
}
} else if (p_mouseClicked_5_ == 0) {
- this.clickedHeader((int) (p_mouseClicked_1_ - (double) (this.getX() + this.width / 2 - this.getRowWidth() / 2)),
- (int) (p_mouseClicked_3_ - (double) this.getY()) + (int) this.getScrollAmount() - 4);
+ this.onClick((int) (p_mouseClicked_1_ - (double) (this.getX() + this.width / 2 - this.getRowWidth() / 2)),
+ (int) (p_mouseClicked_3_ - (double) this.getY()) + (int) this.scrollAmount() - 4);
return true;
}
diff --git a/vanilla/src/mixins/java/org/spongepowered/vanilla/mixin/core/world/entity/LivingEntityMixin_Attack_Impl.java b/vanilla/src/mixins/java/org/spongepowered/vanilla/mixin/core/world/entity/LivingEntityMixin_Attack_Impl.java
index 718aacee6b9..ccb7d33c84a 100644
--- a/vanilla/src/mixins/java/org/spongepowered/vanilla/mixin/core/world/entity/LivingEntityMixin_Attack_Impl.java
+++ b/vanilla/src/mixins/java/org/spongepowered/vanilla/mixin/core/world/entity/LivingEntityMixin_Attack_Impl.java
@@ -41,18 +41,18 @@
public abstract class LivingEntityMixin_Attack_Impl {
@SuppressWarnings("InvalidInjectorMethodSignature")
- @ModifyConstant(method = "hurtServer", constant = @Constant(classValue = Wolf.class, ordinal = 0))
+ @ModifyConstant(method = "resolvePlayerResponsibleForDamage", constant = @Constant(classValue = Wolf.class, ordinal = 0))
private Class attackImpl$onWolfCast(final Object entity, final Class wolf) {
return TamableAnimal.class;
}
- @Redirect(method = "hurtServer",
+ @Redirect(method = "resolvePlayerResponsibleForDamage",
at = @At(value = "INVOKE" , target = "Lnet/minecraft/world/entity/animal/Wolf;isTame()Z"))
private boolean attackImpl$onWolfIsTame(@Coerce final Object instance) {
return ((TamableAnimal)instance).isTame();
}
- @Redirect(method = "hurtServer",
+ @Redirect(method = "resolvePlayerResponsibleForDamage",
at = @At(value = "INVOKE" , target = "Lnet/minecraft/world/entity/animal/Wolf;getOwner()Lnet/minecraft/world/entity/LivingEntity;"))
private LivingEntity attackImpl$onWolfGetOwner(@Coerce final Object instance) {
return ((TamableAnimal)instance).getOwner();