mirror of
https://github.com/GTNewHorizons/Binnie.git
synced 2026-11-15 09:44:50 +00:00
Improve code readability in binnie.genetics package
Drop unused (empty) method MachinePackage#register() from all classes
This commit is contained in:
1 parent
856f08b752
commit
730043ba9c
112 files changed
+4354
-4697
No files matched your search
@@ -1,89 +1,84 @@
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
|
||||
package binnie.genetics.machine;
|
||||
|
||||
import java.util.Map;
|
||||
import binnie.Binnie;
|
||||
import java.util.HashMap;
|
||||
import java.util.ArrayList;
|
||||
import net.minecraft.nbt.NBTBase;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import binnie.core.machines.inventory.SetList;
|
||||
import binnie.core.machines.Machine;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import java.util.List;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import binnie.core.machines.inventory.ComponentInventory;
|
||||
import binnie.core.machines.inventory.SetList;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
|
||||
public abstract class ComponentIndexerInventory<T> extends ComponentInventory implements IInventory
|
||||
{
|
||||
int indexerSize;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
// TODO unused class?
|
||||
public abstract class ComponentIndexerInventory<T> extends ComponentInventory implements IInventory {
|
||||
public int guiRefreshCounter;
|
||||
List<ItemStack> indexerInventory;
|
||||
public List<Integer> sortedInventory;
|
||||
int indexerSize;
|
||||
List<ItemStack> indexerInventory;
|
||||
T sortingMode;
|
||||
boolean needsSorting;
|
||||
|
||||
public ComponentIndexerInventory(final Machine machine) {
|
||||
public ComponentIndexerInventory(Machine machine) {
|
||||
super(machine);
|
||||
this.indexerSize = -1;
|
||||
this.guiRefreshCounter = 0;
|
||||
this.indexerInventory = new SetList<ItemStack>();
|
||||
this.sortedInventory = new SetList<Integer>();
|
||||
this.needsSorting = true;
|
||||
indexerSize = -1;
|
||||
guiRefreshCounter = 0;
|
||||
indexerInventory = new SetList<>();
|
||||
sortedInventory = new SetList<>();
|
||||
needsSorting = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
if (this.indexerSize > 0) {
|
||||
return this.indexerSize + 1;
|
||||
if (indexerSize > 0) {
|
||||
return indexerSize + 1;
|
||||
}
|
||||
return this.indexerInventory.size() + 1;
|
||||
return indexerInventory.size() + 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlot(final int index) {
|
||||
if (index >= 0 && index < this.indexerInventory.size()) {
|
||||
return this.indexerInventory.get(index);
|
||||
public ItemStack getStackInSlot(int index) {
|
||||
if (index >= 0 && index < indexerInventory.size()) {
|
||||
return indexerInventory.get(index);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack decrStackSize(final int index, final int amount) {
|
||||
public ItemStack decrStackSize(int index, int amount) {
|
||||
if (index >= 0) {
|
||||
final ItemStack returnStack = this.getStackInSlot(index).copy();
|
||||
this.setInventorySlotContents(index, null);
|
||||
ItemStack returnStack = getStackInSlot(index).copy();
|
||||
setInventorySlotContents(index, null);
|
||||
return returnStack;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlotOnClosing(final int var1) {
|
||||
public ItemStack getStackInSlotOnClosing(int var1) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void markDirty() {
|
||||
super.markDirty();
|
||||
++this.guiRefreshCounter;
|
||||
guiRefreshCounter++;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInventorySlotContents(final int index, final ItemStack itemStack) {
|
||||
if (index >= 0 && index < this.indexerInventory.size()) {
|
||||
this.indexerInventory.set(index, itemStack);
|
||||
public void setInventorySlotContents(int index, ItemStack itemStack) {
|
||||
if (index >= 0 && index < indexerInventory.size()) {
|
||||
indexerInventory.set(index, itemStack);
|
||||
} else if (itemStack != null) {
|
||||
indexerInventory.add(itemStack);
|
||||
}
|
||||
else if (itemStack != null) {
|
||||
this.indexerInventory.add(itemStack);
|
||||
}
|
||||
this.needsSorting = true;
|
||||
this.markDirty();
|
||||
needsSorting = true;
|
||||
markDirty();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -97,33 +92,35 @@ public abstract class ComponentIndexerInventory<T> extends ComponentInventory im
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUseableByPlayer(final EntityPlayer var1) {
|
||||
public boolean isUseableByPlayer(EntityPlayer var1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openInventory() {
|
||||
// ignored
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeInventory() {
|
||||
}
|
||||
|
||||
public void setMode(final T mode) {
|
||||
this.sortingMode = mode;
|
||||
this.needsSorting = true;
|
||||
// ignored
|
||||
}
|
||||
|
||||
public T getMode() {
|
||||
return this.sortingMode;
|
||||
return sortingMode;
|
||||
}
|
||||
|
||||
public void setMode(T mode) {
|
||||
sortingMode = mode;
|
||||
needsSorting = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(final NBTTagCompound nbttagcompound) {
|
||||
public void writeToNBT(NBTTagCompound nbttagcompound) {
|
||||
super.writeToNBT(nbttagcompound);
|
||||
final NBTTagList indexerNBT = new NBTTagList();
|
||||
for (final ItemStack item : this.indexerInventory) {
|
||||
final NBTTagCompound itemNBT = new NBTTagCompound();
|
||||
NBTTagList indexerNBT = new NBTTagList();
|
||||
for (ItemStack item : indexerInventory) {
|
||||
NBTTagCompound itemNBT = new NBTTagCompound();
|
||||
item.writeToNBT(itemNBT);
|
||||
indexerNBT.appendTag(itemNBT);
|
||||
}
|
||||
@@ -131,124 +128,121 @@ public abstract class ComponentIndexerInventory<T> extends ComponentInventory im
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(final NBTTagCompound nbttagcompound) {
|
||||
public void readFromNBT(NBTTagCompound nbttagcompound) {
|
||||
super.readFromNBT(nbttagcompound);
|
||||
final NBTTagList indexerNBT = nbttagcompound.getTagList("indexer", 10);
|
||||
this.indexerInventory.clear();
|
||||
NBTTagList indexerNBT = nbttagcompound.getTagList("indexer", 10);
|
||||
indexerInventory.clear();
|
||||
for (int i = 0; i < indexerNBT.tagCount(); ++i) {
|
||||
final NBTTagCompound itemNBT = indexerNBT.getCompoundTagAt(i);
|
||||
this.setInventorySlotContents(i, ItemStack.loadItemStackFromNBT(itemNBT));
|
||||
NBTTagCompound itemNBT = indexerNBT.getCompoundTagAt(i);
|
||||
setInventorySlotContents(i, ItemStack.loadItemStackFromNBT(itemNBT));
|
||||
}
|
||||
this.needsSorting = true;
|
||||
this.markDirty();
|
||||
needsSorting = true;
|
||||
markDirty();
|
||||
}
|
||||
|
||||
public abstract void Sort();
|
||||
|
||||
public static class ComponentApiaristIndexerInventory extends ComponentIndexerInventory<ComponentApiaristIndexerInventory.Mode> implements IInventory
|
||||
{
|
||||
public ComponentApiaristIndexerInventory(final Machine machine) {
|
||||
public static class ComponentApiaristIndexerInventory extends ComponentIndexerInventory<ComponentApiaristIndexerInventory.Mode> implements IInventory {
|
||||
public ComponentApiaristIndexerInventory(Machine machine) {
|
||||
super(machine);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void Sort() {
|
||||
int i = 0;
|
||||
while (i < this.indexerInventory.size()) {
|
||||
if (this.indexerInventory.get(i) == null) {
|
||||
this.indexerInventory.remove(i);
|
||||
}
|
||||
else {
|
||||
while (i < indexerInventory.size()) {
|
||||
if (indexerInventory.get(i) == null) {
|
||||
indexerInventory.remove(i);
|
||||
} else {
|
||||
++i;
|
||||
}
|
||||
}
|
||||
if (!this.needsSorting) {
|
||||
if (!needsSorting) {
|
||||
return;
|
||||
}
|
||||
this.needsSorting = false;
|
||||
++this.guiRefreshCounter;
|
||||
switch (this.sortingMode) {
|
||||
case Species:
|
||||
case Type: {
|
||||
class SpeciesList
|
||||
{
|
||||
public List<Integer> drones;
|
||||
public List<Integer> queens;
|
||||
public List<Integer> princesses;
|
||||
public List<ItemStack> bees;
|
||||
|
||||
SpeciesList() {
|
||||
this.drones = new ArrayList<Integer>();
|
||||
this.queens = new ArrayList<Integer>();
|
||||
this.princesses = new ArrayList<Integer>();
|
||||
this.bees = new ArrayList<ItemStack>();
|
||||
}
|
||||
|
||||
public void add(final ItemStack stack) {
|
||||
this.bees.add(stack);
|
||||
}
|
||||
}
|
||||
final Map<Integer, SpeciesList> speciesList = new HashMap<Integer, SpeciesList>();
|
||||
for (final ItemStack itemStack : this.indexerInventory) {
|
||||
final int species = itemStack.getItemDamage();
|
||||
if (!speciesList.containsKey(species)) {
|
||||
speciesList.put(species, new SpeciesList());
|
||||
}
|
||||
speciesList.get(species).add(itemStack);
|
||||
}
|
||||
for (final SpeciesList sortableList : speciesList.values()) {
|
||||
for (final ItemStack beeStack : sortableList.bees) {
|
||||
if (Binnie.Genetics.getBeeRoot().isDrone(beeStack)) {
|
||||
sortableList.drones.add(this.indexerInventory.indexOf(beeStack));
|
||||
}
|
||||
else if (Binnie.Genetics.getBeeRoot().isMated(beeStack)) {
|
||||
sortableList.queens.add(this.indexerInventory.indexOf(beeStack));
|
||||
}
|
||||
else {
|
||||
sortableList.princesses.add(this.indexerInventory.indexOf(beeStack));
|
||||
}
|
||||
}
|
||||
}
|
||||
this.sortedInventory = new SetList<Integer>();
|
||||
switch (this.sortingMode) {
|
||||
case Species: {
|
||||
for (int j = 0; j < 1024; ++j) {
|
||||
if (speciesList.containsKey(j)) {
|
||||
this.sortedInventory.addAll(speciesList.get(j).queens);
|
||||
this.sortedInventory.addAll(speciesList.get(j).princesses);
|
||||
this.sortedInventory.addAll(speciesList.get(j).drones);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
needsSorting = false;
|
||||
++guiRefreshCounter;
|
||||
switch (sortingMode) {
|
||||
case Species:
|
||||
case Type: {
|
||||
for (int j = 0; j < 1024; ++j) {
|
||||
if (speciesList.containsKey(j)) {
|
||||
this.sortedInventory.addAll(speciesList.get(j).queens);
|
||||
class SpeciesList {
|
||||
public List<Integer> drones;
|
||||
public List<Integer> queens;
|
||||
public List<Integer> princesses;
|
||||
public List<ItemStack> bees;
|
||||
|
||||
SpeciesList() {
|
||||
drones = new ArrayList<>();
|
||||
queens = new ArrayList<>();
|
||||
princesses = new ArrayList<>();
|
||||
bees = new ArrayList<>();
|
||||
}
|
||||
|
||||
public void add(ItemStack stack) {
|
||||
bees.add(stack);
|
||||
}
|
||||
}
|
||||
for (int j = 0; j < 1024; ++j) {
|
||||
if (speciesList.containsKey(j)) {
|
||||
this.sortedInventory.addAll(speciesList.get(j).princesses);
|
||||
|
||||
Map<Integer, SpeciesList> speciesList = new HashMap<Integer, SpeciesList>();
|
||||
for (ItemStack itemStack : indexerInventory) {
|
||||
int species = itemStack.getItemDamage();
|
||||
if (!speciesList.containsKey(species)) {
|
||||
speciesList.put(species, new SpeciesList());
|
||||
}
|
||||
speciesList.get(species).add(itemStack);
|
||||
}
|
||||
|
||||
for (SpeciesList sortableList : speciesList.values()) {
|
||||
for (ItemStack beeStack : sortableList.bees) {
|
||||
if (Binnie.Genetics.getBeeRoot().isDrone(beeStack)) {
|
||||
sortableList.drones.add(indexerInventory.indexOf(beeStack));
|
||||
} else if (Binnie.Genetics.getBeeRoot().isMated(beeStack)) {
|
||||
sortableList.queens.add(indexerInventory.indexOf(beeStack));
|
||||
} else {
|
||||
sortableList.princesses.add(indexerInventory.indexOf(beeStack));
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int j = 0; j < 1024; ++j) {
|
||||
if (speciesList.containsKey(j)) {
|
||||
this.sortedInventory.addAll(speciesList.get(j).drones);
|
||||
}
|
||||
|
||||
sortedInventory = new SetList<>();
|
||||
switch (sortingMode) {
|
||||
case Species:
|
||||
for (int j = 0; j < 1024; ++j) {
|
||||
if (speciesList.containsKey(j)) {
|
||||
sortedInventory.addAll(speciesList.get(j).queens);
|
||||
sortedInventory.addAll(speciesList.get(j).princesses);
|
||||
sortedInventory.addAll(speciesList.get(j).drones);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case Type:
|
||||
for (int j = 0; j < 1024; ++j) {
|
||||
if (speciesList.containsKey(j)) {
|
||||
sortedInventory.addAll(speciesList.get(j).queens);
|
||||
}
|
||||
}
|
||||
for (int j = 0; j < 1024; ++j) {
|
||||
if (speciesList.containsKey(j)) {
|
||||
sortedInventory.addAll(speciesList.get(j).princesses);
|
||||
}
|
||||
}
|
||||
for (int j = 0; j < 1024; ++j) {
|
||||
if (speciesList.containsKey(j)) {
|
||||
sortedInventory.addAll(speciesList.get(j).drones);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
sortedInventory.clear();
|
||||
for (i = 0; i < indexerInventory.size(); ++i) {
|
||||
sortedInventory.add(i);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
this.sortedInventory.clear();
|
||||
for (i = 0; i < this.indexerInventory.size(); ++i) {
|
||||
this.sortedInventory.add(i);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -258,15 +252,14 @@ public abstract class ComponentIndexerInventory<T> extends ComponentInventory im
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(final int i, final ItemStack itemstack) {
|
||||
public boolean isItemValidForSlot(int i, ItemStack itemstack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public static enum Mode
|
||||
{
|
||||
public enum Mode {
|
||||
None,
|
||||
Species,
|
||||
Type;
|
||||
Type
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user