diff --git a/src/main/java/dan200/computercraft/shared/common/ColourableRecipe.java b/src/main/java/dan200/computercraft/shared/common/ColourableRecipe.java index 3006954a0..7d47ccdb3 100644 --- a/src/main/java/dan200/computercraft/shared/common/ColourableRecipe.java +++ b/src/main/java/dan200/computercraft/shared/common/ColourableRecipe.java @@ -8,7 +8,6 @@ package dan200.computercraft.shared.common; import javax.annotation.Nonnull; -import dan200.computercraft.shared.util.Colour; import dan200.computercraft.shared.util.ColourTracker; import dan200.computercraft.shared.util.ColourUtils; @@ -71,12 +70,7 @@ public final class ColourableRecipe extends SpecialCraftingRecipe { colourable = stack; } else { DyeColor dye = ColourUtils.getStackColour(stack); - if (dye == null) { - continue; - } - - Colour colour = Colour.fromInt(15 - dye.getId()); - tracker.addColour(colour.getR(), colour.getG(), colour.getB()); + if( dye != null ) tracker.addColour( dye ); } } diff --git a/src/main/java/dan200/computercraft/shared/media/recipes/DiskRecipe.java b/src/main/java/dan200/computercraft/shared/media/recipes/DiskRecipe.java index 615985082..24006f1ee 100644 --- a/src/main/java/dan200/computercraft/shared/media/recipes/DiskRecipe.java +++ b/src/main/java/dan200/computercraft/shared/media/recipes/DiskRecipe.java @@ -53,7 +53,9 @@ public class DiskRecipe extends SpecialCraftingRecipe { return false; } redstoneFound = true; - } else if (ColourUtils.getStackColour(stack) != null) { + } + else if( ColourUtils.getStackColour( stack ) == null ) + { return false; } } @@ -74,14 +76,10 @@ public class DiskRecipe extends SpecialCraftingRecipe { continue; } - if (!this.paper.test(stack) && !this.redstone.test(stack)) { - DyeColor dye = ColourUtils.getStackColour(stack); - if (dye == null) { - continue; - } - - Colour colour = Colour.VALUES[dye.getId()]; - tracker.addColour(colour.getR(), colour.getG(), colour.getB()); + if( !paper.test( stack ) && !redstone.test( stack ) ) + { + DyeColor dye = ColourUtils.getStackColour( stack ); + if( dye != null ) tracker.addColour( dye ); } } diff --git a/src/main/java/dan200/computercraft/shared/util/ColourTracker.java b/src/main/java/dan200/computercraft/shared/util/ColourTracker.java index 55b4571f7..25daa65e2 100644 --- a/src/main/java/dan200/computercraft/shared/util/ColourTracker.java +++ b/src/main/java/dan200/computercraft/shared/util/ColourTracker.java @@ -6,6 +6,8 @@ package dan200.computercraft.shared.util; +import net.minecraft.util.DyeColor; + /** * A reimplementation of the colour system in {@link ArmorDyeRecipe}, but bundled together as an object. */ @@ -28,8 +30,15 @@ public class ColourTracker { this.count++; } - public boolean hasColour() { - return this.count > 0; + public void addColour( DyeColor dye ) + { + Colour colour = Colour.VALUES[15 - dye.getId()]; + addColour( colour.getR(), colour.getG(), colour.getB() ); + } + + public boolean hasColour() + { + return count > 0; } public int getColour() {