Revamp altar to only use EnumAltarComponent

- Removes internal references in API
- Makes full use of the idea of the API
- No more special checks
This commit is contained in:
Nick 2015-12-02 16:02:18 -08:00
parent 6db9b51350
commit 96d94721c4
9 changed files with 104 additions and 140 deletions

View file

@ -1,9 +1,6 @@
package WayofTime.bloodmagic.api.altar;
import WayofTime.bloodmagic.api.BlockStack;
import WayofTime.bloodmagic.registry.ModBlocks;
import lombok.Getter;
import net.minecraft.init.Blocks;
import net.minecraft.util.BlockPos;
import java.util.ArrayList;
@ -14,28 +11,28 @@ public enum EnumAltarTier {
TWO() {
@Override
public void buildComponents() {
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, -1), ModBlocks.bloodRune).setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(0, -1, -1), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, -1), ModBlocks.bloodRune).setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, 0), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, 0), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, 1), ModBlocks.bloodRune).setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(0, -1, 1), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, 1), ModBlocks.bloodRune).setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, -1), EnumAltarComponent.BLOODRUNE));
altarComponents.add(new AltarComponent(new BlockPos(0, -1, -1), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, -1), EnumAltarComponent.BLOODRUNE));
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, 0), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, 0), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, 1), EnumAltarComponent.BLOODRUNE));
altarComponents.add(new AltarComponent(new BlockPos(0, -1, 1), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, 1), EnumAltarComponent.BLOODRUNE));
}
},
THREE() {
@Override
public void buildComponents() {
altarComponents.addAll(TWO.getAltarComponents());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, -1), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(0, -1, -1), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, -1), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, 0), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, 0), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, 1), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(0, -1, 1), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, 1), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, -1), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(0, -1, -1), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, -1), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, 0), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, 0), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, 1), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(0, -1, 1), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, 1), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(-3, -1, -3)));
altarComponents.add(new AltarComponent(new BlockPos(-3, 0, -3)));
altarComponents.add(new AltarComponent(new BlockPos(3, -1, -3)));
@ -44,16 +41,16 @@ public enum EnumAltarTier {
altarComponents.add(new AltarComponent(new BlockPos(-3, 0, 3)));
altarComponents.add(new AltarComponent(new BlockPos(3, -1, 3)));
altarComponents.add(new AltarComponent(new BlockPos(3, 0, 3)));
altarComponents.add(new AltarComponent(new BlockPos(-3, 1, -3), Blocks.glowstone));
altarComponents.add(new AltarComponent(new BlockPos(3, 1, -3), Blocks.glowstone));
altarComponents.add(new AltarComponent(new BlockPos(-3, 1, 3), Blocks.glowstone));
altarComponents.add(new AltarComponent(new BlockPos(3, 1, 3), Blocks.glowstone));
altarComponents.add(new AltarComponent(new BlockPos(-3, 1, -3), EnumAltarComponent.GLOWSTONE));
altarComponents.add(new AltarComponent(new BlockPos(3, 1, -3), EnumAltarComponent.GLOWSTONE));
altarComponents.add(new AltarComponent(new BlockPos(-3, 1, 3), EnumAltarComponent.GLOWSTONE));
altarComponents.add(new AltarComponent(new BlockPos(3, 1, 3), EnumAltarComponent.GLOWSTONE));
for (int i = -2; i <= 2; i++) {
altarComponents.add(new AltarComponent(new BlockPos(3, -2, i), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-3, -2, i), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -2, 3), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -2, -3), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(3, -2, i), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(-3, -2, i), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(i, -2, 3), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(i, -2, -3), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
}
}
},
@ -63,10 +60,10 @@ public enum EnumAltarTier {
altarComponents.addAll(THREE.getAltarComponents());
for (int i = -3; i <= 3; i++) {
altarComponents.add(new AltarComponent(new BlockPos(5, -3, i), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-5, -3, i), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -3, 5), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -3, -5), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(5, -3, i), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(-5, -3, i), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(i, -3, 5), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(i, -3, -5), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
}
for (int i = -2; i <= 1; i++) {
@ -76,26 +73,26 @@ public enum EnumAltarTier {
altarComponents.add(new AltarComponent(new BlockPos(-5, i, 5)));
}
altarComponents.add(new AltarComponent(new BlockPos(5, 2, 5), new BlockStack(ModBlocks.bloodStoneBrick, 1)));
altarComponents.add(new AltarComponent(new BlockPos(5, 2, -5), new BlockStack(ModBlocks.bloodStoneBrick, 1)));
altarComponents.add(new AltarComponent(new BlockPos(-5, 2, -5), new BlockStack(ModBlocks.bloodStoneBrick, 1)));
altarComponents.add(new AltarComponent(new BlockPos(-5, 2, 5), new BlockStack(ModBlocks.bloodStoneBrick, 1)));
altarComponents.add(new AltarComponent(new BlockPos(5, 2, 5), EnumAltarComponent.BLOODSTONE));
altarComponents.add(new AltarComponent(new BlockPos(5, 2, -5), EnumAltarComponent.BLOODSTONE));
altarComponents.add(new AltarComponent(new BlockPos(-5, 2, -5), EnumAltarComponent.BLOODSTONE));
altarComponents.add(new AltarComponent(new BlockPos(-5, 2, 5), EnumAltarComponent.BLOODSTONE));
}
},
FIVE() {
@Override
public void buildComponents() {
altarComponents.addAll(FOUR.getAltarComponents());
altarComponents.add(new AltarComponent(new BlockPos(-8, -3, 8), Blocks.beacon));
altarComponents.add(new AltarComponent(new BlockPos(-8, -3, -8), Blocks.beacon));
altarComponents.add(new AltarComponent(new BlockPos(8, -3, -8), Blocks.beacon));
altarComponents.add(new AltarComponent(new BlockPos(8, -3, 8), Blocks.beacon));
altarComponents.add(new AltarComponent(new BlockPos(-8, -3, 8), EnumAltarComponent.BEACON));
altarComponents.add(new AltarComponent(new BlockPos(-8, -3, -8), EnumAltarComponent.BEACON));
altarComponents.add(new AltarComponent(new BlockPos(8, -3, -8), EnumAltarComponent.BEACON));
altarComponents.add(new AltarComponent(new BlockPos(8, -3, 8), EnumAltarComponent.BEACON));
for (int i = -6; i <= 6; i++) {
altarComponents.add(new AltarComponent(new BlockPos(8, -4, i), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-8, -4, i), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -4, 8), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -4, -8), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(8, -4, i), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(-8, -4, i), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(i, -4, 8), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(i, -4, -8), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
}
}
},
@ -111,16 +108,16 @@ public enum EnumAltarTier {
altarComponents.add(new AltarComponent(new BlockPos(-11, i, 11)));
}
altarComponents.add(new AltarComponent(new BlockPos(11, 3, 11), ModBlocks.crystal));
altarComponents.add(new AltarComponent(new BlockPos(-11, 3, -11), ModBlocks.crystal));
altarComponents.add(new AltarComponent(new BlockPos(11, 3, -11), ModBlocks.crystal));
altarComponents.add(new AltarComponent(new BlockPos(-11, 3, 11), ModBlocks.crystal));
altarComponents.add(new AltarComponent(new BlockPos(11, 3, 11), EnumAltarComponent.CRYSTAL));
altarComponents.add(new AltarComponent(new BlockPos(-11, 3, -11), EnumAltarComponent.CRYSTAL));
altarComponents.add(new AltarComponent(new BlockPos(11, 3, -11), EnumAltarComponent.CRYSTAL));
altarComponents.add(new AltarComponent(new BlockPos(-11, 3, 11), EnumAltarComponent.CRYSTAL));
for (int i = -9; i <= 9; i++) {
altarComponents.add(new AltarComponent(new BlockPos(11, -5, i), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-11, -5, i), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -5, 11), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -5, -11), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(11, -5, i), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(-11, -5, i), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(i, -5, 11), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
altarComponents.add(new AltarComponent(new BlockPos(i, -5, -11), EnumAltarComponent.BLOODRUNE).setUpgradeSlot());
}
}
};