From 4bcaa62ca79d12452d37bef73eb0b15e84c36710 Mon Sep 17 00:00:00 2001 From: tterrag1098 Date: Thu, 15 Jan 2015 06:20:22 -0500 Subject: [PATCH] More API cleanup. ICarvableVariation no longer extends Comparable. --- .../cricketcraft/chisel/api/carving/ICarvingGroup.java | 8 ++++++++ .../chisel/api/carving/ICarvingVariation.java | 8 ++------ .../com/cricketcraft/chisel/carving/CarvingGroup.java | 10 +++++++++- .../cricketcraft/chisel/carving/CarvingVariation.java | 7 ------- .../com/cricketcraft/chisel/carving/GroupList.java | 6 ------ 5 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/cricketcraft/chisel/api/carving/ICarvingGroup.java b/src/main/java/com/cricketcraft/chisel/api/carving/ICarvingGroup.java index 287929c8..928aa869 100644 --- a/src/main/java/com/cricketcraft/chisel/api/carving/ICarvingGroup.java +++ b/src/main/java/com/cricketcraft/chisel/api/carving/ICarvingGroup.java @@ -2,6 +2,14 @@ package com.cricketcraft.chisel.api.carving; import java.util.List; +/** + * Represents a group of chiselable blocks. + *

+ * This is an object that contains a collection of {@link ICarvingVariation} objects, and keeps them sorted. You may sort them in any way (or not at all), and {@link ICarvingVariation#getOrder()} will + * likely be of use to do so. + *

+ * It also defines what sound and oredict name the group as a whole has. + */ public interface ICarvingGroup { /** diff --git a/src/main/java/com/cricketcraft/chisel/api/carving/ICarvingVariation.java b/src/main/java/com/cricketcraft/chisel/api/carving/ICarvingVariation.java index bab294e5..02825674 100644 --- a/src/main/java/com/cricketcraft/chisel/api/carving/ICarvingVariation.java +++ b/src/main/java/com/cricketcraft/chisel/api/carving/ICarvingVariation.java @@ -5,11 +5,8 @@ import net.minecraft.item.Item; /** * Represents a variation of a chiselable block. - *

- * Do note that while this interface extends {@link Comparable}, a default implementation of {@link Comparable#compareTo(Object)} is provided in - * {@link CarvingUtils#compare(ICarvingVariation, ICarvingVariation)} */ -public interface ICarvingVariation extends Comparable { +public interface ICarvingVariation { /** * The base block of this variation. @@ -33,10 +30,9 @@ public interface ICarvingVariation extends Comparable { int getItemMeta(); /** - * The "order" of this variation. Represents its position in the list of variations. + * The "order" of this variation. Represents its position in the list of variations held by a group. * * @return An integer to represent the position of this variation in the list of all variations in the group */ int getOrder(); - } diff --git a/src/main/java/com/cricketcraft/chisel/carving/CarvingGroup.java b/src/main/java/com/cricketcraft/chisel/carving/CarvingGroup.java index 5f4ecf3f..08e64389 100644 --- a/src/main/java/com/cricketcraft/chisel/carving/CarvingGroup.java +++ b/src/main/java/com/cricketcraft/chisel/carving/CarvingGroup.java @@ -1,8 +1,10 @@ package com.cricketcraft.chisel.carving; import java.util.Collections; +import java.util.Comparator; import java.util.List; +import com.cricketcraft.chisel.api.carving.CarvingUtils; import com.cricketcraft.chisel.api.carving.ICarvingGroup; import com.cricketcraft.chisel.api.carving.ICarvingVariation; import com.google.common.collect.ImmutableList; @@ -27,7 +29,13 @@ public class CarvingGroup implements ICarvingGroup { @Override public void addVariation(ICarvingVariation variation) { variations.add(variation); - Collections.sort(variations); + Collections.sort(variations, new Comparator() { + + @Override + public int compare(ICarvingVariation o1, ICarvingVariation o2) { + return CarvingUtils.compare(o1, o2); + } + }); } @Override diff --git a/src/main/java/com/cricketcraft/chisel/carving/CarvingVariation.java b/src/main/java/com/cricketcraft/chisel/carving/CarvingVariation.java index 7d63f1fb..f3e8d3dd 100644 --- a/src/main/java/com/cricketcraft/chisel/carving/CarvingVariation.java +++ b/src/main/java/com/cricketcraft/chisel/carving/CarvingVariation.java @@ -1,9 +1,7 @@ package com.cricketcraft.chisel.carving; import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; -import com.cricketcraft.chisel.api.carving.CarvingUtils; import com.cricketcraft.chisel.api.carving.ICarvingVariation; public class CarvingVariation implements ICarvingVariation { @@ -39,9 +37,4 @@ public class CarvingVariation implements ICarvingVariation { public int getOrder() { return order; } - - @Override - public int compareTo(ICarvingVariation o) { - return CarvingUtils.compare(this, o); - } } diff --git a/src/main/java/com/cricketcraft/chisel/carving/GroupList.java b/src/main/java/com/cricketcraft/chisel/carving/GroupList.java index d57c8f8c..a33db007 100644 --- a/src/main/java/com/cricketcraft/chisel/carving/GroupList.java +++ b/src/main/java/com/cricketcraft/chisel/carving/GroupList.java @@ -6,7 +6,6 @@ import java.util.Iterator; import java.util.Set; import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; import org.apache.commons.lang3.tuple.Pair; @@ -49,11 +48,6 @@ public class GroupList implements Set { data = Pair.of(block, blockMeta); } - @Override - public int compareTo(ICarvingVariation o) { - return 0; - } - @Override public Block getBlock() { return data.getLeft();