From ffb88e96e26586ebd956daa0b1ae6004e83be089 Mon Sep 17 00:00:00 2001
From: FlorianMichael <60033407+FlorianMichael@users.noreply.github.com>
Date: Tue, 16 Apr 2024 21:07:33 +0200
Subject: [PATCH] Use VVs IdAndData
---
.../vialegacy/api/model/IdAndData.java | 67 -------------------
.../api/remapper/AbstractBlockRemapper.java | 12 ++--
.../api/remapper/AbstractChunkTracker.java | 34 +++++-----
.../Protocolb1_0_1_1_1toa1_2_3_5_1_2_6.java | 22 +++---
.../data/AlphaItems.java | 24 +++----
.../storage/AlphaInventoryTracker.java | 8 +--
.../task/PlayerAirTimeUpdateTask.java | 4 +-
.../Protocolb1_2_0_2tob1_1_2.java | 6 +-
.../rewriter/BlockDataRewriter.java | 2 +-
.../Protocolb1_3_0_1tob1_2_0_2.java | 2 +-
.../data/BlockHardnessList.java | 4 +-
.../Protocolb1_6_0_6tob1_5_0_2.java | 16 ++---
.../Protocolb1_8_0_1tob1_7_0_3.java | 2 +-
.../Protocola1_0_15toc0_30.java | 10 +--
.../data/ClassicBlocks.java | 2 +-
.../storage/ClassicBlockRemapper.java | 2 +-
.../storage/ClassicLevelStorage.java | 2 +-
.../Protocolc0_30toc0_30cpe.java | 4 +-
.../data/ExtendedClassicBlocks.java | 2 +-
.../Protocol1_2_1_3to1_1.java | 4 +-
.../model/PendingBlockEntry.java | 2 +-
.../storage/PendingBlocksTracker.java | 6 +-
.../types/BlockChangeRecordArrayType.java | 4 +-
.../types/ChunkType1_1.java | 4 +-
.../Protocol1_3_1_2to1_2_4_5.java | 10 +--
.../Protocol1_7_2_5to1_6_4.java | 18 ++---
.../storage/ChunkTracker.java | 30 ++++-----
.../Protocol1_8to1_7_6_10.java | 18 ++---
.../metadata/MetadataRewriter.java | 4 +-
.../storage/ChunkTracker.java | 10 +--
.../types/ChunkType1_7_6.java | 4 +-
31 files changed, 136 insertions(+), 203 deletions(-)
delete mode 100644 src/main/java/net/raphimc/vialegacy/api/model/IdAndData.java
diff --git a/src/main/java/net/raphimc/vialegacy/api/model/IdAndData.java b/src/main/java/net/raphimc/vialegacy/api/model/IdAndData.java
deleted file mode 100644
index 352435d..0000000
--- a/src/main/java/net/raphimc/vialegacy/api/model/IdAndData.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * This file is part of ViaLegacy - https://github.com/RaphiMC/ViaLegacy
- * Copyright (C) 2020-2024 RK_01/RaphiMC and contributors
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package net.raphimc.vialegacy.api.model;
-
-import java.util.Objects;
-
-public class IdAndData {
-
- public int id;
- public int data;
-
- public IdAndData(final int id, final int data) {
- if (data < 0 || data > 15) throw new IllegalArgumentException("Block data out of bounds (id:" + id + " data:" + data + ")");
- this.id = id;
- this.data = data;
- }
-
- public static IdAndData fromCompressedData(final int idAndData) {
- return new IdAndData(idAndData >> 4, idAndData & 15);
- }
-
- public static int toCompressedData(final int id, final int data) {
- return id << 4 | data & 15;
- }
-
- public int toCompressedData() {
- return toCompressedData(this.id, this.data);
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- IdAndData idAndData = (IdAndData) o;
- return id == idAndData.id &&
- data == idAndData.data;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(id, data);
- }
-
- @Override
- public String toString() {
- return "IdAndData{" +
- "id=" + id +
- ", data=" + data +
- '}';
- }
-
-}
diff --git a/src/main/java/net/raphimc/vialegacy/api/remapper/AbstractBlockRemapper.java b/src/main/java/net/raphimc/vialegacy/api/remapper/AbstractBlockRemapper.java
index 223e2b2..6451190 100644
--- a/src/main/java/net/raphimc/vialegacy/api/remapper/AbstractBlockRemapper.java
+++ b/src/main/java/net/raphimc/vialegacy/api/remapper/AbstractBlockRemapper.java
@@ -24,7 +24,7 @@ import com.viaversion.viaversion.api.minecraft.chunks.DataPalette;
import com.viaversion.viaversion.api.minecraft.chunks.PaletteType;
import com.viaversion.viaversion.libs.fastutil.ints.Int2IntMap;
import com.viaversion.viaversion.libs.fastutil.ints.Int2IntOpenHashMap;
-import net.raphimc.vialegacy.api.model.IdAndData;
+import com.viaversion.viaversion.util.IdAndData;
public abstract class AbstractBlockRemapper {
@@ -35,7 +35,7 @@ public abstract class AbstractBlockRemapper {
}
protected void registerReplacement(final IdAndData from, final IdAndData to) {
- this.REPLACEMENTS.put(from.toCompressedData(), to.toCompressedData());
+ this.REPLACEMENTS.put(from.toRawData(), to.toRawData());
}
public void remapChunk(final Chunk chunk) {
@@ -60,10 +60,10 @@ public abstract class AbstractBlockRemapper {
}
public void remapBlock(final IdAndData block) {
- if (this.REPLACEMENTS.containsKey(block.toCompressedData())) {
- final int replacement = this.REPLACEMENTS.get(block.toCompressedData());
- block.id = replacement >> 4;
- block.data = replacement & 15;
+ if (this.REPLACEMENTS.containsKey(block.toRawData())) {
+ final int replacement = this.REPLACEMENTS.get(block.toRawData());
+ block.setId(replacement >> 4);
+ block.setData(replacement & 15);
}
}
diff --git a/src/main/java/net/raphimc/vialegacy/api/remapper/AbstractChunkTracker.java b/src/main/java/net/raphimc/vialegacy/api/remapper/AbstractChunkTracker.java
index a6956d2..f3f8cbe 100644
--- a/src/main/java/net/raphimc/vialegacy/api/remapper/AbstractChunkTracker.java
+++ b/src/main/java/net/raphimc/vialegacy/api/remapper/AbstractChunkTracker.java
@@ -24,8 +24,8 @@ import com.viaversion.viaversion.libs.fastutil.ints.Int2IntMap;
import com.viaversion.viaversion.libs.fastutil.ints.Int2IntOpenHashMap;
import com.viaversion.viaversion.libs.fastutil.ints.IntOpenHashSet;
import com.viaversion.viaversion.libs.fastutil.ints.IntSet;
+import com.viaversion.viaversion.util.IdAndData;
import net.raphimc.vialegacy.api.model.ChunkCoord;
-import net.raphimc.vialegacy.api.model.IdAndData;
import java.util.ArrayList;
import java.util.HashMap;
@@ -107,9 +107,9 @@ public abstract class AbstractChunkTracker implements StorableObject {
for (int z = 0; z < 16; z++) {
final int flatBlock = palette.idAt(x, y, z);
if (this.trackAll || this.toTrack.contains(flatBlock >> 4)) {
- final IdAndData block = IdAndData.fromCompressedData(flatBlock);
+ final IdAndData block = IdAndData.fromRawData(flatBlock);
this.remapBlock(block, x + (chunk.getX() << 4), y + (i * 16), z + (chunk.getZ() << 4));
- final int newFlatBlock = block.toCompressedData();
+ final int newFlatBlock = block.toRawData();
if (newFlatBlock != flatBlock) {
palette.setIdAt(x, y, z, newFlatBlock);
}
@@ -130,34 +130,34 @@ public abstract class AbstractChunkTracker implements StorableObject {
if (chunk != null && y >= 0 && y >> 4 < chunk.getSections().length) {
ChunkSection section = chunk.getSections()[y >> 4];
- if (this.trackAll || this.toTrack.contains(block.id)) {
+ if (this.trackAll || this.toTrack.contains(block.getId())) {
if (section == null) {
section = chunk.getSections()[y >> 4] = new ChunkSectionImpl(false);
section.palette(PaletteType.BLOCKS).addId(0);
}
- section.palette(PaletteType.BLOCKS).setIdAt(x & 15, y & 15, z & 15, block.toCompressedData());
+ section.palette(PaletteType.BLOCKS).setIdAt(x & 15, y & 15, z & 15, block.toRawData());
} else if (section != null) {
section.palette(PaletteType.BLOCKS).setIdAt(x & 15, y & 15, z & 15, 0);
}
}
- if (this.replacements.containsKey(block.toCompressedData())) {
- final int newFlatBlock = this.replacements.get(block.toCompressedData());
- block.id = newFlatBlock >> 4;
- block.data = newFlatBlock & 15;
+ if (this.replacements.containsKey(block.toRawData())) {
+ final int newFlatBlock = this.replacements.get(block.toRawData());
+ block.setId(newFlatBlock >> 4);
+ block.setData(newFlatBlock & 15);
}
- if (this.trackAll || this.toTrack.contains(block.id)) {
+ if (this.trackAll || this.toTrack.contains(block.getId())) {
this.remapBlock(block, x, y, z);
}
}
public void remapBlockParticle(final IdAndData block) {
- if (this.replacements.containsKey(block.toCompressedData())) {
- final int newFlatBlock = this.replacements.get(block.toCompressedData());
- block.id = newFlatBlock >> 4;
- block.data = newFlatBlock & 15;
+ if (this.replacements.containsKey(block.toRawData())) {
+ final int newFlatBlock = this.replacements.get(block.toRawData());
+ block.setId(newFlatBlock >> 4);
+ block.setData(newFlatBlock & 15);
}
- if (this.trackAll || this.toTrack.contains(block.id)) {
+ if (this.trackAll || this.toTrack.contains(block.getId())) {
this.remapBlock(block, 0, -16, 0);
}
}
@@ -190,14 +190,14 @@ public abstract class AbstractChunkTracker implements StorableObject {
if (y < 0 || y >> 4 > chunk.getSections().length - 1) return null;
final ChunkSection section = chunk.getSections()[y >> 4];
if (section != null) {
- return IdAndData.fromCompressedData(section.palette(PaletteType.BLOCKS).idAt(x & 15, y & 15, z & 15));
+ return IdAndData.fromRawData(section.palette(PaletteType.BLOCKS).idAt(x & 15, y & 15, z & 15));
}
}
return null;
}
protected void registerReplacement(final IdAndData from, final IdAndData to) {
- this.replacements.put(from.toCompressedData(), to.toCompressedData());
+ this.replacements.put(from.toRawData(), to.toRawData());
}
protected void remapBlock(final IdAndData block, final int x, final int y, final int z) {
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/alpha/protocolb1_0_1_1_1toa1_2_3_5_1_2_6/Protocolb1_0_1_1_1toa1_2_3_5_1_2_6.java b/src/main/java/net/raphimc/vialegacy/protocols/alpha/protocolb1_0_1_1_1toa1_2_3_5_1_2_6/Protocolb1_0_1_1_1toa1_2_3_5_1_2_6.java
index 93949ea..92ab911 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/alpha/protocolb1_0_1_1_1toa1_2_3_5_1_2_6/Protocolb1_0_1_1_1toa1_2_3_5_1_2_6.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/alpha/protocolb1_0_1_1_1toa1_2_3_5_1_2_6/Protocolb1_0_1_1_1toa1_2_3_5_1_2_6.java
@@ -27,10 +27,10 @@ import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
import com.viaversion.viaversion.api.type.Type;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.*;
+import com.viaversion.viaversion.util.IdAndData;
import net.raphimc.vialegacy.ViaLegacy;
import net.raphimc.vialegacy.api.data.BlockList1_6;
import net.raphimc.vialegacy.api.data.ItemList1_6;
-import net.raphimc.vialegacy.api.model.IdAndData;
import net.raphimc.vialegacy.api.protocol.StatelessProtocol;
import net.raphimc.vialegacy.api.splitter.PreNettySplitter;
import net.raphimc.vialegacy.protocols.alpha.protocolb1_0_1_1_1toa1_2_3_5_1_2_6.data.AlphaItems;
@@ -149,7 +149,7 @@ public class Protocolb1_0_1_1_1toa1_2_3_5_1_2_6 extends StatelessProtocolget("id").getValue() : "";
- if (block.id == BlockList1_6.signPost.blockID || block.id == BlockList1_6.signWall.blockID || blockName.equals("Sign")) {
+ if (block.getId() == BlockList1_6.signPost.blockID || block.getId() == BlockList1_6.signWall.blockID || blockName.equals("Sign")) {
final PacketWrapper updateSign = PacketWrapper.create(ClientboundPacketsb1_1.UPDATE_SIGN, wrapper.user());
updateSign.write(Types1_7_6.POSITION_SHORT, pos); // position
updateSign.write(Typesb1_7_0_3.STRING, tag.get("Text1").getValue()); // line 1
@@ -157,7 +157,7 @@ public class Protocolb1_0_1_1_1toa1_2_3_5_1_2_6 extends StatelessProtocolget("Text3").getValue()); // line 3
updateSign.write(Typesb1_7_0_3.STRING, tag.get("Text4").getValue()); // line 4
updateSign.send(Protocolb1_0_1_1_1toa1_2_3_5_1_2_6.class);
- } else if (block.id == BlockList1_6.mobSpawner.blockID || blockName.equals("MobSpawner")) {
+ } else if (block.getId() == BlockList1_6.mobSpawner.blockID || blockName.equals("MobSpawner")) {
if (wrapper.user().getProtocolInfo().getPipeline().contains(Protocol1_2_1_3to1_1.class)) {
final PacketWrapper spawnerData = PacketWrapper.create(ClientboundPackets1_2_1.BLOCK_ENTITY_DATA, wrapper.user());
spawnerData.write(Types1_7_6.POSITION_SHORT, pos); // position
@@ -167,12 +167,12 @@ public class Protocolb1_0_1_1_1toa1_2_3_5_1_2_6 extends StatelessProtocol {
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/alpha/protocolb1_0_1_1_1toa1_2_3_5_1_2_6/data/AlphaItems.java b/src/main/java/net/raphimc/vialegacy/protocols/alpha/protocolb1_0_1_1_1toa1_2_3_5_1_2_6/data/AlphaItems.java
index 4f68d39..0e5093d 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/alpha/protocolb1_0_1_1_1toa1_2_3_5_1_2_6/data/AlphaItems.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/alpha/protocolb1_0_1_1_1toa1_2_3_5_1_2_6/data/AlphaItems.java
@@ -19,8 +19,8 @@ package net.raphimc.vialegacy.protocols.alpha.protocolb1_0_1_1_1toa1_2_3_5_1_2_6
import com.viaversion.viaversion.api.minecraft.item.Item;
import com.viaversion.viaversion.libs.fastutil.ints.*;
+import com.viaversion.viaversion.util.IdAndData;
import net.raphimc.vialegacy.api.data.BlockList1_6;
-import net.raphimc.vialegacy.api.model.IdAndData;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
@@ -312,7 +312,7 @@ public class AlphaItems {
}
});
PLACE_ACTION.put(290, (i, d) -> {
- if (d.value().id == BlockList1_6.grass.blockID || d.value().id == BlockList1_6.dirt.blockID) {
+ if (d.value().getId() == BlockList1_6.grass.blockID || d.value().getId() == BlockList1_6.dirt.blockID) {
i.setData((short) (i.data() + 1));
if (i.data() > 32) {
i.setAmount(i.amount() - 1);
@@ -320,7 +320,7 @@ public class AlphaItems {
}
});
PLACE_ACTION.put(291, (i, d) -> {
- if (d.value().id == BlockList1_6.grass.blockID || d.value().id == BlockList1_6.dirt.blockID) {
+ if (d.value().getId() == BlockList1_6.grass.blockID || d.value().getId() == BlockList1_6.dirt.blockID) {
i.setData((short) (i.data() + 1));
if (i.data() > 64) {
i.setAmount(i.amount() - 1);
@@ -328,7 +328,7 @@ public class AlphaItems {
}
});
PLACE_ACTION.put(292, (i, d) -> {
- if (d.value().id == BlockList1_6.grass.blockID || d.value().id == BlockList1_6.dirt.blockID) {
+ if (d.value().getId() == BlockList1_6.grass.blockID || d.value().getId() == BlockList1_6.dirt.blockID) {
i.setData((short) (i.data() + 1));
if (i.data() > 128) {
i.setAmount(i.amount() - 1);
@@ -336,7 +336,7 @@ public class AlphaItems {
}
});
PLACE_ACTION.put(293, (i, d) -> {
- if (d.value().id == BlockList1_6.grass.blockID || d.value().id == BlockList1_6.dirt.blockID) {
+ if (d.value().getId() == BlockList1_6.grass.blockID || d.value().getId() == BlockList1_6.dirt.blockID) {
i.setData((short) (i.data() + 1));
if (i.data() > 256) {
i.setAmount(i.amount() - 1);
@@ -344,7 +344,7 @@ public class AlphaItems {
}
});
PLACE_ACTION.put(294, (i, d) -> {
- if (d.value().id == BlockList1_6.grass.blockID || d.value().id == BlockList1_6.dirt.blockID) {
+ if (d.value().getId() == BlockList1_6.grass.blockID || d.value().getId() == BlockList1_6.dirt.blockID) {
i.setData((short) (i.data() + 1));
if (i.data() > 64) {
i.setAmount(i.amount() - 1);
@@ -352,7 +352,7 @@ public class AlphaItems {
}
});
PLACE_ACTION.put(295, (i, d) -> {
- if (d.keyInt() == 1 && d.value().id == BlockList1_6.tilledField.blockID) {
+ if (d.keyInt() == 1 && d.value().getId() == BlockList1_6.tilledField.blockID) {
i.setAmount(i.amount() - 1);
}
});
@@ -363,7 +363,7 @@ public class AlphaItems {
if (d.keyInt() == 1) i.setAmount(i.amount() - 1);
});
PLACE_ACTION.put(328, (i, d) -> {
- if (d.value().id == BlockList1_6.rail.blockID) {
+ if (d.value().getId() == BlockList1_6.rail.blockID) {
i.setAmount(i.amount() - 1);
}
});
@@ -371,22 +371,22 @@ public class AlphaItems {
if (d.keyInt() == 1) i.setAmount(i.amount() - 1);
});
PLACE_ACTION.put(342, (i, d) -> {
- if (d.value().id == BlockList1_6.rail.blockID) {
+ if (d.value().getId() == BlockList1_6.rail.blockID) {
i.setAmount(i.amount() - 1);
}
});
PLACE_ACTION.put(343, (i, d) -> {
- if (d.value().id == BlockList1_6.rail.blockID) {
+ if (d.value().getId() == BlockList1_6.rail.blockID) {
i.setAmount(i.amount() - 1);
}
});
PLACE_ACTION.put(2256, (i, d) -> {
- if (d.value().id == BlockList1_6.jukebox.blockID && d.value().data == 0) {
+ if (d.value().getId() == BlockList1_6.jukebox.blockID && d.value().getData() == 0) {
i.setAmount(i.amount() - 1);
}
});
PLACE_ACTION.put(2257, (i, d) -> {
- if (d.value().id == BlockList1_6.jukebox.blockID && d.value().data == 0) {
+ if (d.value().getId() == BlockList1_6.jukebox.blockID && d.value().getData() == 0) {
i.setAmount(i.amount() - 1);
}
});
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/alpha/protocolb1_0_1_1_1toa1_2_3_5_1_2_6/storage/AlphaInventoryTracker.java b/src/main/java/net/raphimc/vialegacy/protocols/alpha/protocolb1_0_1_1_1toa1_2_3_5_1_2_6/storage/AlphaInventoryTracker.java
index ff2080d..52ef44b 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/alpha/protocolb1_0_1_1_1toa1_2_3_5_1_2_6/storage/AlphaInventoryTracker.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/alpha/protocolb1_0_1_1_1toa1_2_3_5_1_2_6/storage/AlphaInventoryTracker.java
@@ -24,10 +24,10 @@ import com.viaversion.viaversion.api.minecraft.item.DataItem;
import com.viaversion.viaversion.api.minecraft.item.Item;
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
import com.viaversion.viaversion.api.type.Type;
+import com.viaversion.viaversion.util.IdAndData;
import net.raphimc.vialegacy.api.LegacyProtocolVersion;
import net.raphimc.vialegacy.api.data.BlockList1_6;
import net.raphimc.vialegacy.api.data.ItemList1_6;
-import net.raphimc.vialegacy.api.model.IdAndData;
import net.raphimc.vialegacy.api.util.BlockFaceUtil;
import net.raphimc.vialegacy.protocols.alpha.protocolb1_0_1_1_1toa1_2_3_5_1_2_6.Protocolb1_0_1_1_1toa1_2_3_5_1_2_6;
import net.raphimc.vialegacy.protocols.alpha.protocolb1_0_1_1_1toa1_2_3_5_1_2_6.data.AlphaItems;
@@ -261,13 +261,13 @@ public class AlphaInventoryTracker extends StoredObject {
AlphaItems.doPlace(handItem, direction, placedAgainst);
if (handItem.identifier() < 256 || handItem.identifier() == ItemList1_6.reed.itemID) { // block item
- if (targetBlock.id == 0 || targetBlock.id == BlockList1_6.waterStill.blockID || targetBlock.id == BlockList1_6.waterMoving.blockID || targetBlock.id == BlockList1_6.lavaStill.blockID || targetBlock.id == BlockList1_6.lavaMoving.blockID || targetBlock.id == BlockList1_6.fire.blockID || targetBlock.id == BlockList1_6.snow.blockID) {
+ if (targetBlock.getId() == 0 || targetBlock.getId() == BlockList1_6.waterStill.blockID || targetBlock.getId() == BlockList1_6.waterMoving.blockID || targetBlock.getId() == BlockList1_6.lavaStill.blockID || targetBlock.getId() == BlockList1_6.lavaMoving.blockID || targetBlock.getId() == BlockList1_6.fire.blockID || targetBlock.getId() == BlockList1_6.snow.blockID) {
handItem.setAmount(handItem.amount() - 1);
}
} else if (handItem.identifier() == ItemList1_6.sign.itemID) {
- if (direction != 0 && targetBlock.id == 0) handItem.setAmount(handItem.amount() - 1);
+ if (direction != 0 && targetBlock.getId() == 0) handItem.setAmount(handItem.amount() - 1);
} else if (handItem.identifier() == ItemList1_6.redstone.itemID) {
- if (targetBlock.id == 0) handItem.setAmount(handItem.amount() - 1);
+ if (targetBlock.getId() == 0) handItem.setAmount(handItem.amount() - 1);
}
}
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/beta/protocol1_0_0_1tob1_8_0_1/task/PlayerAirTimeUpdateTask.java b/src/main/java/net/raphimc/vialegacy/protocols/beta/protocol1_0_0_1tob1_8_0_1/task/PlayerAirTimeUpdateTask.java
index 1f6ffbf..e3c023d 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/beta/protocol1_0_0_1tob1_8_0_1/task/PlayerAirTimeUpdateTask.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/beta/protocol1_0_0_1tob1_8_0_1/task/PlayerAirTimeUpdateTask.java
@@ -23,9 +23,9 @@ import com.viaversion.viaversion.api.connection.UserConnection;
import com.viaversion.viaversion.api.minecraft.metadata.Metadata;
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
import com.viaversion.viaversion.api.type.Type;
+import com.viaversion.viaversion.util.IdAndData;
import net.raphimc.vialegacy.ViaLegacy;
import net.raphimc.vialegacy.api.data.BlockList1_6;
-import net.raphimc.vialegacy.api.model.IdAndData;
import net.raphimc.vialegacy.protocols.beta.protocol1_0_0_1tob1_8_0_1.Protocol1_0_0_1tob1_8_0_1;
import net.raphimc.vialegacy.protocols.beta.protocol1_0_0_1tob1_8_0_1.storage.PlayerAirTimeStorage;
import net.raphimc.vialegacy.protocols.release.protocol1_1to1_0_0_1.ClientboundPackets1_0;
@@ -50,7 +50,7 @@ public class PlayerAirTimeUpdateTask implements Runnable {
try {
final IdAndData headBlock = info.get(ChunkTracker.class).getBlockNotNull(floor(playerInfoStorage.posX), floor(playerInfoStorage.posY + 1.62F), floor(playerInfoStorage.posZ));
- if (headBlock.id == BlockList1_6.waterMoving.blockID || headBlock.id == BlockList1_6.waterStill.blockID) {
+ if (headBlock.getId() == BlockList1_6.waterMoving.blockID || headBlock.getId() == BlockList1_6.waterStill.blockID) {
playerAirTimeStorage.sentPacket = false;
playerAirTimeStorage.air--;
if (playerAirTimeStorage.air < 0) playerAirTimeStorage.air = 0;
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_2_0_2tob1_1_2/Protocolb1_2_0_2tob1_1_2.java b/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_2_0_2tob1_1_2/Protocolb1_2_0_2tob1_1_2.java
index 1aeb937..eba5e03 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_2_0_2tob1_1_2/Protocolb1_2_0_2tob1_1_2.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_2_0_2tob1_1_2/Protocolb1_2_0_2tob1_1_2.java
@@ -24,7 +24,7 @@ import com.viaversion.viaversion.api.minecraft.metadata.Metadata;
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
import com.viaversion.viaversion.api.type.Type;
-import net.raphimc.vialegacy.api.model.IdAndData;
+import com.viaversion.viaversion.util.IdAndData;
import net.raphimc.vialegacy.api.protocol.StatelessProtocol;
import net.raphimc.vialegacy.api.splitter.PreNettySplitter;
import net.raphimc.vialegacy.protocols.beta.protocolb1_2_0_2tob1_1_2.rewriter.BlockDataRewriter;
@@ -155,8 +155,8 @@ public class Protocolb1_2_0_2tob1_1_2 extends StatelessProtocol {
final IdAndData block = new IdAndData(wrapper.get(Type.UNSIGNED_BYTE, 0), wrapper.get(Type.UNSIGNED_BYTE, 1));
BLOCK_DATA_REWRITER.remapBlock(block);
- wrapper.set(Type.UNSIGNED_BYTE, 0, (short) block.id);
- wrapper.set(Type.UNSIGNED_BYTE, 1, (short) block.data);
+ wrapper.set(Type.UNSIGNED_BYTE, 0, (short) block.getId());
+ wrapper.set(Type.UNSIGNED_BYTE, 1, (short) block.getData());
});
}
});
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_2_0_2tob1_1_2/rewriter/BlockDataRewriter.java b/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_2_0_2tob1_1_2/rewriter/BlockDataRewriter.java
index 2a665d4..0af7a7b 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_2_0_2tob1_1_2/rewriter/BlockDataRewriter.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_2_0_2tob1_1_2/rewriter/BlockDataRewriter.java
@@ -17,8 +17,8 @@
*/
package net.raphimc.vialegacy.protocols.beta.protocolb1_2_0_2tob1_1_2.rewriter;
+import com.viaversion.viaversion.util.IdAndData;
import net.raphimc.vialegacy.api.data.BlockList1_6;
-import net.raphimc.vialegacy.api.model.IdAndData;
import net.raphimc.vialegacy.api.remapper.AbstractBlockRemapper;
public class BlockDataRewriter extends AbstractBlockRemapper {
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_3_0_1tob1_2_0_2/Protocolb1_3_0_1tob1_2_0_2.java b/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_3_0_1tob1_2_0_2/Protocolb1_3_0_1tob1_2_0_2.java
index f5ac43e..076ec6e 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_3_0_1tob1_2_0_2/Protocolb1_3_0_1tob1_2_0_2.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_3_0_1tob1_2_0_2/Protocolb1_3_0_1tob1_2_0_2.java
@@ -25,7 +25,7 @@ import com.viaversion.viaversion.api.platform.providers.ViaProviders;
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
import com.viaversion.viaversion.api.type.Type;
-import net.raphimc.vialegacy.api.model.IdAndData;
+import com.viaversion.viaversion.util.IdAndData;
import net.raphimc.vialegacy.api.protocol.StatelessProtocol;
import net.raphimc.vialegacy.api.splitter.PreNettySplitter;
import net.raphimc.vialegacy.protocols.beta.protocolb1_3_0_1tob1_2_0_2.data.BlockHardnessList;
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_3_0_1tob1_2_0_2/data/BlockHardnessList.java b/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_3_0_1tob1_2_0_2/data/BlockHardnessList.java
index 09901e9..314d51d 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_3_0_1tob1_2_0_2/data/BlockHardnessList.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_3_0_1tob1_2_0_2/data/BlockHardnessList.java
@@ -17,7 +17,7 @@
*/
package net.raphimc.vialegacy.protocols.beta.protocolb1_3_0_1tob1_2_0_2.data;
-import net.raphimc.vialegacy.api.model.IdAndData;
+import com.viaversion.viaversion.util.IdAndData;
import java.util.HashMap;
import java.util.Map;
@@ -116,7 +116,7 @@ public class BlockHardnessList {
}
public static boolean canBeBrokenInstantly(final IdAndData block) {
- return canBeBrokenInstantly(block.id);
+ return canBeBrokenInstantly(block.getId());
}
}
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_6_0_6tob1_5_0_2/Protocolb1_6_0_6tob1_5_0_2.java b/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_6_0_6tob1_5_0_2/Protocolb1_6_0_6tob1_5_0_2.java
index d6a0548..eccb45c 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_6_0_6tob1_5_0_2/Protocolb1_6_0_6tob1_5_0_2.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_6_0_6tob1_5_0_2/Protocolb1_6_0_6tob1_5_0_2.java
@@ -25,9 +25,9 @@ import com.viaversion.viaversion.api.platform.providers.ViaProviders;
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
import com.viaversion.viaversion.api.type.Type;
+import com.viaversion.viaversion.util.IdAndData;
import net.raphimc.vialegacy.api.data.BlockList1_6;
import net.raphimc.vialegacy.api.data.ItemList1_6;
-import net.raphimc.vialegacy.api.model.IdAndData;
import net.raphimc.vialegacy.api.protocol.StatelessProtocol;
import net.raphimc.vialegacy.api.splitter.PreNettySplitter;
import net.raphimc.vialegacy.protocols.beta.protocolb1_6_0_6tob1_5_0_2.storage.WorldTimeStorage;
@@ -90,17 +90,17 @@ public class Protocolb1_6_0_6tob1_5_0_2 extends StatelessProtocol 0) {
+ } else if (block.getId() == BlockList1_6.jukebox.blockID) {
+ if (block.getData() > 0) {
final PacketWrapper effect = PacketWrapper.create(ClientboundPacketsb1_7.EFFECT, wrapper.user());
effect.write(Type.INT, 1005); // effect id
effect.write(Types1_7_6.POSITION_UBYTE, pos); // position
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_8_0_1tob1_7_0_3/Protocolb1_8_0_1tob1_7_0_3.java b/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_8_0_1tob1_7_0_3/Protocolb1_8_0_1tob1_7_0_3.java
index 4d419c1..4434d06 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_8_0_1tob1_7_0_3/Protocolb1_8_0_1tob1_7_0_3.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/beta/protocolb1_8_0_1tob1_7_0_3/Protocolb1_8_0_1tob1_7_0_3.java
@@ -297,7 +297,7 @@ public class Protocolb1_8_0_1tob1_7_0_3 extends StatelessProtocol> 4, pos.z() >> 4), k -> new ArrayList<>()).add(new BlockChangeRecord1_8(pos.x() & 15, pos.y(), pos.z() & 15, mappedBlock.toCompressedData()));
+ records.computeIfAbsent(new ChunkCoord(pos.x() >> 4, pos.z() >> 4), k -> new ArrayList<>()).add(new BlockChangeRecord1_8(pos.x() & 15, pos.y(), pos.z() & 15, mappedBlock.toRawData()));
}
for (Map.Entry> entry : records.entrySet()) {
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/classic/protocolc0_28_30toc0_28_30cpe/data/ExtendedClassicBlocks.java b/src/main/java/net/raphimc/vialegacy/protocols/classic/protocolc0_28_30toc0_28_30cpe/data/ExtendedClassicBlocks.java
index 041cac3..ce2f01d 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/classic/protocolc0_28_30toc0_28_30cpe/data/ExtendedClassicBlocks.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/classic/protocolc0_28_30toc0_28_30cpe/data/ExtendedClassicBlocks.java
@@ -21,8 +21,8 @@ import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectMap;
import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectOpenHashMap;
import com.viaversion.viaversion.libs.fastutil.objects.Object2IntMap;
import com.viaversion.viaversion.libs.fastutil.objects.Object2IntOpenHashMap;
+import com.viaversion.viaversion.util.IdAndData;
import net.raphimc.vialegacy.api.data.BlockList1_6;
-import net.raphimc.vialegacy.api.model.IdAndData;
import net.raphimc.vialegacy.protocols.classic.protocola1_0_15toc0_28_30.data.ClassicBlocks;
public class ExtendedClassicBlocks {
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_2_1_3to1_1/Protocol1_2_1_3to1_1.java b/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_2_1_3to1_1/Protocol1_2_1_3to1_1.java
index d2f1905..7d23302 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_2_1_3to1_1/Protocol1_2_1_3to1_1.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_2_1_3to1_1/Protocol1_2_1_3to1_1.java
@@ -28,9 +28,9 @@ import com.viaversion.viaversion.api.platform.providers.ViaProviders;
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
import com.viaversion.viaversion.api.type.Type;
+import com.viaversion.viaversion.util.IdAndData;
import net.raphimc.vialegacy.ViaLegacy;
import net.raphimc.vialegacy.api.LegacyProtocolVersion;
-import net.raphimc.vialegacy.api.model.IdAndData;
import net.raphimc.vialegacy.api.protocol.StatelessProtocol;
import net.raphimc.vialegacy.api.remapper.LegacyItemRewriter;
import net.raphimc.vialegacy.api.splitter.PreNettySplitter;
@@ -253,7 +253,7 @@ public class Protocol1_2_1_3to1_1 extends StatelessProtocol {
@@ -47,7 +47,7 @@ public class BlockChangeRecordArrayType extends Type {
final BlockChangeRecord[] blockChangeRecords = new BlockChangeRecord[length];
for (int i = 0; i < length; i++) {
- blockChangeRecords[i] = new BlockChangeRecord1_8(positions[i] >> 12 & 15, positions[i] & 255, positions[i] >> 8 & 15, IdAndData.toCompressedData(blocks[i], metas[i]));
+ blockChangeRecords[i] = new BlockChangeRecord1_8(positions[i] >> 12 & 15, positions[i] & 255, positions[i] >> 8 & 15, IdAndData.toRawData(blocks[i], metas[i]));
}
return blockChangeRecords;
}
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_2_1_3to1_1/types/ChunkType1_1.java b/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_2_1_3to1_1/types/ChunkType1_1.java
index 4f1f767..3078a19 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_2_1_3to1_1/types/ChunkType1_1.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_2_1_3to1_1/types/ChunkType1_1.java
@@ -20,8 +20,8 @@ package net.raphimc.vialegacy.protocols.release.protocol1_2_1_3to1_1.types;
import com.viaversion.viaversion.api.minecraft.Position;
import com.viaversion.viaversion.api.minecraft.chunks.*;
import com.viaversion.viaversion.api.type.Type;
+import com.viaversion.viaversion.util.IdAndData;
import io.netty.buffer.ByteBuf;
-import net.raphimc.vialegacy.api.model.IdAndData;
import net.raphimc.vialegacy.protocols.release.protocol1_2_1_3to1_1.chunks.NibbleArray1_1;
import net.raphimc.vialegacy.protocols.release.protocol1_2_1_3to1_1.model.NonFullChunk1_1;
@@ -149,7 +149,7 @@ public class ChunkType1_1 extends Type {
for (int x = startX; x < endX; x++) {
for (int z = startZ; z < endZ; z++) {
- section.palette(PaletteType.BLOCKS).setIdAt(x, y & 15, z, IdAndData.toCompressedData(blockArray[x << 11 | z << 7 | y] & 255, blockDataArray.get(x, y, z)));
+ section.palette(PaletteType.BLOCKS).setIdAt(x, y & 15, z, IdAndData.toRawData(blockArray[x << 11 | z << 7 | y] & 255, blockDataArray.get(x, y, z)));
sectionSkyLight.set(x, y & 15, z, skyLightArray.get(x, y, z));
sectionBlockLight.set(x, y & 15, z, blockLightArray.get(x, y, z));
}
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_3_1_2to1_2_4_5/Protocol1_3_1_2to1_2_4_5.java b/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_3_1_2to1_2_4_5/Protocol1_3_1_2to1_2_4_5.java
index 01c332f..707ebab 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_3_1_2to1_2_4_5/Protocol1_3_1_2to1_2_4_5.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_3_1_2to1_2_4_5/Protocol1_3_1_2to1_2_4_5.java
@@ -39,9 +39,9 @@ import com.viaversion.viaversion.libs.opennbt.tag.builtin.IntTag;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.ShortTag;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.StringTag;
import com.viaversion.viaversion.util.ChunkUtil;
+import com.viaversion.viaversion.util.IdAndData;
import net.raphimc.vialegacy.ViaLegacy;
import net.raphimc.vialegacy.api.data.BlockList1_6;
-import net.raphimc.vialegacy.api.model.IdAndData;
import net.raphimc.vialegacy.api.model.Location;
import net.raphimc.vialegacy.api.protocol.StatelessProtocol;
import net.raphimc.vialegacy.api.remapper.LegacyItemRewriter;
@@ -487,7 +487,7 @@ public class Protocol1_3_1_2to1_2_4_5 extends StatelessProtocol {
final IdAndData block = wrapper.user().get(ChunkTracker.class).getBlockNotNull(wrapper.get(Types1_7_6.POSITION_SHORT, 0));
- wrapper.write(Type.SHORT, (short) block.id); // block id
+ wrapper.write(Type.SHORT, (short) block.getId()); // block id
final EntityTracker entityTracker = wrapper.user().get(EntityTracker.class);
final Position pos = wrapper.get(Types1_7_6.POSITION_SHORT, 0);
@@ -500,7 +500,7 @@ public class Protocol1_3_1_2to1_2_4_5 extends StatelessProtocol> 16;
final IdAndData block = new IdAndData(id, metadata);
wrapper.user().get(ChunkTracker.class).remapBlockParticle(block);
- data = (block.id & 0xFFFF) | block.data << 16;
+ data = (block.getId() & 0xFFFF) | block.getData() << 16;
}
wrapper.set(Type.INT, 3, data);
});
@@ -409,10 +409,10 @@ public class Protocol1_7_2_5to1_6_4 extends StatelessTransitionProtocol> 12 & 255;
final IdAndData block = new IdAndData(blockID, blockData);
chunkTracker.remapBlockParticle(block);
- data = (block.id & 4095) | block.data << 12;
+ data = (block.getId() & 4095) | block.getData() << 12;
wrapper.set(Type.INT, 1, data);
}
@@ -552,8 +552,8 @@ public class Protocol1_7_2_5to1_6_4 extends StatelessTransitionProtocol> 16;
final IdAndData block = new IdAndData(id, metadata);
wrapper.user().get(ChunkTracker.class).remapBlockParticle(block);
- data = block.id | block.data << 12;
+ data = block.getId() | block.getData() << 12;
}
y = realignEntityY(type, y);
@@ -632,10 +632,10 @@ public class Protocol1_8to1_7_6_10 extends AbstractProtocol 2.5D) var21 = 2.5D;
final float var25 = randomFloatClamp(rnd, 0.0F, ((float) Math.PI * 2F));
@@ -734,7 +734,7 @@ public class Protocol1_8to1_7_6_10 extends AbstractProtocol> 12 & 255;
final IdAndData block = new IdAndData(blockID, blockData);
chunkTracker.remapBlockParticle(block);
- data = block.id | (block.data << 12);
+ data = block.getId() | (block.getData() << 12);
}
wrapper.write(Type.INT, effectId);
@@ -790,7 +790,7 @@ public class Protocol1_8to1_7_6_10 extends AbstractProtocol 0)
throw new IllegalStateException("Tried to write particle which requires extra data, but no handler was found");
});
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_8to1_7_6_10/metadata/MetadataRewriter.java b/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_8to1_7_6_10/metadata/MetadataRewriter.java
index 314f70d..5eaff07 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_8to1_7_6_10/metadata/MetadataRewriter.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_8to1_7_6_10/metadata/MetadataRewriter.java
@@ -21,8 +21,8 @@ import com.viaversion.viaversion.api.connection.UserConnection;
import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_10;
import com.viaversion.viaversion.api.minecraft.item.Item;
import com.viaversion.viaversion.api.minecraft.metadata.Metadata;
+import com.viaversion.viaversion.util.IdAndData;
import net.raphimc.vialegacy.ViaLegacy;
-import net.raphimc.vialegacy.api.model.IdAndData;
import net.raphimc.vialegacy.protocols.release.protocol1_8to1_7_6_10.Protocol1_8to1_7_6_10;
import net.raphimc.vialegacy.protocols.release.protocol1_8to1_7_6_10.storage.ChunkTracker;
@@ -72,7 +72,7 @@ public class MetadataRewriter {
final byte data = blockDataMeta != null ? (Byte) blockDataMeta.getValue() : 0;
final IdAndData block = new IdAndData(id, data);
user.get(ChunkTracker.class).remapBlockParticle(block);
- entry.setValue((short) (block.id | (block.data << 12)));
+ entry.setValue((short) (block.getId() | (block.getData() << 12)));
continue;
} else if (metaIndex == MetaIndex1_8to1_7_6.HUMAN_SKIN_FLAGS) {
byte flags = (byte) value;
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_8to1_7_6_10/storage/ChunkTracker.java b/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_8to1_7_6_10/storage/ChunkTracker.java
index 4a2393c..2814c5a 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_8to1_7_6_10/storage/ChunkTracker.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_8to1_7_6_10/storage/ChunkTracker.java
@@ -18,8 +18,8 @@
package net.raphimc.vialegacy.protocols.release.protocol1_8to1_7_6_10.storage;
import com.viaversion.viaversion.api.minecraft.chunks.DataPalette;
+import com.viaversion.viaversion.util.IdAndData;
import net.raphimc.vialegacy.api.data.BlockList1_6;
-import net.raphimc.vialegacy.api.model.IdAndData;
import net.raphimc.vialegacy.api.remapper.AbstractChunkTracker;
public class ChunkTracker extends AbstractChunkTracker {
@@ -43,11 +43,11 @@ public class ChunkTracker extends AbstractChunkTracker {
@Override
protected void remapBlock(IdAndData block, int x, int y, int z) {
- if (block.id == BlockList1_6.portal.blockID && block.data == 0) {
- if (this.getBlockNotNull(x - 1, y, z).id == BlockList1_6.obsidian.blockID || this.getBlockNotNull(x + 1, y, z).id == BlockList1_6.obsidian.blockID) {
- block.data = 1;
+ if (block.getId() == BlockList1_6.portal.blockID && block.getData() == 0) {
+ if (this.getBlockNotNull(x - 1, y, z).getId() == BlockList1_6.obsidian.blockID || this.getBlockNotNull(x + 1, y, z).getId() == BlockList1_6.obsidian.blockID) {
+ block.setData(1);
} else {
- block.data = 2;
+ block.setData(2);
}
}
}
diff --git a/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_8to1_7_6_10/types/ChunkType1_7_6.java b/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_8to1_7_6_10/types/ChunkType1_7_6.java
index 27b991a..7df29e3 100644
--- a/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_8to1_7_6_10/types/ChunkType1_7_6.java
+++ b/src/main/java/net/raphimc/vialegacy/protocols/release/protocol1_8to1_7_6_10/types/ChunkType1_7_6.java
@@ -19,9 +19,9 @@ package net.raphimc.vialegacy.protocols.release.protocol1_8to1_7_6_10.types;
import com.viaversion.viaversion.api.minecraft.chunks.*;
import com.viaversion.viaversion.api.type.Type;
+import com.viaversion.viaversion.util.IdAndData;
import com.viaversion.viaversion.util.Pair;
import io.netty.buffer.ByteBuf;
-import net.raphimc.vialegacy.api.model.IdAndData;
import net.raphimc.vialegacy.protocols.release.protocol1_8to1_7_6_10.chunks.ExtendedBlockStorage;
import java.io.ByteArrayOutputStream;
@@ -188,7 +188,7 @@ public class ChunkType1_7_6 extends Type {
for (int x = 0; x < 16; x++) {
for (int z = 0; z < 16; z++) {
for (int y = 0; y < 16; y++) {
- section.palette(PaletteType.BLOCKS).setIdAt(x, y, z, IdAndData.toCompressedData(storage.getBlockId(x, y, z), storage.getBlockMetadata(x, y, z)));
+ section.palette(PaletteType.BLOCKS).setIdAt(x, y, z, IdAndData.toRawData(storage.getBlockId(x, y, z), storage.getBlockMetadata(x, y, z)));
}
}
}