Skip to content

Commit

Permalink
Merge pull request #70 from TheBusyBiscuit/feature/firework-meta
Browse files Browse the repository at this point in the history
Added more ItemMeta Mocks
  • Loading branch information
seeseemelk committed May 22, 2020
2 parents c9f97a7 + 73cde99 commit 593aa2e
Show file tree
Hide file tree
Showing 12 changed files with 723 additions and 214 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
import be.seeseemelk.mockbukkit.UnimplementedOperationException;
import be.seeseemelk.mockbukkit.inventory.meta.BookMetaMock;
import be.seeseemelk.mockbukkit.inventory.meta.EnchantedBookMetaMock;
import be.seeseemelk.mockbukkit.inventory.meta.FireworkEffectMetaMock;
import be.seeseemelk.mockbukkit.inventory.meta.FireworkMetaMock;
import be.seeseemelk.mockbukkit.inventory.meta.ItemMetaMock;
import be.seeseemelk.mockbukkit.inventory.meta.KnowledgeBookMetaMock;
import be.seeseemelk.mockbukkit.inventory.meta.LeatherArmorMetaMock;
Expand Down Expand Up @@ -44,11 +46,9 @@ private Class<? extends ItemMeta> getItemMetaClass(Material material)
// TODO Auto-generated method stub
throw new UnimplementedOperationException();
case FIREWORK_STAR:
// TODO Auto-generated method stub
throw new UnimplementedOperationException();
return FireworkEffectMetaMock.class;
case FIREWORK_ROCKET:
// TODO Auto-generated method stub
throw new UnimplementedOperationException();
return FireworkMetaMock.class;
case POTION:
case LINGERING_POTION:
case SPLASH_POTION:
Expand Down
300 changes: 166 additions & 134 deletions src/main/java/be/seeseemelk/mockbukkit/inventory/meta/BookMetaMock.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,24 +17,27 @@
*
* @author SimplyBallistic
**/
public class BookMetaMock extends ItemMetaMock implements BookMeta {
private String title;
private List<String> pages = new ArrayList<>();
private String author;

public BookMetaMock() {
super();
}

public BookMetaMock(BookMeta meta) {
super(meta);

this.title = meta.getTitle();
this.author = meta.getAuthor();
this.pages = new ArrayList<>(meta.getPages());
}

@Override
public class BookMetaMock extends ItemMetaMock implements BookMeta
{
private String title;
private List<String> pages = new ArrayList<>();
private String author;

public BookMetaMock()
{
super();
}

public BookMetaMock(BookMeta meta)
{
super(meta);

this.title = meta.getTitle();
this.author = meta.getAuthor();
this.pages = new ArrayList<>(meta.getPages());
}

@Override
public int hashCode()
{
final int prime = 31;
Expand All @@ -58,122 +61,151 @@ public boolean equals(Object obj)
}

@Override
public boolean hasTitle() {
return !Strings.isNullOrEmpty(this.title);
}

@Override
public boolean hasPages() {
return !this.pages.isEmpty();
}

@Override
public String getTitle() {
return this.title;
}

@Override
public boolean setTitle(String title) {
if (title == null) {
this.title = null;
return true;
} else if (title.length() > 65535) {
return false;
} else {
this.title = title;
return true;
}
}

@Override
public boolean hasAuthor() {
return !Strings.isNullOrEmpty(this.author);
}

@Override
public String getAuthor() {
return author;
}

@Override
public void setAuthor(String author) {
this.author = author;
}

@Override
public String getPage(int page) {
Validate.isTrue(this.isValidPage(page), "Invalid page number");
return this.pages.get(page - 1);
}

private boolean isValidPage(int page) {
return page > 0 && page <= this.pages.size();
}

@Override
public void setPage(int page, String text) {
if (!this.isValidPage(page)) {
throw new IllegalArgumentException("Invalid page number " + page + "/" + this.pages.size());
} else {
String newText;
if (text != null)
newText = text.length() > 32767 ? text.substring(0, 32767) : text;
else
newText = "";
this.pages.set(page - 1, newText);
}
}

@Override
public List<String> getPages() {
return pages;
}

@Override
public void setPages(String... pages) {
this.pages.clear();
this.addPage(pages);
}

@Override
public void setPages(List<String> pages) {
this.pages.clear();
Iterator<String> var2 = pages.iterator();

while (var2.hasNext()) {
String page = var2.next();
this.addPage(page);
}

}

@Override
public void addPage(String... pages) {

for (String page1 : pages) {
String page = page1;
if (page == null) {
page = "";
} else if (page.length() > 32767) {
page = page.substring(0, 32767);
}

this.pages.add(page);
}

}

@Override
public int getPageCount() {
return this.pages.size();
}

@Override
public BookMetaMock clone() {
BookMetaMock mock = (BookMetaMock) super.clone();
mock.pages = new ArrayList<>(pages);
return mock;
}
public boolean hasTitle()
{
return !Strings.isNullOrEmpty(this.title);
}

@Override
public boolean hasPages()
{
return !this.pages.isEmpty();
}

@Override
public String getTitle()
{
return this.title;
}

@Override
public boolean setTitle(String title)
{
if (title == null)
{
this.title = null;
return true;
}
else if (title.length() > 65535)
{
return false;
}
else
{
this.title = title;
return true;
}
}

@Override
public boolean hasAuthor()
{
return !Strings.isNullOrEmpty(this.author);
}

@Override
public String getAuthor()
{
return author;
}

@Override
public void setAuthor(String author)
{
this.author = author;
}

@Override
public String getPage(int page)
{
Validate.isTrue(this.isValidPage(page), "Invalid page number");
return this.pages.get(page - 1);
}

private boolean isValidPage(int page)
{
return page > 0 && page <= this.pages.size();
}

@Override
public void setPage(int page, String text)
{
if (!this.isValidPage(page))
{
throw new IllegalArgumentException("Invalid page number " + page + "/" + this.pages.size());
}
else
{
String newText;
if (text != null)
newText = text.length() > 32767 ? text.substring(0, 32767) : text;
else
newText = "";
this.pages.set(page - 1, newText);
}
}

@Override
public List<String> getPages()
{
return pages;
}

@Override
public void setPages(String... pages)
{
this.pages.clear();
this.addPage(pages);
}

@Override
public void setPages(List<String> pages)
{
this.pages.clear();
Iterator<String> var2 = pages.iterator();

while (var2.hasNext())
{
String page = var2.next();
this.addPage(page);
}

}

@Override
public void addPage(String... pages)
{

for (String page1 : pages)
{
String page = page1;
if (page == null)
{
page = "";
}
else if (page.length() > 32767)
{
page = page.substring(0, 32767);
}

this.pages.add(page);
}

}

@Override
public int getPageCount()
{
return this.pages.size();
}

@Override
public BookMetaMock clone()
{
BookMetaMock mock = (BookMetaMock) super.clone();
mock.pages = new ArrayList<>(pages);
return mock;
}

@Override
public boolean hasGeneration()
Expand Down

0 comments on commit 593aa2e

Please sign in to comment.