Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,10 @@ public static boolean isBowl(Furniture f) {
public static boolean isMealHolder(Furniture f) {
return isBowl(f) || isPlate(f);
}

// Other plugins' furniture (pedestals, displays) keeps its own slot display.
public static boolean isCookingFurniture(Furniture f) {
return f.getType() != null
&& f.getType().getItemPath().toLowerCase().startsWith("ia.tfmc_cooking:");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ public void interact(FurnitureInteractEvent e) {
@EventHandler
public void addItem(FurnitureSlotItemAddEvent e) {
Furniture f = e.getFurniture();
if(FurnitureCache.isMealHolder(f));
if(!FurnitureCache.isCookingFurniture(f)) return;
ItemStack item = e.getItem();
FoodItem fi = FoodItem.fromItem(item);
if(fi == null) return;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package net.tfminecraft.cooking.cache;

import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

import org.junit.jupiter.api.Test;

import net.tfminecraft.interactiblefurniture.furniture.Furniture;
import net.tfminecraft.interactiblefurniture.furniture.FurnitureType;

class CookingFurnitureTest {

@Test
void cookingFurnitureIsRecognised() {
assertTrue(FurnitureCache.isCookingFurniture(furniture("ia.tfmc_cooking:plate")));
}

@Test
void magicPedestalIsNotCookingFurniture() {
assertFalse(FurnitureCache.isCookingFurniture(furniture("ia.tfmc:pedestal")));
}

@Test
void furnitureWithoutTypeIsNotCookingFurniture() {
assertFalse(FurnitureCache.isCookingFurniture(mock(Furniture.class)));
}

private static Furniture furniture(String itemPath) {
FurnitureType type = mock(FurnitureType.class);
when(type.getItemPath()).thenReturn(itemPath);
Furniture furniture = mock(Furniture.class);
when(furniture.getType()).thenReturn(type);
return furniture;
}
}