Mirror von
https://github.com/GeyserMC/Geyser.git
synchronisiert 2024-11-19 14:30:17 +01:00
Bed block sanity check for villagers
Dieser Commit ist enthalten in:
Ursprung
746be566a2
Commit
4a334a2c8d
@ -34,6 +34,7 @@ import org.cloudburstmc.protocol.bedrock.data.entity.EntityFlag;
|
|||||||
import org.cloudburstmc.protocol.bedrock.packet.MoveEntityAbsolutePacket;
|
import org.cloudburstmc.protocol.bedrock.packet.MoveEntityAbsolutePacket;
|
||||||
import org.geysermc.geyser.entity.EntityDefinition;
|
import org.geysermc.geyser.entity.EntityDefinition;
|
||||||
import org.geysermc.geyser.level.block.property.Properties;
|
import org.geysermc.geyser.level.block.property.Properties;
|
||||||
|
import org.geysermc.geyser.level.block.type.BedBlock;
|
||||||
import org.geysermc.geyser.level.block.type.BlockState;
|
import org.geysermc.geyser.level.block.type.BlockState;
|
||||||
import org.geysermc.geyser.session.GeyserSession;
|
import org.geysermc.geyser.session.GeyserSession;
|
||||||
import org.geysermc.mcprotocollib.protocol.data.game.entity.metadata.EntityMetadata;
|
import org.geysermc.mcprotocollib.protocol.data.game.entity.metadata.EntityMetadata;
|
||||||
@ -125,22 +126,24 @@ public class VillagerEntity extends AbstractMerchantEntity {
|
|||||||
int bedRotation = 0;
|
int bedRotation = 0;
|
||||||
float xOffset = 0;
|
float xOffset = 0;
|
||||||
float zOffset = 0;
|
float zOffset = 0;
|
||||||
switch (state.getValue(Properties.HORIZONTAL_FACING)) {
|
if (state.block() instanceof BedBlock) {
|
||||||
case SOUTH -> {
|
switch (state.getValue(Properties.HORIZONTAL_FACING)) {
|
||||||
bedRotation = 180;
|
case SOUTH -> {
|
||||||
zOffset = -.5f;
|
bedRotation = 180;
|
||||||
}
|
zOffset = -.5f;
|
||||||
case EAST -> {
|
}
|
||||||
bedRotation = 90;
|
case EAST -> {
|
||||||
xOffset = -.5f;
|
bedRotation = 90;
|
||||||
}
|
xOffset = -.5f;
|
||||||
case WEST -> {
|
}
|
||||||
bedRotation = 270;
|
case WEST -> {
|
||||||
xOffset = .5f;
|
bedRotation = 270;
|
||||||
}
|
xOffset = .5f;
|
||||||
case NORTH -> {
|
}
|
||||||
// rotation does not change because north is 0
|
case NORTH -> {
|
||||||
zOffset = .5f;
|
// rotation does not change because north is 0
|
||||||
|
zOffset = .5f;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren