Skip to content

Commit 0fcd35e

Browse files
authored
Merge pull request #479 from Pieter12345/furnace_nbt_data_support
Add blockstate meta support for various containers
2 parents 474e45e + 23378b2 commit 0fcd35e

23 files changed

Lines changed: 655 additions & 21 deletions
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.laytonsmith.abstraction;
2+
3+
import com.laytonsmith.abstraction.blocks.MCBeacon;
4+
5+
public interface MCBeaconInventory extends MCInventory {
6+
MCItemStack getItem();
7+
void setItem(MCItemStack stack);
8+
@Override
9+
MCBeacon getHolder();
10+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.laytonsmith.abstraction;
2+
3+
import com.laytonsmith.abstraction.blocks.MCBrewingStand;
4+
5+
public interface MCBrewerInventory extends MCInventory {
6+
MCItemStack getFuel();
7+
MCItemStack getIngredient();
8+
MCItemStack getLeftBottle();
9+
MCItemStack getMiddleBottle();
10+
MCItemStack getRightBottle();
11+
void setFuel(MCItemStack stack);
12+
void setIngredient(MCItemStack stack);
13+
void setLeftBottle(MCItemStack stack);
14+
void setMiddleBottle(MCItemStack stack);
15+
void setRightBottle(MCItemStack stack);
16+
@Override
17+
MCBrewingStand getHolder();
18+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.laytonsmith.abstraction;
2+
3+
import com.laytonsmith.abstraction.blocks.MCFurnace;
4+
5+
public interface MCFurnaceInventory extends MCInventory {
6+
MCItemStack getResult();
7+
MCItemStack getFuel();
8+
MCItemStack getSmelting();
9+
void setFuel(MCItemStack stack);
10+
void setResult(MCItemStack stack);
11+
void setSmelting(MCItemStack stack);
12+
@Override
13+
MCFurnace getHolder();
14+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.laytonsmith.abstraction.blocks;
2+
3+
import java.util.Collection;
4+
5+
import com.laytonsmith.abstraction.MCBeaconInventory;
6+
import com.laytonsmith.abstraction.MCInventoryHolder;
7+
import com.laytonsmith.abstraction.MCLivingEntity;
8+
9+
public interface MCBeacon extends MCBlockState, MCInventoryHolder {
10+
Collection<MCLivingEntity> getEntitiesInRange();
11+
@Override
12+
MCBeaconInventory getInventory();
13+
// MCPotionEffect getPrimaryEffect();
14+
// MCPotionEffect getSecondaryEffect();
15+
int getTier();
16+
// void setPrimaryEffect(MCPotionEffect effect);
17+
// void setSecondaryEffect(MCPotionEffect effect);
18+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.laytonsmith.abstraction.blocks;
2+
3+
import com.laytonsmith.abstraction.MCBrewerInventory;
4+
import com.laytonsmith.abstraction.MCInventoryHolder;
5+
6+
public interface MCBrewingStand extends MCBlockState, MCInventoryHolder {
7+
int getBrewingTime();
8+
int getFuelLevel();
9+
@Override
10+
MCBrewerInventory getInventory();
11+
void setBrewingTime(int brewTime);
12+
void setFuelLevel(int level);
13+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.laytonsmith.abstraction.blocks;
2+
3+
import com.laytonsmith.abstraction.MCInventoryHolder;
4+
5+
public interface MCChest extends MCBlockState, MCInventoryHolder {
6+
}
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.laytonsmith.abstraction.blocks;
22

3-
public interface MCDispenser extends MCBlockState {
3+
import com.laytonsmith.abstraction.MCInventoryHolder;
44

5+
public interface MCDispenser extends MCBlockState, MCInventoryHolder {
6+
boolean dispense();
57
MCBlockProjectileSource getBlockProjectileSource();
68
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.laytonsmith.abstraction.blocks;
2+
3+
import com.laytonsmith.abstraction.MCInventoryHolder;
4+
5+
public interface MCDropper extends MCBlockState, MCInventoryHolder {
6+
void drop();
7+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.laytonsmith.abstraction.blocks;
2+
3+
import com.laytonsmith.abstraction.MCFurnaceInventory;
4+
import com.laytonsmith.abstraction.MCInventoryHolder;
5+
6+
public interface MCFurnace extends MCBlockState, MCInventoryHolder {
7+
short getBurnTime();
8+
void setBurnTime(short burnTime);
9+
short getCookTime();
10+
void setCookTime(short cookTime);
11+
@Override
12+
MCFurnaceInventory getInventory();
13+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.laytonsmith.abstraction.blocks;
2+
3+
import com.laytonsmith.abstraction.MCInventoryHolder;
4+
5+
public interface MCHopper extends MCBlockState, MCInventoryHolder {
6+
}

0 commit comments

Comments
 (0)