mirror of https://github.com/GeyserMC/Geyser.git
Don't attempt to re-request structure size
This commit is contained in:
parent
c9d4b9a797
commit
76a5608851
|
@ -36,11 +36,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
|
|||
import org.cloudburstmc.math.vector.Vector3i;
|
||||
import org.cloudburstmc.nbt.NbtMap;
|
||||
import org.cloudburstmc.nbt.NbtMapBuilder;
|
||||
import org.geysermc.erosion.packet.backendbound.BackendboundBatchBlockEntityPacket;
|
||||
import org.geysermc.erosion.packet.backendbound.BackendboundBatchBlockRequestPacket;
|
||||
import org.geysermc.erosion.packet.backendbound.BackendboundBlockEntityPacket;
|
||||
import org.geysermc.erosion.packet.backendbound.BackendboundBlockRequestPacket;
|
||||
import org.geysermc.erosion.packet.backendbound.BackendboundPickBlockPacket;
|
||||
import org.geysermc.erosion.packet.backendbound.*;
|
||||
import org.geysermc.erosion.util.BlockPositionIterator;
|
||||
import org.geysermc.erosion.util.LecternUtils;
|
||||
import org.geysermc.geyser.session.GeyserSession;
|
||||
|
|
|
@ -30,6 +30,7 @@ import com.github.steveice10.mc.protocol.data.game.inventory.UpdateStructureBloc
|
|||
import com.github.steveice10.mc.protocol.data.game.level.block.StructureMirror;
|
||||
import com.github.steveice10.mc.protocol.data.game.level.block.StructureRotation;
|
||||
import com.github.steveice10.mc.protocol.packet.ingame.serverbound.inventory.ServerboundSetStructureBlockPacket;
|
||||
import org.cloudburstmc.math.vector.Vector3i;
|
||||
import org.cloudburstmc.nbt.NbtList;
|
||||
import org.cloudburstmc.nbt.NbtMap;
|
||||
import org.cloudburstmc.nbt.NbtMapBuilder;
|
||||
|
@ -38,7 +39,6 @@ import org.cloudburstmc.protocol.bedrock.data.structure.StructureTemplateRequest
|
|||
import org.cloudburstmc.protocol.bedrock.data.structure.StructureTemplateResponseType;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.StructureTemplateDataRequestPacket;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.StructureTemplateDataResponsePacket;
|
||||
import org.geysermc.geyser.GeyserImpl;
|
||||
import org.geysermc.geyser.session.GeyserSession;
|
||||
import org.geysermc.geyser.translator.protocol.PacketTranslator;
|
||||
import org.geysermc.geyser.translator.protocol.Translator;
|
||||
|
@ -67,8 +67,11 @@ public class BedrockStructureTemplateDataRequestTranslator extends PacketTransla
|
|||
|
||||
@Override
|
||||
public void translate(GeyserSession session, StructureTemplateDataRequestPacket packet) {
|
||||
GeyserImpl.getInstance().getLogger().error(packet.toString());
|
||||
if (packet.getOperation().equals(StructureTemplateRequestOperation.QUERY_SAVED_STRUCTURE)) {
|
||||
// If we send a load packet to the Java server when the structure size is known, we place the structure.
|
||||
if (!packet.getSettings().getSize().equals(Vector3i.ZERO)) {
|
||||
return;
|
||||
}
|
||||
session.setCurrentStructureBlock(packet.getPosition());
|
||||
|
||||
// Request a "load" from Java server so it sends us the structures size :p
|
||||
|
|
|
@ -130,11 +130,15 @@ public class JavaBlockEntityDataTranslator extends PacketTranslator<ClientboundB
|
|||
return;
|
||||
}
|
||||
|
||||
int x = (int) map.get("sizeX").getValue();
|
||||
int y = (int) map.get("sizeY").getValue();
|
||||
int z = (int) map.get("sizeZ").getValue();
|
||||
|
||||
StructureTemplateDataResponsePacket responsePacket = new StructureTemplateDataResponsePacket();
|
||||
responsePacket.setName((String) map.get("name").getValue());
|
||||
responsePacket.setSave(true);
|
||||
responsePacket.setTag(EMPTY_STRUCTURE_DATA.toBuilder()
|
||||
.putList("size", NbtType.INT, (int) map.get("sizeX").getValue(), (int) map.get("sizeY").getValue(), (int) map.get("sizeZ").getValue())
|
||||
.putList("size", NbtType.INT, x, y, z)
|
||||
.build());
|
||||
responsePacket.setType(StructureTemplateResponseType.QUERY);
|
||||
GeyserImpl.getInstance().getLogger().info(responsePacket.toString());
|
||||
|
|
Loading…
Reference in New Issue