From a21bd3acecff597b51f54f3d0fd38d1eafc8aeff Mon Sep 17 00:00:00 2001 From: Matsv Date: Mon, 3 Oct 2016 15:20:38 +0200 Subject: [PATCH] Basic support for multiplatform ViaBackwards (Bungee doesn't seem to work correctly yet) --- .gitignore | 3 + all/pom.xml | 75 +++++++++++++ bukkit/pom.xml | 47 ++++++++ .../nl/matsv/viabackwards/BukkitPlugin.java | 10 ++ {src => bukkit/src}/main/resources/plugin.yml | 2 +- bungee/pom.xml | 40 +++++++ .../nl/matsv/viabackwards/BungeePlugin.java | 11 ++ bungee/src/main/resources/bungee.yml | 5 + core/pom.xml | 33 ++++++ .../nl/matsv/viabackwards/ViaBackwards.java | 15 +++ .../viabackwards/ViaBackwardsPlatform.java | 20 +++- .../viabackwards/api/BackwardsProtocol.java | 0 .../matsv/viabackwards/api/MetaRewriter.java | 0 .../api/exceptions/RemovedValueException.java | 0 .../api/rewriters/BlockItemRewriter.java | 0 .../api/rewriters/EntityRewriter.java | 4 +- .../viabackwards/api/rewriters/Rewriter.java | 0 .../api/rewriters/SoundIdRewriter.java | 0 .../api/storage/EntityTracker.java | 0 .../viabackwards/api/storage/EntityType.java | 0 .../Protocol1_9To1_10.java | 0 .../protocol1_9_4to1_10/chunks/Chunk1_10.java | 0 .../chunks/Chunk1_10Type.java | 7 +- .../chunks/ChunkSection1_10.java | 0 .../packets/BlockItemPackets.java | 3 +- .../packets/ChangedPackets.java | 0 .../packets/EntityPackets.java | 9 +- .../packets/SoundPackets.java | 0 .../nl/matsv/viabackwards/utils/Block.java | 0 .../nl/matsv/viabackwards/utils/ItemUtil.java | 0 pom.xml | 103 ++++++------------ sponge/pom.xml | 73 +++++++++++++ .../viabackwards/sponge/VersionInfo.java | 5 + .../nl/matsv/viabackwards/SpongePlugin.java | 36 ++++++ 34 files changed, 414 insertions(+), 87 deletions(-) create mode 100644 all/pom.xml create mode 100644 bukkit/pom.xml create mode 100644 bukkit/src/main/java/nl/matsv/viabackwards/BukkitPlugin.java rename {src => bukkit/src}/main/resources/plugin.yml (78%) create mode 100644 bungee/pom.xml create mode 100644 bungee/src/main/java/nl/matsv/viabackwards/BungeePlugin.java create mode 100644 bungee/src/main/resources/bungee.yml create mode 100644 core/pom.xml create mode 100644 core/src/main/java/nl/matsv/viabackwards/ViaBackwards.java rename src/main/java/nl/matsv/viabackwards/ViaBackwards.java => core/src/main/java/nl/matsv/viabackwards/ViaBackwardsPlatform.java (79%) rename {src => core/src}/main/java/nl/matsv/viabackwards/api/BackwardsProtocol.java (100%) rename {src => core/src}/main/java/nl/matsv/viabackwards/api/MetaRewriter.java (100%) rename {src => core/src}/main/java/nl/matsv/viabackwards/api/exceptions/RemovedValueException.java (100%) rename {src => core/src}/main/java/nl/matsv/viabackwards/api/rewriters/BlockItemRewriter.java (100%) rename {src => core/src}/main/java/nl/matsv/viabackwards/api/rewriters/EntityRewriter.java (97%) rename {src => core/src}/main/java/nl/matsv/viabackwards/api/rewriters/Rewriter.java (100%) rename {src => core/src}/main/java/nl/matsv/viabackwards/api/rewriters/SoundIdRewriter.java (100%) rename {src => core/src}/main/java/nl/matsv/viabackwards/api/storage/EntityTracker.java (100%) rename {src => core/src}/main/java/nl/matsv/viabackwards/api/storage/EntityType.java (100%) rename {src => core/src}/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/Protocol1_9To1_10.java (100%) rename {src => core/src}/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/Chunk1_10.java (100%) rename {src => core/src}/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/Chunk1_10Type.java (93%) rename {src => core/src}/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/ChunkSection1_10.java (100%) rename {src => core/src}/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/BlockItemPackets.java (98%) rename {src => core/src}/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/ChangedPackets.java (100%) rename {src => core/src}/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/EntityPackets.java (97%) rename {src => core/src}/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/SoundPackets.java (100%) rename {src => core/src}/main/java/nl/matsv/viabackwards/utils/Block.java (100%) rename {src => core/src}/main/java/nl/matsv/viabackwards/utils/ItemUtil.java (100%) create mode 100644 sponge/pom.xml create mode 100644 sponge/src/main/java-templates/nl/matsv/viabackwards/sponge/VersionInfo.java create mode 100644 sponge/src/main/java/nl/matsv/viabackwards/SpongePlugin.java diff --git a/.gitignore b/.gitignore index e9707ed1..0ae64fe2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ # Created by .ignore support plugin (hsz.mobi) ### Maven template target/ +*/target pom.xml.tag pom.xml.releaseBackup pom.xml.versionsBackup @@ -78,6 +79,8 @@ local.properties .idea/tasks.xml .idea/dictionaries .idea/vcs.xml +.idea/ +*.iml .idea/jsLibraryMappings.xml # Sensitive or high-churn files: diff --git a/all/pom.xml b/all/pom.xml new file mode 100644 index 00000000..8e339176 --- /dev/null +++ b/all/pom.xml @@ -0,0 +1,75 @@ + + + + viabackwards-parent + nl.matsv + 1.0.1 + + 4.0.0 + + viabackwards-all + + + ${project.name}-${project.version} + clean install + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.3 + + 1.8 + 1.8 + false + false + + + + org.apache.maven.plugins + maven-shade-plugin + 2.4.3 + + false + false + + + + package + + shade + + + + + + + + + + nl.matsv + viabackwards-core + ${project.parent.version} + + + + nl.matsv + viabackwards-bukkit + ${project.parent.version} + + + + nl.matsv + viabackwards-bungee + ${project.parent.version} + + + + nl.matsv + viabackwards-sponge + ${project.parent.version} + + + \ No newline at end of file diff --git a/bukkit/pom.xml b/bukkit/pom.xml new file mode 100644 index 00000000..7fd049d7 --- /dev/null +++ b/bukkit/pom.xml @@ -0,0 +1,47 @@ + + + + viabackwards-parent + nl.matsv + 1.0.1 + + 4.0.0 + + viabackwards-bukkit + + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + + + + org.spigotmc + spigot-api + 1.10.2-R0.1-SNAPSHOT + provided + + + nl.matsv + viabackwards-core + 1.0.1 + + + + + + + . + true + src/main/resources/ + + * + + + + + \ No newline at end of file diff --git a/bukkit/src/main/java/nl/matsv/viabackwards/BukkitPlugin.java b/bukkit/src/main/java/nl/matsv/viabackwards/BukkitPlugin.java new file mode 100644 index 00000000..1e842213 --- /dev/null +++ b/bukkit/src/main/java/nl/matsv/viabackwards/BukkitPlugin.java @@ -0,0 +1,10 @@ +package nl.matsv.viabackwards; + +import org.bukkit.plugin.java.JavaPlugin; + +public class BukkitPlugin extends JavaPlugin implements ViaBackwardsPlatform { + @Override + public void onEnable() { + this.init(); + } +} diff --git a/src/main/resources/plugin.yml b/bukkit/src/main/resources/plugin.yml similarity index 78% rename from src/main/resources/plugin.yml rename to bukkit/src/main/resources/plugin.yml index e16bca99..f5034adc 100644 --- a/src/main/resources/plugin.yml +++ b/bukkit/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: ViaBackwards version: ${project.version} -main: nl.matsv.viabackwards.ViaBackwards +main: nl.matsv.viabackwards.BukkitPlugin description: Allow authors: [Matsv] diff --git a/bungee/pom.xml b/bungee/pom.xml new file mode 100644 index 00000000..0ee25922 --- /dev/null +++ b/bungee/pom.xml @@ -0,0 +1,40 @@ + + + + viabackwards-parent + nl.matsv + 1.0.1 + + 4.0.0 + + viabackwards-bungee + + + + + bungeecord-repo + https://oss.sonatype.org/content/repositories/snapshots + + + + + + + net.md-5 + bungeecord-api + 1.10-SNAPSHOT + provided + + + + + nl.matsv + viabackwards-core + ${project.parent.version} + + + + + \ No newline at end of file diff --git a/bungee/src/main/java/nl/matsv/viabackwards/BungeePlugin.java b/bungee/src/main/java/nl/matsv/viabackwards/BungeePlugin.java new file mode 100644 index 00000000..3d9dd6c1 --- /dev/null +++ b/bungee/src/main/java/nl/matsv/viabackwards/BungeePlugin.java @@ -0,0 +1,11 @@ +package nl.matsv.viabackwards; + +import net.md_5.bungee.api.plugin.Plugin; + +public class BungeePlugin extends Plugin implements ViaBackwardsPlatform { + + @Override + public void onEnable() { + this.init(); + } +} diff --git a/bungee/src/main/resources/bungee.yml b/bungee/src/main/resources/bungee.yml new file mode 100644 index 00000000..ddb7f3c1 --- /dev/null +++ b/bungee/src/main/resources/bungee.yml @@ -0,0 +1,5 @@ +name: ViaBackwards +main: nl.matsv.viabackwards.BungeePlugin +author: Matsv +version: ${project.version} +depends: [ViaVersion] \ No newline at end of file diff --git a/core/pom.xml b/core/pom.xml new file mode 100644 index 00000000..24a7ee67 --- /dev/null +++ b/core/pom.xml @@ -0,0 +1,33 @@ + + + + viabackwards-parent + nl.matsv + 1.0.1 + + 4.0.0 + + viabackwards-core + + + + viaversion-repo + https://repo.viaversion.com/ + + + + + + + io.netty + netty-all + 4.0.20.Final + provided + true + + + + + \ No newline at end of file diff --git a/core/src/main/java/nl/matsv/viabackwards/ViaBackwards.java b/core/src/main/java/nl/matsv/viabackwards/ViaBackwards.java new file mode 100644 index 00000000..b626902f --- /dev/null +++ b/core/src/main/java/nl/matsv/viabackwards/ViaBackwards.java @@ -0,0 +1,15 @@ +package nl.matsv.viabackwards; + +import com.google.common.base.Preconditions; +import lombok.Getter; + +public class ViaBackwards { + @Getter + private static ViaBackwardsPlatform platform; + + public static void init(ViaBackwardsPlatform platform) { + Preconditions.checkArgument(platform != null, "ViaBackwards is already initialized"); + + ViaBackwards.platform = platform; + } +} diff --git a/src/main/java/nl/matsv/viabackwards/ViaBackwards.java b/core/src/main/java/nl/matsv/viabackwards/ViaBackwardsPlatform.java similarity index 79% rename from src/main/java/nl/matsv/viabackwards/ViaBackwards.java rename to core/src/main/java/nl/matsv/viabackwards/ViaBackwardsPlatform.java index 7f1d3a99..b423e166 100644 --- a/src/main/java/nl/matsv/viabackwards/ViaBackwards.java +++ b/core/src/main/java/nl/matsv/viabackwards/ViaBackwardsPlatform.java @@ -19,17 +19,25 @@ package nl.matsv.viabackwards; import nl.matsv.viabackwards.protocol.protocol1_9_4to1_10.Protocol1_9To1_10; -import org.bukkit.plugin.java.JavaPlugin; import us.myles.ViaVersion.api.protocol.ProtocolRegistry; import us.myles.ViaVersion.api.protocol.ProtocolVersion; import java.util.Collections; +import java.util.logging.Logger; -public class ViaBackwards extends JavaPlugin { - - @Override - public void onEnable() { - // Register the protocol +public interface ViaBackwardsPlatform { + /** + * Initialize ViaBackwards + */ + default void init() { + ViaBackwards.init(this); ProtocolRegistry.registerProtocol(new Protocol1_9To1_10(), Collections.singletonList(ProtocolVersion.v1_9_3.getId()), ProtocolVersion.v1_10.getId()); } + + /** + * Logger provided by the platform + * + * @return logger instance + */ + Logger getLogger(); } diff --git a/src/main/java/nl/matsv/viabackwards/api/BackwardsProtocol.java b/core/src/main/java/nl/matsv/viabackwards/api/BackwardsProtocol.java similarity index 100% rename from src/main/java/nl/matsv/viabackwards/api/BackwardsProtocol.java rename to core/src/main/java/nl/matsv/viabackwards/api/BackwardsProtocol.java diff --git a/src/main/java/nl/matsv/viabackwards/api/MetaRewriter.java b/core/src/main/java/nl/matsv/viabackwards/api/MetaRewriter.java similarity index 100% rename from src/main/java/nl/matsv/viabackwards/api/MetaRewriter.java rename to core/src/main/java/nl/matsv/viabackwards/api/MetaRewriter.java diff --git a/src/main/java/nl/matsv/viabackwards/api/exceptions/RemovedValueException.java b/core/src/main/java/nl/matsv/viabackwards/api/exceptions/RemovedValueException.java similarity index 100% rename from src/main/java/nl/matsv/viabackwards/api/exceptions/RemovedValueException.java rename to core/src/main/java/nl/matsv/viabackwards/api/exceptions/RemovedValueException.java diff --git a/src/main/java/nl/matsv/viabackwards/api/rewriters/BlockItemRewriter.java b/core/src/main/java/nl/matsv/viabackwards/api/rewriters/BlockItemRewriter.java similarity index 100% rename from src/main/java/nl/matsv/viabackwards/api/rewriters/BlockItemRewriter.java rename to core/src/main/java/nl/matsv/viabackwards/api/rewriters/BlockItemRewriter.java diff --git a/src/main/java/nl/matsv/viabackwards/api/rewriters/EntityRewriter.java b/core/src/main/java/nl/matsv/viabackwards/api/rewriters/EntityRewriter.java similarity index 97% rename from src/main/java/nl/matsv/viabackwards/api/rewriters/EntityRewriter.java rename to core/src/main/java/nl/matsv/viabackwards/api/rewriters/EntityRewriter.java index 18b4b8ba..28cfe2cd 100644 --- a/src/main/java/nl/matsv/viabackwards/api/rewriters/EntityRewriter.java +++ b/core/src/main/java/nl/matsv/viabackwards/api/rewriters/EntityRewriter.java @@ -19,12 +19,12 @@ package nl.matsv.viabackwards.api.rewriters; import lombok.RequiredArgsConstructor; +import nl.matsv.viabackwards.ViaBackwards; import nl.matsv.viabackwards.api.BackwardsProtocol; import nl.matsv.viabackwards.api.MetaRewriter; import nl.matsv.viabackwards.api.exceptions.RemovedValueException; import nl.matsv.viabackwards.api.storage.EntityTracker; import nl.matsv.viabackwards.api.storage.EntityType; -import org.bukkit.Bukkit; import us.myles.ViaVersion.api.ViaVersion; import us.myles.ViaVersion.api.data.UserConnection; import us.myles.ViaVersion.api.minecraft.metadata.Metadata; @@ -112,7 +112,7 @@ public abstract class EntityRewriter extends Rewrit } catch (RemovedValueException ignored) { } catch (Exception e) { if (ViaVersion.getInstance().isDebug()) { - Logger log = Bukkit.getPluginManager().getPlugin("ViaBackwards").getLogger(); + Logger log = ViaBackwards.getPlatform().getLogger(); log.warning("Unable to handle metadata " + md); log.warning("Full metadata list " + metaData); e.printStackTrace(); diff --git a/src/main/java/nl/matsv/viabackwards/api/rewriters/Rewriter.java b/core/src/main/java/nl/matsv/viabackwards/api/rewriters/Rewriter.java similarity index 100% rename from src/main/java/nl/matsv/viabackwards/api/rewriters/Rewriter.java rename to core/src/main/java/nl/matsv/viabackwards/api/rewriters/Rewriter.java diff --git a/src/main/java/nl/matsv/viabackwards/api/rewriters/SoundIdRewriter.java b/core/src/main/java/nl/matsv/viabackwards/api/rewriters/SoundIdRewriter.java similarity index 100% rename from src/main/java/nl/matsv/viabackwards/api/rewriters/SoundIdRewriter.java rename to core/src/main/java/nl/matsv/viabackwards/api/rewriters/SoundIdRewriter.java diff --git a/src/main/java/nl/matsv/viabackwards/api/storage/EntityTracker.java b/core/src/main/java/nl/matsv/viabackwards/api/storage/EntityTracker.java similarity index 100% rename from src/main/java/nl/matsv/viabackwards/api/storage/EntityTracker.java rename to core/src/main/java/nl/matsv/viabackwards/api/storage/EntityTracker.java diff --git a/src/main/java/nl/matsv/viabackwards/api/storage/EntityType.java b/core/src/main/java/nl/matsv/viabackwards/api/storage/EntityType.java similarity index 100% rename from src/main/java/nl/matsv/viabackwards/api/storage/EntityType.java rename to core/src/main/java/nl/matsv/viabackwards/api/storage/EntityType.java diff --git a/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/Protocol1_9To1_10.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/Protocol1_9To1_10.java similarity index 100% rename from src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/Protocol1_9To1_10.java rename to core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/Protocol1_9To1_10.java diff --git a/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/Chunk1_10.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/Chunk1_10.java similarity index 100% rename from src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/Chunk1_10.java rename to core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/Chunk1_10.java diff --git a/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/Chunk1_10Type.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/Chunk1_10Type.java similarity index 93% rename from src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/Chunk1_10Type.java rename to core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/Chunk1_10Type.java index 84db3f83..f8af2e26 100644 --- a/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/Chunk1_10Type.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/Chunk1_10Type.java @@ -20,8 +20,7 @@ package nl.matsv.viabackwards.protocol.protocol1_9_4to1_10.chunks; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; -import org.apache.commons.lang.IllegalClassException; -import org.bukkit.World; +import us.myles.ViaVersion.api.minecraft.Environment; import us.myles.ViaVersion.api.minecraft.chunks.Chunk; import us.myles.ViaVersion.api.minecraft.chunks.ChunkSection; import us.myles.ViaVersion.api.type.PartialType; @@ -65,7 +64,7 @@ public class Chunk1_10Type extends PartialType { sections[i] = section; section.readBlocks(input); section.readBlockLight(input); - if (world.getEnvironment() == World.Environment.NORMAL) { + if (world.getEnvironment() == Environment.NORMAL) { section.readSkyLight(input); } } @@ -83,7 +82,7 @@ public class Chunk1_10Type extends PartialType { @Override public void write(ByteBuf output, ClientWorld world, Chunk input) throws Exception { if (!(input instanceof Chunk1_10)) - throw new IllegalClassException("Tried to send the wrong chunk type from 1.9.3-4 chunk: " + input.getClass()); + throw new Exception("Tried to send the wrong chunk type from 1.9.3-4 chunk: " + input.getClass()); Chunk1_10 chunk = (Chunk1_10) input; output.writeInt(chunk.getX()); diff --git a/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/ChunkSection1_10.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/ChunkSection1_10.java similarity index 100% rename from src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/ChunkSection1_10.java rename to core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/chunks/ChunkSection1_10.java diff --git a/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/BlockItemPackets.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/BlockItemPackets.java similarity index 98% rename from src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/BlockItemPackets.java rename to core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/BlockItemPackets.java index 09952305..371486b8 100644 --- a/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/BlockItemPackets.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/BlockItemPackets.java @@ -26,6 +26,7 @@ import nl.matsv.viabackwards.protocol.protocol1_9_4to1_10.chunks.ChunkSection1_1 import nl.matsv.viabackwards.utils.Block; import us.myles.ViaVersion.api.PacketWrapper; import us.myles.ViaVersion.api.minecraft.item.Item; +import us.myles.ViaVersion.api.minecraft.metadata.types.MetaType1_9; import us.myles.ViaVersion.api.remapper.PacketHandler; import us.myles.ViaVersion.api.remapper.PacketRemapper; import us.myles.ViaVersion.api.type.Type; @@ -245,7 +246,7 @@ public class BlockItemPackets extends BlockItemRewriter { /* Register Metadata */ protocol.getEntityPackets().registerMetaRewriter((isObject, entityType, data) -> { - if (data.getTypeID() == 5) // Is Item + if (data.getMetaType().equals(MetaType1_9.Slot)) // Is Item data.setValue(handleItemToClient((Item) data.getValue())); return data; diff --git a/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/ChangedPackets.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/ChangedPackets.java similarity index 100% rename from src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/ChangedPackets.java rename to core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/ChangedPackets.java diff --git a/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/EntityPackets.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/EntityPackets.java similarity index 97% rename from src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/EntityPackets.java rename to core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/EntityPackets.java index 5968cfbf..3ee26483 100644 --- a/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/EntityPackets.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/EntityPackets.java @@ -23,13 +23,13 @@ import nl.matsv.viabackwards.api.rewriters.EntityRewriter; import nl.matsv.viabackwards.api.storage.EntityTracker; import nl.matsv.viabackwards.protocol.protocol1_9_4to1_10.Protocol1_9To1_10; import us.myles.ViaVersion.api.PacketWrapper; +import us.myles.ViaVersion.api.minecraft.metadata.types.MetaType1_9; import us.myles.ViaVersion.api.remapper.PacketHandler; import us.myles.ViaVersion.api.remapper.PacketRemapper; import us.myles.ViaVersion.api.type.Type; import us.myles.ViaVersion.api.type.types.version.Types1_9; import us.myles.ViaVersion.packets.State; import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; -import us.myles.ViaVersion.protocols.protocol1_9to1_8.metadata.NewType; public class EntityPackets extends EntityRewriter { @@ -331,8 +331,7 @@ public class EntityPackets extends EntityRewriter { boolean b = (boolean) data.getValue(); data.setId(13); - data.setType(Type.BYTE); - data.setTypeID(NewType.Byte.getTypeID()); + data.setMetaType(MetaType1_9.Byte); data.setValue(b ? (byte) (14 & 0x0F) : 0); } return data; @@ -343,7 +342,7 @@ public class EntityPackets extends EntityRewriter { if (isObject || entityType != 54) return data; - if (data.getId() == 13 && data.getTypeID() == 1 && (int) data.getValue() == 6) + if (data.getId() == 13 && data.getMetaType().getTypeID() == 1 && (int) data.getValue() == 6) data.setValue(0); return data; }); @@ -353,7 +352,7 @@ public class EntityPackets extends EntityRewriter { if (isObject || entityType != 51) return data; - if (data.getId() == 12 && data.getTypeID() == 1 && (int) data.getValue() == 2) + if (data.getId() == 12 && data.getMetaType().getTypeID() == 1 && (int) data.getValue() == 2) data.setValue(0); return data; }); diff --git a/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/SoundPackets.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/SoundPackets.java similarity index 100% rename from src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/SoundPackets.java rename to core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_9_4to1_10/packets/SoundPackets.java diff --git a/src/main/java/nl/matsv/viabackwards/utils/Block.java b/core/src/main/java/nl/matsv/viabackwards/utils/Block.java similarity index 100% rename from src/main/java/nl/matsv/viabackwards/utils/Block.java rename to core/src/main/java/nl/matsv/viabackwards/utils/Block.java diff --git a/src/main/java/nl/matsv/viabackwards/utils/ItemUtil.java b/core/src/main/java/nl/matsv/viabackwards/utils/ItemUtil.java similarity index 100% rename from src/main/java/nl/matsv/viabackwards/utils/ItemUtil.java rename to core/src/main/java/nl/matsv/viabackwards/utils/ItemUtil.java diff --git a/pom.xml b/pom.xml index 2ca29f17..1a776d69 100644 --- a/pom.xml +++ b/pom.xml @@ -23,40 +23,32 @@ 4.0.0 nl.matsv - viabackwards + viabackwards-parent + pom 1.0.1 - - - spigot-repo - https://hub.spigotmc.org/nexus/content/repositories/snapshots/ - - - viaversion-repo - https://repo.viaversion.com/ - - + Allow newer clients to join older server versions. + 2016 + https://www.spigotmc.org/resources/viaversion.19254/ + + + core + bukkit + bungee + sponge + all + + + + + UTF-8 + ${projectEncoding} + ${projectEncoding} + 1.8 + 1.8 + - - org.spigotmc - spigot-api - 1.10.2-R0.1-SNAPSHOT - provided - - - us.myles - viaversion - 0.9.8-SNAPSHOT - - - - io.netty - netty-all - 4.0.20.Final - provided - true - org.projectlombok @@ -64,43 +56,18 @@ 1.16.6 provided + + + com.google.guava + guava + 19.0 + + + + us.myles + viaversion + 1.0.0-ALPHA-modules + provided + - - - ${project.name}-${project.version} - src/main/java - clean install - - - - . - false - . - - LICENSE - - - - . - true - src/main/resources/ - - * - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.3 - - 1.8 - 1.8 - false - false - - - - \ No newline at end of file diff --git a/sponge/pom.xml b/sponge/pom.xml new file mode 100644 index 00000000..a47e28c5 --- /dev/null +++ b/sponge/pom.xml @@ -0,0 +1,73 @@ + + + + viabackwards-parent + nl.matsv + 1.0.1 + + 4.0.0 + + viabackwards-sponge + + + + + . + true + src/main/resources/ + + * + + + + + + + org.codehaus.mojo + templating-maven-plugin + 1.0.0 + + + filter-src + + filter-sources + + + + + + + + + + sponge-maven-repo + Sponge maven repo + http://repo.spongepowered.org/maven + + true + + + true + + + + + + + + nl.matsv + viabackwards-core + ${project.parent.version} + + + + + org.spongepowered + spongeapi + LATEST + provided + + + \ No newline at end of file diff --git a/sponge/src/main/java-templates/nl/matsv/viabackwards/sponge/VersionInfo.java b/sponge/src/main/java-templates/nl/matsv/viabackwards/sponge/VersionInfo.java new file mode 100644 index 00000000..48331c0b --- /dev/null +++ b/sponge/src/main/java-templates/nl/matsv/viabackwards/sponge/VersionInfo.java @@ -0,0 +1,5 @@ +package nl.matsv.viabackwards.sponge; + +public class VersionInfo { + public static final String VERSION = "${project.version}"; +} diff --git a/sponge/src/main/java/nl/matsv/viabackwards/SpongePlugin.java b/sponge/src/main/java/nl/matsv/viabackwards/SpongePlugin.java new file mode 100644 index 00000000..fd9ba194 --- /dev/null +++ b/sponge/src/main/java/nl/matsv/viabackwards/SpongePlugin.java @@ -0,0 +1,36 @@ +package nl.matsv.viabackwards; + +import com.google.inject.Inject; +import nl.matsv.viabackwards.sponge.VersionInfo; +import org.spongepowered.api.event.Listener; +import org.spongepowered.api.event.game.state.GameAboutToStartServerEvent; +import org.spongepowered.api.plugin.Dependency; +import org.spongepowered.api.plugin.Plugin; +import org.spongepowered.api.plugin.PluginContainer; +import us.myles.ViaVersion.sponge.util.LoggerWrapper; + +import java.util.logging.Logger; + +@Plugin(id = "viabackwards", + name = "ViaBackwards", + version = VersionInfo.VERSION, + authors = {"Matsv"}, + description = "Allow older Minecraft versions to connect to an newer server version.", + dependencies = {@Dependency(id = "viaversion")} +) +public class SpongePlugin implements ViaBackwardsPlatform { + private Logger logger; + @Inject + private PluginContainer container; + + @Listener + public void onServerStart(GameAboutToStartServerEvent e) { + // Setup Logger + this.logger = new LoggerWrapper(container.getLogger()); + } + + @Override + public Logger getLogger() { + return logger; + } +}