Mirror von
https://github.com/ViaVersion/ViaVersion.git
synchronisiert 2024-11-20 06:50:08 +01:00
22w16a (except you have off-centered paintings)
Dieser Commit ist enthalten in:
Ursprung
f71288e299
Commit
8b51430555
@ -106,4 +106,6 @@ public interface MappingData {
|
|||||||
@Nullable Mappings getEnchantmentMappings();
|
@Nullable Mappings getEnchantmentMappings();
|
||||||
|
|
||||||
@Nullable FullMappingData getArgumentTypeMappings();
|
@Nullable FullMappingData getArgumentTypeMappings();
|
||||||
|
|
||||||
|
@Nullable Mappings getPaintingMappings();
|
||||||
}
|
}
|
||||||
|
@ -52,6 +52,7 @@ public class MappingDataBase implements MappingData {
|
|||||||
protected Mappings soundMappings;
|
protected Mappings soundMappings;
|
||||||
protected Mappings statisticsMappings;
|
protected Mappings statisticsMappings;
|
||||||
protected Mappings enchantmentMappings;
|
protected Mappings enchantmentMappings;
|
||||||
|
protected Mappings paintingMappings;
|
||||||
protected Map<RegistryType, List<TagData>> tags;
|
protected Map<RegistryType, List<TagData>> tags;
|
||||||
protected boolean loadItems = true;
|
protected boolean loadItems = true;
|
||||||
|
|
||||||
@ -78,6 +79,7 @@ public class MappingDataBase implements MappingData {
|
|||||||
soundMappings = loadFromArray(oldMappings, newMappings, diffmapping, "sounds");
|
soundMappings = loadFromArray(oldMappings, newMappings, diffmapping, "sounds");
|
||||||
statisticsMappings = loadFromArray(oldMappings, newMappings, diffmapping, "statistics");
|
statisticsMappings = loadFromArray(oldMappings, newMappings, diffmapping, "statistics");
|
||||||
enchantmentMappings = loadFromArray(oldMappings, newMappings, diffmapping, "enchantments");
|
enchantmentMappings = loadFromArray(oldMappings, newMappings, diffmapping, "enchantments");
|
||||||
|
paintingMappings = loadFromArray(oldMappings, newMappings, diffmapping, "paintings");
|
||||||
|
|
||||||
Mappings argumentTypeMappings = loadFromArray(oldMappings, newMappings, diffmapping, "argumenttypes");
|
Mappings argumentTypeMappings = loadFromArray(oldMappings, newMappings, diffmapping, "argumenttypes");
|
||||||
if (argumentTypeMappings != null) {
|
if (argumentTypeMappings != null) {
|
||||||
@ -210,6 +212,11 @@ public class MappingDataBase implements MappingData {
|
|||||||
return argumentTypeMappings;
|
return argumentTypeMappings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public @Nullable Mappings getPaintingMappings() {
|
||||||
|
return paintingMappings;
|
||||||
|
}
|
||||||
|
|
||||||
protected @Nullable Mappings loadFromArray(JsonObject oldMappings, JsonObject newMappings, @Nullable JsonObject diffMappings, String key) {
|
protected @Nullable Mappings loadFromArray(JsonObject oldMappings, JsonObject newMappings, @Nullable JsonObject diffMappings, String key) {
|
||||||
if (!oldMappings.has(key) || !newMappings.has(key)) return null;
|
if (!oldMappings.has(key) || !newMappings.has(key)) return null;
|
||||||
|
|
||||||
|
@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of ViaVersion - https://github.com/ViaVersion/ViaVersion
|
||||||
|
* Copyright (C) 2016-2022 ViaVersion and contributors
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in all
|
||||||
|
* copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
* SOFTWARE.
|
||||||
|
*/
|
||||||
|
package com.viaversion.viaversion.api.minecraft;
|
||||||
|
|
||||||
|
public class Position3d {
|
||||||
|
private final double x;
|
||||||
|
private final double y;
|
||||||
|
private final double z;
|
||||||
|
|
||||||
|
public Position3d(final double x, final double y, final double z) {
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
this.z = z;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double x() {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double y() {
|
||||||
|
return y;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double z() {
|
||||||
|
return z;
|
||||||
|
}
|
||||||
|
}
|
@ -50,9 +50,10 @@ public final class MetaTypes1_19 extends AbstractMetaTypes {
|
|||||||
public final MetaType catVariantType = add(19, Type.VAR_INT);
|
public final MetaType catVariantType = add(19, Type.VAR_INT);
|
||||||
public final MetaType frogVariantType = add(20, Type.VAR_INT);
|
public final MetaType frogVariantType = add(20, Type.VAR_INT);
|
||||||
public final MetaType optionalGlobalPosition = add(21, Type.OPTIONAL_GLOBAL_POSITION);
|
public final MetaType optionalGlobalPosition = add(21, Type.OPTIONAL_GLOBAL_POSITION);
|
||||||
|
public final MetaType paintingVariantType = add(22, Type.VAR_INT);
|
||||||
|
|
||||||
public MetaTypes1_19(final ParticleType particleType) {
|
public MetaTypes1_19(final ParticleType particleType) {
|
||||||
super(22);
|
super(23);
|
||||||
this.particleType = add(15, particleType);
|
this.particleType = add(15, particleType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -80,7 +80,7 @@ public class ProtocolVersion {
|
|||||||
public static final ProtocolVersion v1_17_1 = register(756, "1.17.1");
|
public static final ProtocolVersion v1_17_1 = register(756, "1.17.1");
|
||||||
public static final ProtocolVersion v1_18 = register(757, "1.18/1.18.1", new VersionRange("1.18", 0, 1));
|
public static final ProtocolVersion v1_18 = register(757, "1.18/1.18.1", new VersionRange("1.18", 0, 1));
|
||||||
public static final ProtocolVersion v1_18_2 = register(758, "1.18.2");
|
public static final ProtocolVersion v1_18_2 = register(758, "1.18.2");
|
||||||
public static final ProtocolVersion v1_19 = register(759, 79, "1.19");
|
public static final ProtocolVersion v1_19 = register(759, 80, "1.19");
|
||||||
public static final ProtocolVersion unknown = register(-1, "UNKNOWN");
|
public static final ProtocolVersion unknown = register(-1, "UNKNOWN");
|
||||||
|
|
||||||
public static ProtocolVersion register(int version, String name) {
|
public static ProtocolVersion register(int version, String name) {
|
||||||
|
@ -23,106 +23,105 @@ public enum ClientboundPackets1_19 implements ClientboundPacketType {
|
|||||||
|
|
||||||
SPAWN_ENTITY, // 0x00
|
SPAWN_ENTITY, // 0x00
|
||||||
SPAWN_EXPERIENCE_ORB, // 0x01
|
SPAWN_EXPERIENCE_ORB, // 0x01
|
||||||
SPAWN_PAINTING, // 0x02
|
SPAWN_PLAYER, // 0x02
|
||||||
SPAWN_PLAYER, // 0x03
|
ENTITY_ANIMATION, // 0x03
|
||||||
ENTITY_ANIMATION, // 0x04
|
STATISTICS, // 0x04
|
||||||
STATISTICS, // 0x05
|
BLOCK_CHANGED_ACK, // 0x05
|
||||||
BLOCK_CHANGED_ACK, // 0x06
|
BLOCK_BREAK_ANIMATION, // 0x06
|
||||||
BLOCK_BREAK_ANIMATION, // 0x07
|
BLOCK_ENTITY_DATA, // 0x07
|
||||||
BLOCK_ENTITY_DATA, // 0x08
|
BLOCK_ACTION, // 0x08
|
||||||
BLOCK_ACTION, // 0x09
|
BLOCK_CHANGE, // 0x09
|
||||||
BLOCK_CHANGE, // 0x0A
|
BOSSBAR, // 0x0A
|
||||||
BOSSBAR, // 0x0B
|
SERVER_DIFFICULTY, // 0x0B
|
||||||
SERVER_DIFFICULTY, // 0x0C
|
CHAT_MESSAGE, // 0x0C
|
||||||
CHAT_MESSAGE, // 0x0D
|
CLEAR_TITLES, // 0x0D
|
||||||
CLEAR_TITLES, // 0x0E
|
TAB_COMPLETE, // 0x0E
|
||||||
TAB_COMPLETE, // 0x0F
|
DECLARE_COMMANDS, // 0x0F
|
||||||
DECLARE_COMMANDS, // 0x10
|
CLOSE_WINDOW, // 0x10
|
||||||
CLOSE_WINDOW, // 0x11
|
WINDOW_ITEMS, // 0x11
|
||||||
WINDOW_ITEMS, // 0x12
|
WINDOW_PROPERTY, // 0x12
|
||||||
WINDOW_PROPERTY, // 0x13
|
SET_SLOT, // 0x13
|
||||||
SET_SLOT, // 0x14
|
COOLDOWN, // 0x14
|
||||||
COOLDOWN, // 0x15
|
PLUGIN_MESSAGE, // 0x15
|
||||||
PLUGIN_MESSAGE, // 0x16
|
NAMED_SOUND, // 0x16
|
||||||
NAMED_SOUND, // 0x17
|
DISCONNECT, // 0x17
|
||||||
DISCONNECT, // 0x18
|
ENTITY_STATUS, // 0x18
|
||||||
ENTITY_STATUS, // 0x19
|
EXPLOSION, // 0x19
|
||||||
EXPLOSION, // 0x1A
|
UNLOAD_CHUNK, // 0x1A
|
||||||
UNLOAD_CHUNK, // 0x1B
|
GAME_EVENT, // 0x1B
|
||||||
GAME_EVENT, // 0x1C
|
OPEN_HORSE_WINDOW, // 0x1C
|
||||||
OPEN_HORSE_WINDOW, // 0x1D
|
WORLD_BORDER_INIT, // 0x1D
|
||||||
WORLD_BORDER_INIT, // 0x1E
|
KEEP_ALIVE, // 0x1E
|
||||||
KEEP_ALIVE, // 0x1F
|
CHUNK_DATA, // 0x1F
|
||||||
CHUNK_DATA, // 0x20
|
EFFECT, // 0x20
|
||||||
EFFECT, // 0x21
|
SPAWN_PARTICLE, // 0x21
|
||||||
SPAWN_PARTICLE, // 0x22
|
UPDATE_LIGHT, // 0x22
|
||||||
UPDATE_LIGHT, // 0x23
|
JOIN_GAME, // 0x23
|
||||||
JOIN_GAME, // 0x24
|
MAP_DATA, // 0x24
|
||||||
MAP_DATA, // 0x25
|
TRADE_LIST, // 0x25
|
||||||
TRADE_LIST, // 0x26
|
ENTITY_POSITION, // 0x26
|
||||||
ENTITY_POSITION, // 0x27
|
ENTITY_POSITION_AND_ROTATION, // 0x27
|
||||||
ENTITY_POSITION_AND_ROTATION, // 0x28
|
ENTITY_ROTATION, // 0x28
|
||||||
ENTITY_ROTATION, // 0x29
|
VEHICLE_MOVE, // 0x29
|
||||||
VEHICLE_MOVE, // 0x2A
|
OPEN_BOOK, // 0x2A
|
||||||
OPEN_BOOK, // 0x2B
|
OPEN_WINDOW, // 0x2B
|
||||||
OPEN_WINDOW, // 0x2C
|
OPEN_SIGN_EDITOR, // 0x2C
|
||||||
OPEN_SIGN_EDITOR, // 0x2D
|
PING, // 0x2D
|
||||||
PING, // 0x2E
|
CRAFT_RECIPE_RESPONSE, // 0x2E
|
||||||
CRAFT_RECIPE_RESPONSE, // 0x2F
|
PLAYER_ABILITIES, // 0x2F
|
||||||
PLAYER_ABILITIES, // 0x30
|
COMBAT_END, // 0x30
|
||||||
COMBAT_END, // 0x31
|
COMBAT_ENTER, // 0x31
|
||||||
COMBAT_ENTER, // 0x32
|
COMBAT_KILL, // 0x32
|
||||||
COMBAT_KILL, // 0x33
|
PLAYER_INFO, // 0x33
|
||||||
PLAYER_INFO, // 0x34
|
FACE_PLAYER, // 0x34
|
||||||
FACE_PLAYER, // 0x35
|
PLAYER_POSITION, // 0x35
|
||||||
PLAYER_POSITION, // 0x36
|
UNLOCK_RECIPES, // 0x36
|
||||||
UNLOCK_RECIPES, // 0x37
|
REMOVE_ENTITIES, // 0x37
|
||||||
REMOVE_ENTITIES, // 0x38
|
REMOVE_ENTITY_EFFECT, // 0x38
|
||||||
REMOVE_ENTITY_EFFECT, // 0x39
|
RESOURCE_PACK, // 0x39
|
||||||
RESOURCE_PACK, // 0x3A
|
RESPAWN, // 0x3A
|
||||||
RESPAWN, // 0x3B
|
ENTITY_HEAD_LOOK, // 0x3B
|
||||||
ENTITY_HEAD_LOOK, // 0x3C
|
MULTI_BLOCK_CHANGE, // 0x3C
|
||||||
MULTI_BLOCK_CHANGE, // 0x3D
|
SELECT_ADVANCEMENTS_TAB, // 0x3D
|
||||||
SELECT_ADVANCEMENTS_TAB, // 0x3E
|
ACTIONBAR, // 0x3E
|
||||||
ACTIONBAR, // 0x3F
|
WORLD_BORDER_CENTER, // 0x3F
|
||||||
WORLD_BORDER_CENTER, // 0x40
|
WORLD_BORDER_LERP_SIZE, // 0x40
|
||||||
WORLD_BORDER_LERP_SIZE, // 0x41
|
WORLD_BORDER_SIZE, // 0x41
|
||||||
WORLD_BORDER_SIZE, // 0x42
|
WORLD_BORDER_WARNING_DELAY, // 0x42
|
||||||
WORLD_BORDER_WARNING_DELAY, // 0x43
|
WORLD_BORDER_WARNING_DISTANCE, // 0x43
|
||||||
WORLD_BORDER_WARNING_DISTANCE, // 0x44
|
CAMERA, // 0x44
|
||||||
CAMERA, // 0x45
|
HELD_ITEM_CHANGE, // 0x45
|
||||||
HELD_ITEM_CHANGE, // 0x46
|
UPDATE_VIEW_POSITION, // 0x46
|
||||||
UPDATE_VIEW_POSITION, // 0x47
|
UPDATE_VIEW_DISTANCE, // 0x47
|
||||||
UPDATE_VIEW_DISTANCE, // 0x48
|
SPAWN_POSITION, // 0x48
|
||||||
SPAWN_POSITION, // 0x49
|
DISPLAY_SCOREBOARD, // 0x49
|
||||||
DISPLAY_SCOREBOARD, // 0x4A
|
ENTITY_METADATA, // 0x4A
|
||||||
ENTITY_METADATA, // 0x4B
|
ATTACH_ENTITY, // 0x4B
|
||||||
ATTACH_ENTITY, // 0x4C
|
ENTITY_VELOCITY, // 0x4C
|
||||||
ENTITY_VELOCITY, // 0x4D
|
ENTITY_EQUIPMENT, // 0x4D
|
||||||
ENTITY_EQUIPMENT, // 0x4E
|
SET_EXPERIENCE, // 0x4E
|
||||||
SET_EXPERIENCE, // 0x4F
|
UPDATE_HEALTH, // 0x4F
|
||||||
UPDATE_HEALTH, // 0x50
|
SCOREBOARD_OBJECTIVE, // 0x50
|
||||||
SCOREBOARD_OBJECTIVE, // 0x51
|
SET_PASSENGERS, // 0x51
|
||||||
SET_PASSENGERS, // 0x52
|
TEAMS, // 0x52
|
||||||
TEAMS, // 0x53
|
UPDATE_SCORE, // 0x53
|
||||||
UPDATE_SCORE, // 0x54
|
SET_SIMULATION_DISTANCE, // 0x54
|
||||||
SET_SIMULATION_DISTANCE, // 0x55
|
TITLE_SUBTITLE, // 0x55
|
||||||
TITLE_SUBTITLE, // 0x56
|
TIME_UPDATE, // 0x56
|
||||||
TIME_UPDATE, // 0x57
|
TITLE_TEXT, // 0x57
|
||||||
TITLE_TEXT, // 0x58
|
TITLE_TIMES, // 0x58
|
||||||
TITLE_TIMES, // 0x59
|
ENTITY_SOUND, // 0x59
|
||||||
ENTITY_SOUND, // 0x5A
|
SOUND, // 0x5A
|
||||||
SOUND, // 0x5B
|
STOP_SOUND, // 0x5B
|
||||||
STOP_SOUND, // 0x5C
|
TAB_LIST, // 0x5C
|
||||||
TAB_LIST, // 0x5D
|
NBT_QUERY, // 0x5D
|
||||||
NBT_QUERY, // 0x5E
|
COLLECT_ITEM, // 0x5E
|
||||||
COLLECT_ITEM, // 0x5F
|
ENTITY_TELEPORT, // 0x5F
|
||||||
ENTITY_TELEPORT, // 0x60
|
ADVANCEMENTS, // 0x60
|
||||||
ADVANCEMENTS, // 0x61
|
ENTITY_PROPERTIES, // 0x61
|
||||||
ENTITY_PROPERTIES, // 0x62
|
ENTITY_EFFECT, // 0x62
|
||||||
ENTITY_EFFECT, // 0x63
|
DECLARE_RECIPES, // 0x63
|
||||||
DECLARE_RECIPES, // 0x64
|
TAGS; // 0x64
|
||||||
TAGS; // 0x65
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getId() {
|
public int getId() {
|
||||||
|
@ -17,9 +17,13 @@
|
|||||||
*/
|
*/
|
||||||
package com.viaversion.viaversion.protocols.protocol1_19to1_18_2.packets;
|
package com.viaversion.viaversion.protocols.protocol1_19to1_18_2.packets;
|
||||||
|
|
||||||
|
import com.viaversion.viaversion.api.minecraft.Position;
|
||||||
|
import com.viaversion.viaversion.api.minecraft.Position3d;
|
||||||
import com.viaversion.viaversion.api.minecraft.entities.Entity1_17Types;
|
import com.viaversion.viaversion.api.minecraft.entities.Entity1_17Types;
|
||||||
import com.viaversion.viaversion.api.minecraft.entities.Entity1_19Types;
|
import com.viaversion.viaversion.api.minecraft.entities.Entity1_19Types;
|
||||||
import com.viaversion.viaversion.api.minecraft.entities.EntityType;
|
import com.viaversion.viaversion.api.minecraft.entities.EntityType;
|
||||||
|
import com.viaversion.viaversion.api.minecraft.metadata.Metadata;
|
||||||
|
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
|
||||||
import com.viaversion.viaversion.api.protocol.remapper.PacketRemapper;
|
import com.viaversion.viaversion.api.protocol.remapper.PacketRemapper;
|
||||||
import com.viaversion.viaversion.api.type.Type;
|
import com.viaversion.viaversion.api.type.Type;
|
||||||
import com.viaversion.viaversion.api.type.types.version.Types1_18;
|
import com.viaversion.viaversion.api.type.types.version.Types1_18;
|
||||||
@ -27,8 +31,12 @@ import com.viaversion.viaversion.api.type.types.version.Types1_19;
|
|||||||
import com.viaversion.viaversion.protocols.protocol1_18to1_17_1.ClientboundPackets1_18;
|
import com.viaversion.viaversion.protocols.protocol1_18to1_17_1.ClientboundPackets1_18;
|
||||||
import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.ClientboundPackets1_19;
|
import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.ClientboundPackets1_19;
|
||||||
import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.Protocol1_19To1_18_2;
|
import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.Protocol1_19To1_18_2;
|
||||||
|
import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.util.PaintingOffsetUtil;
|
||||||
import com.viaversion.viaversion.rewriter.EntityRewriter;
|
import com.viaversion.viaversion.rewriter.EntityRewriter;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public final class EntityPackets extends EntityRewriter<Protocol1_19To1_18_2> {
|
public final class EntityPackets extends EntityRewriter<Protocol1_19To1_18_2> {
|
||||||
|
|
||||||
public EntityPackets(final Protocol1_19To1_18_2 protocol) {
|
public EntityPackets(final Protocol1_19To1_18_2 protocol) {
|
||||||
@ -66,6 +74,43 @@ public final class EntityPackets extends EntityRewriter<Protocol1_19To1_18_2> {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
protocol.registerClientbound(ClientboundPackets1_18.SPAWN_PAINTING, ClientboundPackets1_19.SPAWN_ENTITY, new PacketRemapper() {
|
||||||
|
@Override
|
||||||
|
public void registerMap() {
|
||||||
|
map(Type.VAR_INT); // Entity id
|
||||||
|
map(Type.UUID); // Entity UUID
|
||||||
|
create(Type.VAR_INT, Entity1_19Types.PAINTING.getId());
|
||||||
|
handler(wrapper -> {
|
||||||
|
final int motive = wrapper.read(Type.VAR_INT);
|
||||||
|
final Position blockPosition = wrapper.read(Type.POSITION1_14);
|
||||||
|
final byte direction = wrapper.read(Type.BYTE);
|
||||||
|
|
||||||
|
final Position3d position = PaintingOffsetUtil.fixOffset(blockPosition, motive, direction); //TODO no worky? teleportation needed...?
|
||||||
|
wrapper.write(Type.DOUBLE, position.x());
|
||||||
|
wrapper.write(Type.DOUBLE, position.y());
|
||||||
|
wrapper.write(Type.DOUBLE, position.z());
|
||||||
|
wrapper.write(Type.BYTE, (byte) 0); // Pitch
|
||||||
|
wrapper.write(Type.BYTE, (byte) 0); // Yaw
|
||||||
|
wrapper.write(Type.BYTE, (byte) 0); // Head yaw
|
||||||
|
wrapper.write(Type.VAR_INT, to3dId(direction)); // Data
|
||||||
|
wrapper.write(Type.SHORT, (short) 0); // Velocity x
|
||||||
|
wrapper.write(Type.SHORT, (short) 0); // Velocity y
|
||||||
|
wrapper.write(Type.SHORT, (short) 0); // Velocity z
|
||||||
|
|
||||||
|
wrapper.send(Protocol1_19To1_18_2.class);
|
||||||
|
wrapper.cancel();
|
||||||
|
|
||||||
|
// Send motive in metadata
|
||||||
|
final PacketWrapper metaPacket = wrapper.create(ClientboundPackets1_19.ENTITY_METADATA);
|
||||||
|
metaPacket.write(Type.VAR_INT, wrapper.get(Type.VAR_INT, 0)); // Entity id
|
||||||
|
final List<Metadata> metadata = new ArrayList<>();
|
||||||
|
metadata.add(new Metadata(8, Types1_19.META_TYPES.paintingVariantType, protocol.getMappingData().getPaintingMappings().getNewId(motive)));
|
||||||
|
metaPacket.write(Types1_19.METADATA_LIST, metadata);
|
||||||
|
metaPacket.send(Protocol1_19To1_18_2.class);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
protocol.registerClientbound(ClientboundPackets1_18.SPAWN_MOB, ClientboundPackets1_19.SPAWN_ENTITY, new PacketRemapper() {
|
protocol.registerClientbound(ClientboundPackets1_18.SPAWN_MOB, ClientboundPackets1_19.SPAWN_ENTITY, new PacketRemapper() {
|
||||||
@Override
|
@Override
|
||||||
public void registerMap() {
|
public void registerMap() {
|
||||||
@ -128,6 +173,22 @@ public final class EntityPackets extends EntityRewriter<Protocol1_19To1_18_2> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static int to3dId(final int id) {
|
||||||
|
switch (id) {
|
||||||
|
case -1: // Both up and down
|
||||||
|
return 1; // Up
|
||||||
|
case 2: // North
|
||||||
|
return 2;
|
||||||
|
case 0: // South
|
||||||
|
return 3;
|
||||||
|
case 1: // West
|
||||||
|
return 4;
|
||||||
|
case 3: // East
|
||||||
|
return 5;
|
||||||
|
}
|
||||||
|
throw new IllegalArgumentException("Unknown 2d id: " + id);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void registerRewrites() {
|
protected void registerRewrites() {
|
||||||
filter().handler((event, meta) -> meta.setMetaType(Types1_19.META_TYPES.byId(meta.metaType().typeId())));
|
filter().handler((event, meta) -> meta.setMetaType(Types1_19.META_TYPES.byId(meta.metaType().typeId())));
|
||||||
|
@ -0,0 +1,100 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019-2022 GeyserMC. http://geysermc.org
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*
|
||||||
|
* @author GeyserMC
|
||||||
|
* @link https://github.com/GeyserMC/Geyser
|
||||||
|
*/
|
||||||
|
package com.viaversion.viaversion.protocols.protocol1_19to1_18_2.util;
|
||||||
|
|
||||||
|
import com.viaversion.viaversion.api.minecraft.Position;
|
||||||
|
import com.viaversion.viaversion.api.minecraft.Position3d;
|
||||||
|
|
||||||
|
public final class PaintingOffsetUtil {
|
||||||
|
|
||||||
|
private static final double MAGIC_OFFSET = -0.46875;
|
||||||
|
private static final PaintingVariant[] VARIANTS = {
|
||||||
|
new PaintingVariant(16, 16),
|
||||||
|
new PaintingVariant(16, 16),
|
||||||
|
new PaintingVariant(16, 16),
|
||||||
|
new PaintingVariant(16, 16),
|
||||||
|
new PaintingVariant(16, 16),
|
||||||
|
new PaintingVariant(16, 16),
|
||||||
|
new PaintingVariant(16, 16),
|
||||||
|
new PaintingVariant(32, 16),
|
||||||
|
new PaintingVariant(32, 16),
|
||||||
|
new PaintingVariant(32, 16),
|
||||||
|
new PaintingVariant(32, 16),
|
||||||
|
new PaintingVariant(32, 16),
|
||||||
|
new PaintingVariant(16, 32),
|
||||||
|
new PaintingVariant(16, 32),
|
||||||
|
new PaintingVariant(32, 32),
|
||||||
|
new PaintingVariant(32, 32),
|
||||||
|
new PaintingVariant(32, 32),
|
||||||
|
new PaintingVariant(32, 32),
|
||||||
|
new PaintingVariant(32, 32),
|
||||||
|
new PaintingVariant(32, 32),
|
||||||
|
new PaintingVariant(64, 32),
|
||||||
|
new PaintingVariant(64, 64),
|
||||||
|
new PaintingVariant(64, 64),
|
||||||
|
new PaintingVariant(64, 64),
|
||||||
|
new PaintingVariant(64, 48),
|
||||||
|
new PaintingVariant(64, 48)
|
||||||
|
};
|
||||||
|
|
||||||
|
public static Position3d fixOffset(final Position position, final int motive, final int direction) {
|
||||||
|
final PaintingVariant variant = VARIANTS[motive];
|
||||||
|
final double offY = variant.height > 1 && variant.height != 3 ? 0.5 : 0;
|
||||||
|
final double offX;
|
||||||
|
final double offZ;
|
||||||
|
final double widthOffset = variant.width > 1 ? 0.5 : 0;
|
||||||
|
switch (direction) {
|
||||||
|
case 0:
|
||||||
|
offX = widthOffset;
|
||||||
|
offZ = MAGIC_OFFSET;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
offX = -MAGIC_OFFSET;
|
||||||
|
offZ = widthOffset;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
offX = -widthOffset;
|
||||||
|
offZ = -MAGIC_OFFSET;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
offX = MAGIC_OFFSET;
|
||||||
|
offZ = -widthOffset;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new IllegalArgumentException("Invalid direction: " + direction);
|
||||||
|
}
|
||||||
|
return new Position3d(position.x() + offX + 0.5d, position.y() + offY + 0.5d, position.z() + offZ + 0.5d);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class PaintingVariant {
|
||||||
|
private final int width;
|
||||||
|
private final int height;
|
||||||
|
|
||||||
|
private PaintingVariant(final int width, final int height) {
|
||||||
|
this.width = width / 16;
|
||||||
|
this.height = height / 16;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -23764,5 +23764,33 @@
|
|||||||
"minecraft:piercing",
|
"minecraft:piercing",
|
||||||
"minecraft:mending",
|
"minecraft:mending",
|
||||||
"minecraft:vanishing_curse"
|
"minecraft:vanishing_curse"
|
||||||
|
],
|
||||||
|
"paintings": [
|
||||||
|
"minecraft:kebab",
|
||||||
|
"minecraft:aztec",
|
||||||
|
"minecraft:alban",
|
||||||
|
"minecraft:aztec2",
|
||||||
|
"minecraft:bomb",
|
||||||
|
"minecraft:plant",
|
||||||
|
"minecraft:wasteland",
|
||||||
|
"minecraft:pool",
|
||||||
|
"minecraft:courbet",
|
||||||
|
"minecraft:sea",
|
||||||
|
"minecraft:sunset",
|
||||||
|
"minecraft:creebet",
|
||||||
|
"minecraft:wanderer",
|
||||||
|
"minecraft:graham",
|
||||||
|
"minecraft:match",
|
||||||
|
"minecraft:bust",
|
||||||
|
"minecraft:stage",
|
||||||
|
"minecraft:void",
|
||||||
|
"minecraft:skull_and_roses",
|
||||||
|
"minecraft:wither",
|
||||||
|
"minecraft:fighters",
|
||||||
|
"minecraft:pointer",
|
||||||
|
"minecraft:pigscene",
|
||||||
|
"minecraft:burning_skull",
|
||||||
|
"minecraft:skeleton",
|
||||||
|
"minecraft:donkey_kong"
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -22506,27 +22506,27 @@
|
|||||||
"118": "minecraft:stripped_jungle_log",
|
"118": "minecraft:stripped_jungle_log",
|
||||||
"119": "minecraft:stripped_acacia_log",
|
"119": "minecraft:stripped_acacia_log",
|
||||||
"120": "minecraft:stripped_dark_oak_log",
|
"120": "minecraft:stripped_dark_oak_log",
|
||||||
"121": "minecraft:stripped_crimson_stem",
|
"121": "minecraft:stripped_mangrove_log",
|
||||||
"122": "minecraft:stripped_warped_stem",
|
"122": "minecraft:stripped_crimson_stem",
|
||||||
"123": "minecraft:stripped_mangrove_log",
|
"123": "minecraft:stripped_warped_stem",
|
||||||
"124": "minecraft:stripped_oak_wood",
|
"124": "minecraft:stripped_oak_wood",
|
||||||
"125": "minecraft:stripped_spruce_wood",
|
"125": "minecraft:stripped_spruce_wood",
|
||||||
"126": "minecraft:stripped_birch_wood",
|
"126": "minecraft:stripped_birch_wood",
|
||||||
"127": "minecraft:stripped_jungle_wood",
|
"127": "minecraft:stripped_jungle_wood",
|
||||||
"128": "minecraft:stripped_acacia_wood",
|
"128": "minecraft:stripped_acacia_wood",
|
||||||
"129": "minecraft:stripped_dark_oak_wood",
|
"129": "minecraft:stripped_dark_oak_wood",
|
||||||
"130": "minecraft:stripped_crimson_hyphae",
|
"130": "minecraft:stripped_mangrove_wood",
|
||||||
"131": "minecraft:stripped_warped_hyphae",
|
"131": "minecraft:stripped_crimson_hyphae",
|
||||||
"132": "minecraft:stripped_mangrove_wood",
|
"132": "minecraft:stripped_warped_hyphae",
|
||||||
"133": "minecraft:oak_wood",
|
"133": "minecraft:oak_wood",
|
||||||
"134": "minecraft:spruce_wood",
|
"134": "minecraft:spruce_wood",
|
||||||
"135": "minecraft:birch_wood",
|
"135": "minecraft:birch_wood",
|
||||||
"136": "minecraft:jungle_wood",
|
"136": "minecraft:jungle_wood",
|
||||||
"137": "minecraft:acacia_wood",
|
"137": "minecraft:acacia_wood",
|
||||||
"138": "minecraft:dark_oak_wood",
|
"138": "minecraft:dark_oak_wood",
|
||||||
"139": "minecraft:crimson_hyphae",
|
"139": "minecraft:mangrove_wood",
|
||||||
"140": "minecraft:warped_hyphae",
|
"140": "minecraft:crimson_hyphae",
|
||||||
"141": "minecraft:mangrove_wood",
|
"141": "minecraft:warped_hyphae",
|
||||||
"142": "minecraft:oak_leaves",
|
"142": "minecraft:oak_leaves",
|
||||||
"143": "minecraft:spruce_leaves",
|
"143": "minecraft:spruce_leaves",
|
||||||
"144": "minecraft:birch_leaves",
|
"144": "minecraft:birch_leaves",
|
||||||
@ -23456,93 +23456,95 @@
|
|||||||
"1068": "minecraft:music_disc_11",
|
"1068": "minecraft:music_disc_11",
|
||||||
"1069": "minecraft:music_disc_wait",
|
"1069": "minecraft:music_disc_wait",
|
||||||
"1070": "minecraft:music_disc_otherside",
|
"1070": "minecraft:music_disc_otherside",
|
||||||
"1071": "minecraft:music_disc_pigstep",
|
"1071": "minecraft:music_disc_5",
|
||||||
"1072": "minecraft:trident",
|
"1072": "minecraft:music_disc_pigstep",
|
||||||
"1073": "minecraft:phantom_membrane",
|
"1073": "minecraft:disc_fragment_5",
|
||||||
"1074": "minecraft:nautilus_shell",
|
"1074": "minecraft:trident",
|
||||||
"1075": "minecraft:heart_of_the_sea",
|
"1075": "minecraft:phantom_membrane",
|
||||||
"1076": "minecraft:crossbow",
|
"1076": "minecraft:nautilus_shell",
|
||||||
"1077": "minecraft:suspicious_stew",
|
"1077": "minecraft:heart_of_the_sea",
|
||||||
"1078": "minecraft:loom",
|
"1078": "minecraft:crossbow",
|
||||||
"1079": "minecraft:flower_banner_pattern",
|
"1079": "minecraft:suspicious_stew",
|
||||||
"1080": "minecraft:creeper_banner_pattern",
|
"1080": "minecraft:loom",
|
||||||
"1081": "minecraft:skull_banner_pattern",
|
"1081": "minecraft:flower_banner_pattern",
|
||||||
"1082": "minecraft:mojang_banner_pattern",
|
"1082": "minecraft:creeper_banner_pattern",
|
||||||
"1083": "minecraft:globe_banner_pattern",
|
"1083": "minecraft:skull_banner_pattern",
|
||||||
"1084": "minecraft:piglin_banner_pattern",
|
"1084": "minecraft:mojang_banner_pattern",
|
||||||
"1085": "minecraft:composter",
|
"1085": "minecraft:globe_banner_pattern",
|
||||||
"1086": "minecraft:barrel",
|
"1086": "minecraft:piglin_banner_pattern",
|
||||||
"1087": "minecraft:smoker",
|
"1087": "minecraft:composter",
|
||||||
"1088": "minecraft:blast_furnace",
|
"1088": "minecraft:barrel",
|
||||||
"1089": "minecraft:cartography_table",
|
"1089": "minecraft:smoker",
|
||||||
"1090": "minecraft:fletching_table",
|
"1090": "minecraft:blast_furnace",
|
||||||
"1091": "minecraft:grindstone",
|
"1091": "minecraft:cartography_table",
|
||||||
"1092": "minecraft:smithing_table",
|
"1092": "minecraft:fletching_table",
|
||||||
"1093": "minecraft:stonecutter",
|
"1093": "minecraft:grindstone",
|
||||||
"1094": "minecraft:bell",
|
"1094": "minecraft:smithing_table",
|
||||||
"1095": "minecraft:lantern",
|
"1095": "minecraft:stonecutter",
|
||||||
"1096": "minecraft:soul_lantern",
|
"1096": "minecraft:bell",
|
||||||
"1097": "minecraft:sweet_berries",
|
"1097": "minecraft:lantern",
|
||||||
"1098": "minecraft:glow_berries",
|
"1098": "minecraft:soul_lantern",
|
||||||
"1099": "minecraft:campfire",
|
"1099": "minecraft:sweet_berries",
|
||||||
"1100": "minecraft:soul_campfire",
|
"1100": "minecraft:glow_berries",
|
||||||
"1101": "minecraft:shroomlight",
|
"1101": "minecraft:campfire",
|
||||||
"1102": "minecraft:honeycomb",
|
"1102": "minecraft:soul_campfire",
|
||||||
"1103": "minecraft:bee_nest",
|
"1103": "minecraft:shroomlight",
|
||||||
"1104": "minecraft:beehive",
|
"1104": "minecraft:honeycomb",
|
||||||
"1105": "minecraft:honey_bottle",
|
"1105": "minecraft:bee_nest",
|
||||||
"1106": "minecraft:honeycomb_block",
|
"1106": "minecraft:beehive",
|
||||||
"1107": "minecraft:lodestone",
|
"1107": "minecraft:honey_bottle",
|
||||||
"1108": "minecraft:crying_obsidian",
|
"1108": "minecraft:honeycomb_block",
|
||||||
"1109": "minecraft:blackstone",
|
"1109": "minecraft:lodestone",
|
||||||
"1110": "minecraft:blackstone_slab",
|
"1110": "minecraft:crying_obsidian",
|
||||||
"1111": "minecraft:blackstone_stairs",
|
"1111": "minecraft:blackstone",
|
||||||
"1112": "minecraft:gilded_blackstone",
|
"1112": "minecraft:blackstone_slab",
|
||||||
"1113": "minecraft:polished_blackstone",
|
"1113": "minecraft:blackstone_stairs",
|
||||||
"1114": "minecraft:polished_blackstone_slab",
|
"1114": "minecraft:gilded_blackstone",
|
||||||
"1115": "minecraft:polished_blackstone_stairs",
|
"1115": "minecraft:polished_blackstone",
|
||||||
"1116": "minecraft:chiseled_polished_blackstone",
|
"1116": "minecraft:polished_blackstone_slab",
|
||||||
"1117": "minecraft:polished_blackstone_bricks",
|
"1117": "minecraft:polished_blackstone_stairs",
|
||||||
"1118": "minecraft:polished_blackstone_brick_slab",
|
"1118": "minecraft:chiseled_polished_blackstone",
|
||||||
"1119": "minecraft:polished_blackstone_brick_stairs",
|
"1119": "minecraft:polished_blackstone_bricks",
|
||||||
"1120": "minecraft:cracked_polished_blackstone_bricks",
|
"1120": "minecraft:polished_blackstone_brick_slab",
|
||||||
"1121": "minecraft:respawn_anchor",
|
"1121": "minecraft:polished_blackstone_brick_stairs",
|
||||||
"1122": "minecraft:candle",
|
"1122": "minecraft:cracked_polished_blackstone_bricks",
|
||||||
"1123": "minecraft:white_candle",
|
"1123": "minecraft:respawn_anchor",
|
||||||
"1124": "minecraft:orange_candle",
|
"1124": "minecraft:candle",
|
||||||
"1125": "minecraft:magenta_candle",
|
"1125": "minecraft:white_candle",
|
||||||
"1126": "minecraft:light_blue_candle",
|
"1126": "minecraft:orange_candle",
|
||||||
"1127": "minecraft:yellow_candle",
|
"1127": "minecraft:magenta_candle",
|
||||||
"1128": "minecraft:lime_candle",
|
"1128": "minecraft:light_blue_candle",
|
||||||
"1129": "minecraft:pink_candle",
|
"1129": "minecraft:yellow_candle",
|
||||||
"1130": "minecraft:gray_candle",
|
"1130": "minecraft:lime_candle",
|
||||||
"1131": "minecraft:light_gray_candle",
|
"1131": "minecraft:pink_candle",
|
||||||
"1132": "minecraft:cyan_candle",
|
"1132": "minecraft:gray_candle",
|
||||||
"1133": "minecraft:purple_candle",
|
"1133": "minecraft:light_gray_candle",
|
||||||
"1134": "minecraft:blue_candle",
|
"1134": "minecraft:cyan_candle",
|
||||||
"1135": "minecraft:brown_candle",
|
"1135": "minecraft:purple_candle",
|
||||||
"1136": "minecraft:green_candle",
|
"1136": "minecraft:blue_candle",
|
||||||
"1137": "minecraft:red_candle",
|
"1137": "minecraft:brown_candle",
|
||||||
"1138": "minecraft:black_candle",
|
"1138": "minecraft:green_candle",
|
||||||
"1139": "minecraft:small_amethyst_bud",
|
"1139": "minecraft:red_candle",
|
||||||
"1140": "minecraft:medium_amethyst_bud",
|
"1140": "minecraft:black_candle",
|
||||||
"1141": "minecraft:large_amethyst_bud",
|
"1141": "minecraft:small_amethyst_bud",
|
||||||
"1142": "minecraft:amethyst_cluster",
|
"1142": "minecraft:medium_amethyst_bud",
|
||||||
"1143": "minecraft:pointed_dripstone",
|
"1143": "minecraft:large_amethyst_bud",
|
||||||
"1144": "minecraft:ochre_froglight",
|
"1144": "minecraft:amethyst_cluster",
|
||||||
"1145": "minecraft:verdant_froglight",
|
"1145": "minecraft:pointed_dripstone",
|
||||||
"1146": "minecraft:pearlescent_froglight",
|
"1146": "minecraft:ochre_froglight",
|
||||||
"1147": "minecraft:frogspawn",
|
"1147": "minecraft:verdant_froglight",
|
||||||
"1148": "minecraft:echo_shard"
|
"1148": "minecraft:pearlescent_froglight",
|
||||||
|
"1149": "minecraft:frogspawn",
|
||||||
|
"1150": "minecraft:echo_shard"
|
||||||
},
|
},
|
||||||
"sounds": [
|
"sounds": [
|
||||||
"entity.allay.ambient_with_item",
|
"entity.allay.ambient_with_item",
|
||||||
"entity.allay.ambient_without_item",
|
"entity.allay.ambient_without_item",
|
||||||
"entity.allay.death",
|
"entity.allay.death",
|
||||||
"entity.allay.flap",
|
|
||||||
"entity.allay.hurt",
|
"entity.allay.hurt",
|
||||||
"entity.allay.item_given",
|
"entity.allay.item_given",
|
||||||
"entity.allay.item_taken",
|
"entity.allay.item_taken",
|
||||||
|
"entity.allay.item_thrown",
|
||||||
"ambient.cave",
|
"ambient.cave",
|
||||||
"ambient.basalt_deltas.additions",
|
"ambient.basalt_deltas.additions",
|
||||||
"ambient.basalt_deltas.loop",
|
"ambient.basalt_deltas.loop",
|
||||||
@ -24204,6 +24206,7 @@
|
|||||||
"entity.mule.hurt",
|
"entity.mule.hurt",
|
||||||
"music.creative",
|
"music.creative",
|
||||||
"music.credits",
|
"music.credits",
|
||||||
|
"music_disc.5",
|
||||||
"music_disc.11",
|
"music_disc.11",
|
||||||
"music_disc.13",
|
"music_disc.13",
|
||||||
"music_disc.blocks",
|
"music_disc.blocks",
|
||||||
@ -24229,6 +24232,9 @@
|
|||||||
"music.overworld.grove",
|
"music.overworld.grove",
|
||||||
"music.overworld.jagged_peaks",
|
"music.overworld.jagged_peaks",
|
||||||
"music.overworld.lush_caves",
|
"music.overworld.lush_caves",
|
||||||
|
"music.overworld.swamp",
|
||||||
|
"music.overworld.jungle_and_forest",
|
||||||
|
"music.overworld.old_growth_taiga",
|
||||||
"music.overworld.meadow",
|
"music.overworld.meadow",
|
||||||
"music.nether.nether_wastes",
|
"music.nether.nether_wastes",
|
||||||
"music.overworld.frozen_peaks",
|
"music.overworld.frozen_peaks",
|
||||||
@ -24650,11 +24656,9 @@
|
|||||||
"block.sweet_berry_bush.place",
|
"block.sweet_berry_bush.place",
|
||||||
"block.sweet_berry_bush.pick_berries",
|
"block.sweet_berry_bush.pick_berries",
|
||||||
"entity.tadpole.death",
|
"entity.tadpole.death",
|
||||||
"entity.tadpole.eat",
|
|
||||||
"entity.tadpole.flop",
|
"entity.tadpole.flop",
|
||||||
"entity.tadpole.grow_up",
|
"entity.tadpole.grow_up",
|
||||||
"entity.tadpole.hurt",
|
"entity.tadpole.hurt",
|
||||||
"entity.tadpole.step",
|
|
||||||
"enchant.thorns.hit",
|
"enchant.thorns.hit",
|
||||||
"entity.tnt.primed",
|
"entity.tnt.primed",
|
||||||
"item.totem.use",
|
"item.totem.use",
|
||||||
@ -24938,8 +24942,7 @@
|
|||||||
"wax_off",
|
"wax_off",
|
||||||
"electric_spark",
|
"electric_spark",
|
||||||
"scrape",
|
"scrape",
|
||||||
"shriek",
|
"shriek"
|
||||||
"allay_dust"
|
|
||||||
],
|
],
|
||||||
"blockentities": [
|
"blockentities": [
|
||||||
"furnace",
|
"furnace",
|
||||||
@ -25067,5 +25070,37 @@
|
|||||||
"minecraft:piercing",
|
"minecraft:piercing",
|
||||||
"minecraft:mending",
|
"minecraft:mending",
|
||||||
"minecraft:vanishing_curse"
|
"minecraft:vanishing_curse"
|
||||||
|
],
|
||||||
|
"paintings": [
|
||||||
|
"minecraft:kebab",
|
||||||
|
"minecraft:aztec",
|
||||||
|
"minecraft:alban",
|
||||||
|
"minecraft:aztec2",
|
||||||
|
"minecraft:bomb",
|
||||||
|
"minecraft:plant",
|
||||||
|
"minecraft:wasteland",
|
||||||
|
"minecraft:pool",
|
||||||
|
"minecraft:courbet",
|
||||||
|
"minecraft:sea",
|
||||||
|
"minecraft:sunset",
|
||||||
|
"minecraft:creebet",
|
||||||
|
"minecraft:wanderer",
|
||||||
|
"minecraft:graham",
|
||||||
|
"minecraft:match",
|
||||||
|
"minecraft:bust",
|
||||||
|
"minecraft:stage",
|
||||||
|
"minecraft:void",
|
||||||
|
"minecraft:skull_and_roses",
|
||||||
|
"minecraft:wither",
|
||||||
|
"minecraft:fighters",
|
||||||
|
"minecraft:pointer",
|
||||||
|
"minecraft:pigscene",
|
||||||
|
"minecraft:burning_skull",
|
||||||
|
"minecraft:skeleton",
|
||||||
|
"minecraft:earth",
|
||||||
|
"minecraft:wind",
|
||||||
|
"minecraft:water",
|
||||||
|
"minecraft:fire",
|
||||||
|
"minecraft:donkey_kong"
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -1,5 +1,5 @@
|
|||||||
# Project properties - we put these here so they can be modified without causing a recompile of the build scripts
|
# Project properties - we put these here so they can be modified without causing a recompile of the build scripts
|
||||||
projectVersion=4.3.0-22w15a-SNAPSHOT
|
projectVersion=4.3.0-22w16a-SNAPSHOT
|
||||||
|
|
||||||
# Gradle properties
|
# Gradle properties
|
||||||
org.gradle.daemon=true
|
org.gradle.daemon=true
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren