/*
GriefPrevention Server Plugin for Minecraft
Copyright (C) 2012 Ryan Hamshire
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
package me.ryanhamshire.GriefPrevention;
import java.util.ArrayList;
//ordered list of material info objects, for fast searching
public class MaterialCollection
{
ArrayList materials = new ArrayList();
void Add(MaterialInfo material)
{
int i;
for(i = 0; i < this.materials.size() && this.materials.get(i).typeID <= material.typeID; i++);
this.materials.add(i, material);
}
boolean Contains(MaterialInfo material)
{
for(int i = 0; i < this.materials.size() ; i++)
{
MaterialInfo thisMaterial = this.materials.get(i);
if(material.typeID == thisMaterial.typeID && (thisMaterial.allDataValues || material.data == thisMaterial.data))
{
return true;
}
else if(thisMaterial.typeID > material.typeID)
{
return false;
}
}
return false;
}
@Override
public String toString()
{
StringBuilder stringBuilder = new StringBuilder();
for(int i = 0; i < this.materials.size(); i++)
{
stringBuilder.append(this.materials.get(i).toString() + " ");
}
return stringBuilder.toString();
}
public int size()
{
return this.materials.size();
}
public void clear()
{
this.materials.clear();
}
}