Bläddra i källkod

Add build workflow

d4rkm0nkey 4 år sedan
förälder
incheckning
64e9c8ab97

+ 41 - 0
.github/workflows/build.yml

@@ -0,0 +1,41 @@
+# Automatically build the project and run any configured tests for every push
+# and submitted pull request. This can help catch issues that only occur on
+# certain platforms or Java versions, and provides a first line of defence
+# against bad commits.
+
+name: build
+on: [pull_request, push]
+
+jobs:
+  build:
+    strategy:
+      matrix:
+        # Use these Java versions
+        java: [
+          1.8,  # Minimum supported by Minecraft
+          11,   # Current Java LTS
+          15    # Latest version
+        ]
+        # and run on both Linux and Windows
+        os: [ubuntu-20.04, windows-latest]
+    runs-on: ${{ matrix.os }}
+    steps:
+      - name: checkout repository
+        uses: actions/checkout@v2
+      - name: validate gradle wrapper
+        uses: gradle/wrapper-validation-action@v1
+      - name: setup jdk ${{ matrix.java }}
+        uses: actions/setup-java@v1
+        with:
+          java-version: ${{ matrix.java }}
+      - name: make gradle wrapper executable
+        if: ${{ runner.os != 'Windows' }}
+        run: chmod +x ./gradlew
+      - name: build
+        run: ./gradlew build
+      - name: capture build artifacts
+        if: ${{ runner.os == 'Linux' && matrix.java == '11' }} # Only upload artifacts built from LTS java on one OS
+        uses: actions/upload-artifact@v2
+        with:
+          name: Artifacts
+          path: build/libs/

+ 1 - 0
.gitignore

@@ -27,3 +27,4 @@ bin/
 # fabric
 
 run/
+build/libs/horse-stats-vanilla-4.1.7.jar

+ 1 - 0
src/main/java/monkey/lumpy/horse/stats/vanilla/mixin/AbstractDonkeyEntityMixin.java

@@ -20,6 +20,7 @@ import net.minecraft.entity.EntityType;
 import net.minecraft.entity.attribute.EntityAttributes;
 import net.minecraft.entity.passive.AbstractDonkeyEntity;
 import net.minecraft.entity.passive.HorseBaseEntity;
+
 import net.minecraft.entity.player.PlayerEntity;
 import net.minecraft.util.ActionResult;
 import net.minecraft.util.Hand;

+ 0 - 10
src/main/java/net/horse/stats/vanilla/HorseStatsVanilla.java

@@ -1,10 +0,0 @@
-package net.horse.stats.vanilla;
-
-import net.fabricmc.api.ModInitializer;
-
-public class HorseStatsVanilla implements ModInitializer {
-    @Override
-    public void onInitialize() {
-
-    }
-}

+ 0 - 63
src/main/java/net/horse/stats/vanilla/mixin/HorseScreenMixin.java

@@ -1,63 +0,0 @@
-package net.horse.stats.vanilla.mixin;
-
-import net.minecraft.client.gui.screen.ingame.HandledScreen;
-import net.minecraft.client.gui.screen.ingame.HorseScreen;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.entity.attribute.EntityAttributes;
-import net.minecraft.entity.passive.AbstractDonkeyEntity;
-import net.minecraft.entity.passive.HorseBaseEntity;
-import net.minecraft.entity.passive.LlamaEntity;
-import net.minecraft.entity.player.PlayerInventory;
-import net.minecraft.screen.HorseScreenHandler;
-import net.minecraft.text.Text;
-import org.spongepowered.asm.mixin.Final;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
-
-import java.text.DecimalFormat;
-
-@Mixin(HorseScreen.class)
-public abstract class HorseScreenMixin extends HandledScreen<HorseScreenHandler> {
-    @Shadow
-    @Final
-    private HorseBaseEntity entity;
-
-    public HorseScreenMixin(HorseScreenHandler handler, PlayerInventory inventory, Text title) {
-        super(handler, inventory, title);
-    }
-
-    protected void drawForeground(MatrixStack matrices, int mouseX, int mouseY) {
-        super.drawForeground(matrices, mouseX, mouseY);
-
-        boolean hasChest = false;
-        if (AbstractDonkeyEntity.class.isAssignableFrom(this.entity.getClass()) && ((AbstractDonkeyEntity) this.entity).hasChest()) {
-            hasChest = true;
-        }
-
-        DecimalFormat df = new DecimalFormat("#.#");
-        String jumpstrength = df.format( 0.695 * (this.entity.getJumpStrength() * 10) - 1.736);
-        String maxHealth = df.format(this.entity.getMaxHealth());
-        String speed = df.format( 0.42466 * (this.entity.getAttributes().getValue(EntityAttributes.GENERIC_MOVEMENT_SPEED) * 100) + 0.112665);
-
-        if (!hasChest) {
-            this.textRenderer.draw(matrices, "➟ ", 89.0F, 26.0F, 4210752);
-            this.textRenderer.draw(matrices, "" + speed, 100.0F, 26.0F, 4210752);
-            this.textRenderer.draw(matrices, "⇮", 91.0F, 36.0F, 4210752);
-            this.textRenderer.draw(matrices, "" + jumpstrength, 100.0F, 36.0F, 4210752);
-            this.textRenderer.draw(matrices, "♥", 90.0F, 46.0F, 4210752);
-            this.textRenderer.draw(matrices, "" + maxHealth, 100.0F, 46.0F, 4210752);
-        } else {
-            this.textRenderer.draw(matrices, "➟ " + speed, 80.0F, 6.0F, 4210752);
-            this.textRenderer.draw(matrices, "⇮ " + jumpstrength, 115.0F, 6.0F, 4210752);
-            this.textRenderer.draw(matrices, "♥ " + maxHealth, 140.0F, 6.0F, 4210752);
-        }
-
-        if (LlamaEntity.class.isAssignableFrom(this.entity.getClass())) {
-            int strength = 3 * ((LlamaEntity) this.entity).getStrength();
-            if (!hasChest) {
-                this.textRenderer.draw(matrices, "▦", 91.0F, 56.0F, 4210752);
-                this.textRenderer.draw(matrices, "" + strength, 100.0F, 56.0F, 4210752);
-            }
-        }
-    }
-}

+ 1 - 1
src/main/resources/fabric.mod.json

@@ -1,7 +1,7 @@
 {
   "schemaVersion": 1,
   "id": "horsestatsvanilla",
-  "version": "4.1.6",
+  "version": "4.1.7",
   "name": "Horse Stats Vanilla",
   "description": "Shows horse stats in the horse inventory.",
   "authors": [