From ae5b8a2540b976869abcd5f771c01fcdab8e889c Mon Sep 17 00:00:00 2001 From: Alisson Lauffer Date: Thu, 21 Nov 2019 00:46:08 -0300 Subject: [PATCH 01/11] Do not set logo height in README - This prevents logo from getting stretched --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1b6a4357c..6278d4e18 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Geyser +Geyser [![forthebadge made-with-java](http://ForTheBadge.com/images/badges/made-with-java.svg)](https://java.com/) From ee4a01e304d4e98da76d7a098786043292b437dd Mon Sep 17 00:00:00 2001 From: RednedEpic Date: Wed, 27 Nov 2019 21:22:27 -0600 Subject: [PATCH 02/11] (Actually) fix offline mode skins --- .../src/main/java/org/geysermc/connector/utils/SkinUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connector/src/main/java/org/geysermc/connector/utils/SkinUtils.java b/connector/src/main/java/org/geysermc/connector/utils/SkinUtils.java index 407212ddc..b4c9d7f63 100644 --- a/connector/src/main/java/org/geysermc/connector/utils/SkinUtils.java +++ b/connector/src/main/java/org/geysermc/connector/utils/SkinUtils.java @@ -100,7 +100,7 @@ public class SkinUtils { Geyser.getLogger().debug("Got invalid texture data for " + profile.getName() + " " + exception.getMessage()); } // return default skin with default cape when texture data is invalid - return new GameProfileData("", "", false); + return new GameProfileData(SkinProvider.EMPTY_SKIN.getTextureUrl(), SkinProvider.EMPTY_CAPE.getTextureUrl(), false); } } } From 7a4621cf51f284baf8bd043729fcdecf848c5b09 Mon Sep 17 00:00:00 2001 From: Redned Date: Wed, 27 Nov 2019 22:33:45 -0600 Subject: [PATCH 03/11] Fix 'version' typo in startup message --- .../src/main/java/org/geysermc/connector/GeyserConnector.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connector/src/main/java/org/geysermc/connector/GeyserConnector.java b/connector/src/main/java/org/geysermc/connector/GeyserConnector.java index cc16f70e0..bfd1e07eb 100644 --- a/connector/src/main/java/org/geysermc/connector/GeyserConnector.java +++ b/connector/src/main/java/org/geysermc/connector/GeyserConnector.java @@ -110,7 +110,7 @@ public class GeyserConnector implements Connector { logger.info("******************************************"); logger.info(""); - logger.info("Loading " + NAME + " vesion " + VERSION); + logger.info("Loading " + NAME + " version " + VERSION); logger.info(""); logger.info("******************************************"); From faffa07e896f978dcd5f32edc9e6616b3871f663 Mon Sep 17 00:00:00 2001 From: RednedEpic Date: Thu, 28 Nov 2019 10:10:32 -0600 Subject: [PATCH 04/11] Fix flying in creative mode Flying with commands such as /fly will not work for now (it didn't in the first place). This will need to be addressed later. --- .../network/translators/TranslatorsInit.java | 4 +- .../world/JavaNotifyClientTranslator.java | 44 ++++++++++++++++--- 2 files changed, 40 insertions(+), 8 deletions(-) diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/TranslatorsInit.java b/connector/src/main/java/org/geysermc/connector/network/translators/TranslatorsInit.java index 694ae525a..4f6e21e76 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/TranslatorsInit.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/TranslatorsInit.java @@ -126,7 +126,9 @@ public class TranslatorsInit { Registry.registerJava(ServerPlayerSetExperiencePacket.class, new JavaPlayerSetExperienceTranslator()); Registry.registerJava(ServerPlayerHealthPacket.class, new JavaPlayerHealthTranslator()); Registry.registerJava(ServerPlayerActionAckPacket.class, new JavaPlayerActionAckTranslator()); - Registry.registerJava(ServerPlayerAbilitiesPacket.class, new JavaPlayerAbilitiesTranslator()); + + // FIXME: This translator messes with allowing flight in creative mode. Will need to be addressed later + // Registry.registerJava(ServerPlayerAbilitiesPacket.class, new JavaPlayerAbilitiesTranslator()); Registry.registerJava(ServerNotifyClientPacket.class, new JavaNotifyClientTranslator()); Registry.registerJava(ServerChunkDataPacket.class, new JavaChunkDataTranslator()); diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaNotifyClientTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaNotifyClientTranslator.java index 6c1b51aee..2a6d4a575 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaNotifyClientTranslator.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaNotifyClientTranslator.java @@ -28,9 +28,9 @@ package org.geysermc.connector.network.translators.java.world; import com.github.steveice10.mc.protocol.data.game.entity.player.GameMode; import com.github.steveice10.mc.protocol.packet.ingame.server.world.ServerNotifyClientPacket; import com.nukkitx.math.vector.Vector3f; -import com.nukkitx.protocol.bedrock.packet.LevelEventPacket; -import com.nukkitx.protocol.bedrock.packet.SetPlayerGameTypePacket; -import com.nukkitx.protocol.bedrock.packet.ShowCreditsPacket; +import com.nukkitx.protocol.bedrock.data.EntityDataDictionary; +import com.nukkitx.protocol.bedrock.data.EntityFlag; +import com.nukkitx.protocol.bedrock.packet.*; import org.geysermc.connector.entity.Entity; import org.geysermc.connector.network.session.GeyserSession; import org.geysermc.connector.network.translators.PacketTranslator; @@ -41,6 +41,10 @@ public class JavaNotifyClientTranslator extends PacketTranslator Date: Thu, 28 Nov 2019 10:35:06 -0600 Subject: [PATCH 05/11] Update wood mappings --- connector/src/main/resources/blocks.json | 72 ++++++++++++------------ 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/connector/src/main/resources/blocks.json b/connector/src/main/resources/blocks.json index 0e8f0d0e1..83fbe14ba 100644 --- a/connector/src/main/resources/blocks.json +++ b/connector/src/main/resources/blocks.json @@ -432,76 +432,76 @@ "bedrock_data": 2 }, "minecraft:oak_wood[axis=x]": { - "bedrock_identifier": "minecraft:log", - "bedrock_data": 12 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 16 }, "minecraft:oak_wood[axis=y]": { - "bedrock_identifier": "minecraft:log", - "bedrock_data": 12 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 0 }, "minecraft:oak_wood[axis=z]": { - "bedrock_identifier": "minecraft:log", - "bedrock_data": 12 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 32 }, "minecraft:spruce_wood[axis=x]": { - "bedrock_identifier": "minecraft:log", - "bedrock_data": 13 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 17 }, "minecraft:spruce_wood[axis=y]": { - "bedrock_identifier": "minecraft:log", - "bedrock_data": 13 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 1 }, "minecraft:spruce_wood[axis=z]": { - "bedrock_identifier": "minecraft:log", - "bedrock_data": 13 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 33 }, "minecraft:birch_wood[axis=x]": { - "bedrock_identifier": "minecraft:log", - "bedrock_data": 14 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 18 }, "minecraft:birch_wood[axis=y]": { - "bedrock_identifier": "minecraft:log", - "bedrock_data": 14 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 2 }, "minecraft:birch_wood[axis=z]": { - "bedrock_identifier": "minecraft:log", - "bedrock_data": 14 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 34 }, "minecraft:jungle_wood[axis=x]": { - "bedrock_identifier": "minecraft:log", - "bedrock_data": 15 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 19 }, "minecraft:jungle_wood[axis=y]": { - "bedrock_identifier": "minecraft:log", - "bedrock_data": 15 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 3 }, "minecraft:jungle_wood[axis=z]": { - "bedrock_identifier": "minecraft:log", - "bedrock_data": 15 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 35 }, "minecraft:acacia_wood[axis=x]": { - "bedrock_identifier": "minecraft:log2", - "bedrock_data": 12 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 20 }, "minecraft:acacia_wood[axis=y]": { - "bedrock_identifier": "minecraft:log2", - "bedrock_data": 12 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 4 }, "minecraft:acacia_wood[axis=z]": { - "bedrock_identifier": "minecraft:log2", - "bedrock_data": 12 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 36 }, "minecraft:dark_oak_wood[axis=x]": { - "bedrock_identifier": "minecraft:log2", - "bedrock_data": 13 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 21 }, "minecraft:dark_oak_wood[axis=y]": { - "bedrock_identifier": "minecraft:log2", - "bedrock_data": 13 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 5 }, "minecraft:dark_oak_wood[axis=z]": { - "bedrock_identifier": "minecraft:log2", - "bedrock_data": 13 + "bedrock_identifier": "minecraft:wood", + "bedrock_data": 37 }, "minecraft:stripped_oak_wood[axis=x]": { "bedrock_identifier": "minecraft:stripped_oak_log", From 28693ff8294de1b97111114baa586e6f3a47513a Mon Sep 17 00:00:00 2001 From: Redned Date: Thu, 28 Nov 2019 15:06:09 -0600 Subject: [PATCH 06/11] Add maven workflow --- .github/workflows/maven.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/maven.yml diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 000000000..91106d3f4 --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,17 @@ +name: Java CI + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + - name: Set up JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + - name: Build with Maven + run: mvn -B package --file pom.xml From 89cfbdcdfd6b8482792db199b12357cc123c6fe5 Mon Sep 17 00:00:00 2001 From: Redned Date: Thu, 28 Nov 2019 15:13:58 -0600 Subject: [PATCH 07/11] Update workflows to build PRs --- .github/workflows/maven.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 91106d3f4..d8c2beeb2 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -1,6 +1,6 @@ name: Java CI -on: [push] +on: [push, pull_request] jobs: build: From 726aea53cda00efacd71016f2a034a8f5145168d Mon Sep 17 00:00:00 2001 From: SupremeMortal <6178101+SupremeMortal@users.noreply.github.com> Date: Thu, 28 Nov 2019 23:05:33 +0000 Subject: [PATCH 08/11] Use new GitHub Actions to build PRs --- .github/workflows/pullrequest.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/pullrequest.yml diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml new file mode 100644 index 000000000..bea51a6e6 --- /dev/null +++ b/.github/workflows/pullrequest.yml @@ -0,0 +1,29 @@ +name: Build Pull Request + +on: [pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + - uses: actions/cache@v1 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: Set up JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + - name: Build with Maven + run: mvn -B package + - name: Archive artifacts + uses: actions/upload-artifact@v1 + if: success() + with: + name: Geyser + path: target/Geyser.jar From 406eff3f038aaa1e6fd51b338a212e72d5ade27c Mon Sep 17 00:00:00 2001 From: SupremeMortal <6178101+SupremeMortal@users.noreply.github.com> Date: Thu, 28 Nov 2019 23:15:53 +0000 Subject: [PATCH 09/11] We don't need this action anymore. Jenkins builds all local branches whilst GitHub Actions builds all PRs. --- .github/workflows/maven.yml | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 .github/workflows/maven.yml diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml deleted file mode 100644 index d8c2beeb2..000000000 --- a/.github/workflows/maven.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Java CI - -on: [push, pull_request] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v1 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 - with: - java-version: 1.8 - - name: Build with Maven - run: mvn -B package --file pom.xml From e70ac021af0abb2a14e53069e258aa1f4b56cce4 Mon Sep 17 00:00:00 2001 From: SupremeMortal <6178101+SupremeMortal@users.noreply.github.com> Date: Thu, 28 Nov 2019 23:27:43 +0000 Subject: [PATCH 10/11] Fix overlapping netty dependency when shading. Why does this protocol library even include the entirety of netty?!? --- connector/pom.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/connector/pom.xml b/connector/pom.xml index 7b295929d..60ecfc557 100644 --- a/connector/pom.xml +++ b/connector/pom.xml @@ -11,7 +11,6 @@ connector - org.geysermc api 1.0-SNAPSHOT @@ -95,6 +94,12 @@ packetlib 1.4-SNAPSHOT compile + + + io.netty + netty-all + + com.github.steveice10 From 98cb8f406d23d10a30e5086a6e8ff8f9e810777c Mon Sep 17 00:00:00 2001 From: RednedEpic Date: Thu, 28 Nov 2019 20:54:30 -0600 Subject: [PATCH 11/11] Suppress "could not submit stats" warning This error usually means nothing (as said by Bastian himself) and it can be ignored. This does not appear to cause issues with displaying information on bStats itself. --- .../src/main/java/org/geysermc/connector/GeyserConnector.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connector/src/main/java/org/geysermc/connector/GeyserConnector.java b/connector/src/main/java/org/geysermc/connector/GeyserConnector.java index bfd1e07eb..4abe763ff 100644 --- a/connector/src/main/java/org/geysermc/connector/GeyserConnector.java +++ b/connector/src/main/java/org/geysermc/connector/GeyserConnector.java @@ -155,7 +155,7 @@ public class GeyserConnector implements Connector { }).join(); if (config.getMetrics().isEnabled()) { - metrics = new Metrics("GeyserMC", config.getMetrics().getUUID(), true, java.util.logging.Logger.getLogger("")); + metrics = new Metrics("GeyserMC", config.getMetrics().getUUID(), false, java.util.logging.Logger.getLogger("")); metrics.addCustomChart(new Metrics.SingleLineChart("servers", () -> 1)); metrics.addCustomChart(new Metrics.SingleLineChart("players", Geyser::getPlayerCount)); metrics.addCustomChart(new Metrics.SimplePie("authMode", config.getRemote()::getAuthType));