Mirror von
https://github.com/ViaVersion/ViaVersion.git
synchronisiert 2024-12-27 00:22:51 +01:00
18w07c - Fix some inventory issues + mappings, thanks Gerrygames
Dieser Commit ist enthalten in:
Ursprung
00dedaa1ff
Commit
700f0c293e
@ -13,6 +13,8 @@ import us.myles.ViaVersion.packets.State;
|
|||||||
import us.myles.ViaVersion.protocols.protocolsnapshotto1_12_2.data.MappingData;
|
import us.myles.ViaVersion.protocols.protocolsnapshotto1_12_2.data.MappingData;
|
||||||
import us.myles.ViaVersion.protocols.protocolsnapshotto1_12_2.data.SoundSource;
|
import us.myles.ViaVersion.protocols.protocolsnapshotto1_12_2.data.SoundSource;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class InventoryPackets {
|
public class InventoryPackets {
|
||||||
private static String NBT_TAG_NAME;
|
private static String NBT_TAG_NAME;
|
||||||
|
|
||||||
@ -202,7 +204,7 @@ public class InventoryPackets {
|
|||||||
if (MappingData.oldToNewItems.containsKey(item.getId() << 4)) {
|
if (MappingData.oldToNewItems.containsKey(item.getId() << 4)) {
|
||||||
rawId = item.getId() << 4;
|
rawId = item.getId() << 4;
|
||||||
} else {
|
} else {
|
||||||
System.out.println("FAILED TO GET ITEM FOR " + item.getId()); // TODO: Make this nicer etc, perhaps fix issues with mapping :T
|
System.out.println("FAILED TO GET 1.13 ITEM FOR " + item.getId()); // TODO: Make this nicer etc, perhaps fix issues with mapping :T
|
||||||
rawId = 16; // Stone
|
rawId = 16; // Stone
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -217,18 +219,32 @@ public class InventoryPackets {
|
|||||||
|
|
||||||
public static void toServer(Item item) {
|
public static void toServer(Item item) {
|
||||||
if (item == null) return;
|
if (item == null) return;
|
||||||
|
int rawId = -1;
|
||||||
if (item.getTag() != null) {
|
if (item.getTag() != null) {
|
||||||
CompoundTag tag = item.getTag();
|
CompoundTag tag = item.getTag();
|
||||||
// Check for valid tag
|
// Check for valid tag
|
||||||
if (tag.contains(NBT_TAG_NAME)) {
|
if (tag.contains(NBT_TAG_NAME)) {
|
||||||
if (tag.get(NBT_TAG_NAME) instanceof IntTag) {
|
if (tag.get(NBT_TAG_NAME) instanceof IntTag) {
|
||||||
int rawId = (int) tag.get(NBT_TAG_NAME).getValue();
|
rawId = (int) tag.get(NBT_TAG_NAME).getValue();
|
||||||
item.setId((short) (rawId >> 4));
|
|
||||||
item.setData((short) (rawId & 0xF));
|
|
||||||
// Remove the tag
|
// Remove the tag
|
||||||
tag.remove(NBT_TAG_NAME);
|
tag.remove(NBT_TAG_NAME);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (rawId == -1){
|
||||||
|
int itemID = item.getId();
|
||||||
|
for (Map.Entry<Integer,Integer> entry : MappingData.oldToNewItems.entrySet()){
|
||||||
|
if (entry.getValue() == itemID){
|
||||||
|
rawId = entry.getKey();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (rawId != -1) {
|
||||||
|
item.setId((short) (rawId >> 4));
|
||||||
|
item.setData((short) (rawId & 0xF));
|
||||||
|
} else {
|
||||||
|
System.out.println("FAILED TO GET 1.12 ITEM FOR " + item.getId()); // TODO: Make this nicer etc, perhaps fix issues with mapping :T
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,24 +3,13 @@ package us.myles.ViaVersion.protocols.protocolsnapshotto1_12_2.type;
|
|||||||
import com.github.steveice10.opennbt.tag.builtin.CompoundTag;
|
import com.github.steveice10.opennbt.tag.builtin.CompoundTag;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import io.netty.buffer.Unpooled;
|
import io.netty.buffer.Unpooled;
|
||||||
import us.myles.ViaVersion.api.Via;
|
|
||||||
import us.myles.ViaVersion.api.minecraft.Environment;
|
|
||||||
import us.myles.ViaVersion.api.minecraft.chunks.Chunk;
|
import us.myles.ViaVersion.api.minecraft.chunks.Chunk;
|
||||||
import us.myles.ViaVersion.api.minecraft.chunks.ChunkSection;
|
import us.myles.ViaVersion.api.minecraft.chunks.ChunkSection;
|
||||||
import us.myles.ViaVersion.api.type.PartialType;
|
import us.myles.ViaVersion.api.type.PartialType;
|
||||||
import us.myles.ViaVersion.api.type.Type;
|
import us.myles.ViaVersion.api.type.Type;
|
||||||
import us.myles.ViaVersion.api.type.types.minecraft.BaseChunkType;
|
import us.myles.ViaVersion.api.type.types.minecraft.BaseChunkType;
|
||||||
import us.myles.ViaVersion.protocols.protocol1_9_1_2to1_9_3_4.chunks.Chunk1_9_3_4;
|
|
||||||
import us.myles.ViaVersion.protocols.protocol1_9_1_2to1_9_3_4.chunks.ChunkSection1_9_3_4;
|
|
||||||
import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld;
|
import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld;
|
||||||
|
|
||||||
import java.nio.ByteBuffer;
|
|
||||||
import java.nio.IntBuffer;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.BitSet;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class Chunk1_13Type extends PartialType<Chunk, ClientWorld> {
|
public class Chunk1_13Type extends PartialType<Chunk, ClientWorld> {
|
||||||
public Chunk1_13Type(ClientWorld param) {
|
public Chunk1_13Type(ClientWorld param) {
|
||||||
super(param, Chunk.class);
|
super(param, Chunk.class);
|
||||||
|
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren