22w19a
This commit is contained in:
1 parent
648ea01d15
commit
1a6b1df534
9 files changed
+34
-27
No files matched your search
@@ -13,7 +13,6 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.tags.Tag;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.Property;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package carpet.mixins;
|
||||
|
||||
import carpet.CarpetSettings;
|
||||
import net.minecraft.tags.Tag;
|
||||
import net.minecraft.tags.TagKey;
|
||||
import net.minecraft.world.item.DiggerItem;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
package carpet.mixins;
|
||||
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.network.chat.MessageSignature;
|
||||
import net.minecraft.network.chat.SignedMessage;
|
||||
import net.minecraft.network.chat.PlayerChatMessage;
|
||||
import net.minecraft.network.protocol.game.ServerboundChatPacket;
|
||||
import net.minecraft.server.network.TextFilter;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
@@ -286,10 +287,10 @@ public class ServerGamePacketListenerImpl_scarpetEventsMixin
|
||||
}
|
||||
|
||||
@Inject(method = "handleChat(Lnet/minecraft/network/protocol/game/ServerboundChatPacket;Lnet/minecraft/server/network/TextFilter$FilteredText;)V",
|
||||
at = @At(value = "INVOKE", target = "Lnet/minecraft/server/players/PlayerList;broadcastChatMessage(Lnet/minecraft/network/chat/SignedMessage;Lnet/minecraft/server/network/TextFilter$FilteredText;Lnet/minecraft/server/level/ServerPlayer;Lnet/minecraft/resources/ResourceKey;)V"),
|
||||
at = @At(value = "INVOKE", target = "Lnet/minecraft/server/players/PlayerList;broadcastChatMessage(Lnet/minecraft/network/chat/PlayerChatMessage;Lnet/minecraft/server/network/TextFilter$FilteredText;Lnet/minecraft/server/level/ServerPlayer;Lnet/minecraft/resources/ResourceKey;)V"),
|
||||
locals = LocalCapture.CAPTURE_FAILHARD
|
||||
)
|
||||
private void onChatMessage(ServerboundChatPacket serverboundChatPacket, TextFilter.FilteredText filteredText, CallbackInfo ci, MessageSignature messageSignature, SignedMessage signedMessage) {
|
||||
private void onChatMessage(ServerboundChatPacket serverboundChatPacket, TextFilter.FilteredText filteredText, CallbackInfo ci, Component component, MessageSignature messageSignature, PlayerChatMessage playerChatMessage) {
|
||||
if (PLAYER_MESSAGE.isNeeded())
|
||||
{
|
||||
PLAYER_MESSAGE.onPlayerMessage(player, filteredText.getRaw());
|
||||
|
||||
@@ -12,7 +12,6 @@ import org.spongepowered.asm.mixin.Shadow;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.tags.Tag;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package carpet.mixins;
|
||||
import carpet.helpers.ParticleDisplay;
|
||||
import carpet.utils.Messenger;
|
||||
import carpet.utils.MobAI;
|
||||
import net.minecraft.world.entity.ai.village.poi.PoiTypes;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
@@ -141,9 +142,9 @@ public abstract class Villager_aiMixin extends AbstractVillager
|
||||
else if (itemStack_1.getItem() instanceof BedItem)
|
||||
{
|
||||
List<PoiRecord> list_1 = ((ServerLevel) getCommandSenderWorld()).getPoiManager().getInRange(
|
||||
type -> type == PoiType.HOME,
|
||||
type -> type.is(PoiTypes.HOME),
|
||||
blockPosition(),
|
||||
48, PoiManager.Occupancy.ANY).collect(Collectors.toList());
|
||||
48, PoiManager.Occupancy.ANY).toList();
|
||||
for (PoiRecord poi : list_1)
|
||||
{
|
||||
Vec3 pv = Vec3.atCenterOf(poi.getPos());
|
||||
@@ -153,7 +154,7 @@ public abstract class Villager_aiMixin extends AbstractVillager
|
||||
pv.x, pv.y+1.5, pv.z,
|
||||
50, 0.1, 0.3, 0.1, 0.0);
|
||||
}
|
||||
else if (canReachHome((Villager)(Object)this, poi.getPos()))
|
||||
else if (canReachHome((Villager)(Object)this, poi.getPos(), poi))
|
||||
((ServerLevel) getCommandSenderWorld()).sendParticles(ParticleTypes.END_ROD,
|
||||
pv.x, pv.y+1, pv.z,
|
||||
50, 0.1, 0.3, 0.1, 0.0);
|
||||
@@ -168,9 +169,9 @@ public abstract class Villager_aiMixin extends AbstractVillager
|
||||
}
|
||||
}
|
||||
|
||||
// stolen from VillagerBreedTask
|
||||
private boolean canReachHome(Villager villager, BlockPos pos) {
|
||||
Path path = villager.getNavigation().createPath(pos, PoiType.HOME.getValidRange());
|
||||
// stolen from VillagerMakeLove
|
||||
private boolean canReachHome(Villager villager, BlockPos pos, PoiRecord poi) {
|
||||
Path path = villager.getNavigation().createPath(pos, poi.getPoiType().value().validRange());
|
||||
return path != null && path.canReach();
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user