SPIGOT-7043: EnderChest does not implement Lidded
By: md_5 <git@md-5.net>
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
package org.bukkit.craftbukkit.block;
|
||||
|
||||
import net.minecraft.sounds.SoundEffects;
|
||||
import net.minecraft.world.ITileInventory;
|
||||
import net.minecraft.world.level.block.BlockChest;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
@@ -58,8 +57,10 @@ public class CraftChest extends CraftLootable<TileEntityChest> implements Chest
|
||||
requirePlaced();
|
||||
if (!getTileEntity().openersCounter.opened && getWorldHandle() instanceof net.minecraft.world.level.World) {
|
||||
IBlockData block = getTileEntity().getBlockState();
|
||||
getTileEntity().getLevel().blockEvent(getPosition(), block.getBlock(), 1, getTileEntity().openersCounter.getOpenerCount() + 1);
|
||||
TileEntityChest.playSound(getTileEntity().getLevel(), getPosition(), block, SoundEffects.CHEST_OPEN);
|
||||
int openCount = getTileEntity().openersCounter.getOpenerCount();
|
||||
|
||||
getTileEntity().openersCounter.onAPIOpen((net.minecraft.world.level.World) getWorldHandle(), getPosition(), block);
|
||||
getTileEntity().openersCounter.openerAPICountChanged((net.minecraft.world.level.World) getWorldHandle(), getPosition(), block, openCount, openCount + 1);
|
||||
}
|
||||
getTileEntity().openersCounter.opened = true;
|
||||
}
|
||||
@@ -69,8 +70,10 @@ public class CraftChest extends CraftLootable<TileEntityChest> implements Chest
|
||||
requirePlaced();
|
||||
if (getTileEntity().openersCounter.opened && getWorldHandle() instanceof net.minecraft.world.level.World) {
|
||||
IBlockData block = getTileEntity().getBlockState();
|
||||
getTileEntity().getLevel().blockEvent(getPosition(), block.getBlock(), 1, 0);
|
||||
TileEntityChest.playSound(getTileEntity().getLevel(), getPosition(), block, SoundEffects.CHEST_CLOSE);
|
||||
int openCount = getTileEntity().openersCounter.getOpenerCount();
|
||||
|
||||
getTileEntity().openersCounter.onAPIClose((net.minecraft.world.level.World) getWorldHandle(), getPosition(), block);
|
||||
getTileEntity().openersCounter.openerAPICountChanged((net.minecraft.world.level.World) getWorldHandle(), getPosition(), block, openCount, 0);
|
||||
}
|
||||
getTileEntity().openersCounter.opened = false;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.bukkit.craftbukkit.block;
|
||||
|
||||
import net.minecraft.world.level.block.entity.TileEntityEnderChest;
|
||||
import net.minecraft.world.level.block.state.IBlockData;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.EnderChest;
|
||||
|
||||
@@ -9,4 +10,30 @@ public class CraftEnderChest extends CraftBlockEntityState<TileEntityEnderChest>
|
||||
public CraftEnderChest(World world, TileEntityEnderChest tileEntity) {
|
||||
super(world, tileEntity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void open() {
|
||||
requirePlaced();
|
||||
if (!getTileEntity().openersCounter.opened && getWorldHandle() instanceof net.minecraft.world.level.World) {
|
||||
IBlockData block = getTileEntity().getBlockState();
|
||||
int openCount = getTileEntity().openersCounter.getOpenerCount();
|
||||
|
||||
getTileEntity().openersCounter.onAPIOpen((net.minecraft.world.level.World) getWorldHandle(), getPosition(), block);
|
||||
getTileEntity().openersCounter.openerAPICountChanged((net.minecraft.world.level.World) getWorldHandle(), getPosition(), block, openCount, openCount + 1);
|
||||
}
|
||||
getTileEntity().openersCounter.opened = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
requirePlaced();
|
||||
if (getTileEntity().openersCounter.opened && getWorldHandle() instanceof net.minecraft.world.level.World) {
|
||||
IBlockData block = getTileEntity().getBlockState();
|
||||
int openCount = getTileEntity().openersCounter.getOpenerCount();
|
||||
|
||||
getTileEntity().openersCounter.onAPIClose((net.minecraft.world.level.World) getWorldHandle(), getPosition(), block);
|
||||
getTileEntity().openersCounter.openerAPICountChanged((net.minecraft.world.level.World) getWorldHandle(), getPosition(), block, openCount, 0);
|
||||
}
|
||||
getTileEntity().openersCounter.opened = false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user