[Idea]: Folia support for OpenInv #196
@@ -24,7 +24,7 @@ import java.util.Optional;
|
|||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.network.chat.TextComponent;
|
import net.minecraft.network.chat.TranslatableComponent;
|
||||||
import net.minecraft.server.level.ServerLevel;
|
import net.minecraft.server.level.ServerLevel;
|
||||||
import net.minecraft.server.level.ServerPlayer;
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
import net.minecraft.server.level.ServerPlayerGameMode;
|
import net.minecraft.server.level.ServerPlayerGameMode;
|
||||||
@@ -147,7 +147,7 @@ public class AnySilentContainer implements IAnySilentContainer {
|
|||||||
MenuType<?> containers = PlayerDataManager.getContainers(enderChest.getContainerSize());
|
MenuType<?> containers = PlayerDataManager.getContainers(enderChest.getContainerSize());
|
||||||
int rows = enderChest.getContainerSize() / 9;
|
int rows = enderChest.getContainerSize() / 9;
|
||||||
return new ChestMenu(containers, containerCounter, playerInventory, enderChest, rows);
|
return new ChestMenu(containers, containerCounter, playerInventory, enderChest, rows);
|
||||||
}, new TextComponent("container.enderchest")));
|
}, new TranslatableComponent("container.enderchest")));
|
||||||
bukkitPlayer.incrementStatistic(Statistic.ENDERCHEST_OPENED);
|
bukkitPlayer.incrementStatistic(Statistic.ENDERCHEST_OPENED);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -161,8 +161,8 @@ public class AnySilentContainer implements IAnySilentContainer {
|
|||||||
|
|
||||||
if (block instanceof ChestBlock chestBlock) {
|
if (block instanceof ChestBlock chestBlock) {
|
||||||
|
|
||||||
// boolean flag: check if chest is blocked
|
// boolean flag: do not check if chest is blocked
|
||||||
Optional<MenuProvider> menuOptional = chestBlock.combine(blockState, level, blockPos, false).apply(
|
Optional<MenuProvider> menuOptional = chestBlock.combine(blockState, level, blockPos, true).apply(
|
||||||
// Combiner is a copy of private ChestBlock.MENU_PROVIDER_COMBINER
|
// Combiner is a copy of private ChestBlock.MENU_PROVIDER_COMBINER
|
||||||
new DoubleBlockCombiner.Combiner<ChestBlockEntity, Optional<MenuProvider>>() {
|
new DoubleBlockCombiner.Combiner<ChestBlockEntity, Optional<MenuProvider>>() {
|
||||||
@Override
|
@Override
|
||||||
|
@@ -32,7 +32,7 @@
|
|||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>17</maven.compiler.source>
|
<maven.compiler.source>17</maven.compiler.source>
|
||||||
<maven.compiler.target>17</maven.compiler.target>
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
<spigot.version>1.18-pre5-R0.1-SNAPSHOT</spigot.version>
|
<spigot.version>1.18-R0.1-SNAPSHOT</spigot.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
@@ -24,7 +24,7 @@ import java.util.Optional;
|
|||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.network.chat.TextComponent;
|
import net.minecraft.network.chat.TranslatableComponent;
|
||||||
import net.minecraft.server.level.ServerLevel;
|
import net.minecraft.server.level.ServerLevel;
|
||||||
import net.minecraft.server.level.ServerPlayer;
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
import net.minecraft.server.level.ServerPlayerGameMode;
|
import net.minecraft.server.level.ServerPlayerGameMode;
|
||||||
@@ -140,14 +140,14 @@ public class AnySilentContainer implements IAnySilentContainer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (blockEntity instanceof EnderChestBlockEntity enderChestTile) {
|
if (blockEntity instanceof EnderChestBlockEntity enderChestTile) {
|
||||||
// Anychest ender chest. See net.minecraft.world.level.block.BlockEnderChest
|
// Anychest ender chest. See net.minecraft.world.level.block.EnderChestBlock
|
||||||
PlayerEnderChestContainer enderChest = player.getEnderChestInventory();
|
PlayerEnderChestContainer enderChest = player.getEnderChestInventory();
|
||||||
enderChest.setActiveChest(enderChestTile);
|
enderChest.setActiveChest(enderChestTile);
|
||||||
player.openMenu(new SimpleMenuProvider((containerCounter, playerInventory, ignored) -> {
|
player.openMenu(new SimpleMenuProvider((containerCounter, playerInventory, ignored) -> {
|
||||||
MenuType<?> containers = PlayerDataManager.getContainers(enderChest.getContainerSize());
|
MenuType<?> containers = PlayerDataManager.getContainers(enderChest.getContainerSize());
|
||||||
int rows = enderChest.getContainerSize() / 9;
|
int rows = enderChest.getContainerSize() / 9;
|
||||||
return new ChestMenu(containers, containerCounter, playerInventory, enderChest, rows);
|
return new ChestMenu(containers, containerCounter, playerInventory, enderChest, rows);
|
||||||
}, new TextComponent("container.enderchest")));
|
}, new TranslatableComponent("container.enderchest")));
|
||||||
bukkitPlayer.incrementStatistic(Statistic.ENDERCHEST_OPENED);
|
bukkitPlayer.incrementStatistic(Statistic.ENDERCHEST_OPENED);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -161,8 +161,8 @@ public class AnySilentContainer implements IAnySilentContainer {
|
|||||||
|
|
||||||
if (block instanceof ChestBlock chestBlock) {
|
if (block instanceof ChestBlock chestBlock) {
|
||||||
|
|
||||||
// boolean flag: check if chest is blocked
|
// boolean flag: do not check if chest is blocked
|
||||||
Optional<MenuProvider> menuOptional = chestBlock.combine(blockState, level, blockPos, false).apply(
|
Optional<MenuProvider> menuOptional = chestBlock.combine(blockState, level, blockPos, true).apply(
|
||||||
// Combiner is a copy of private ChestBlock.MENU_PROVIDER_COMBINER
|
// Combiner is a copy of private ChestBlock.MENU_PROVIDER_COMBINER
|
||||||
new DoubleBlockCombiner.Combiner<ChestBlockEntity, Optional<MenuProvider>>() {
|
new DoubleBlockCombiner.Combiner<ChestBlockEntity, Optional<MenuProvider>>() {
|
||||||
@Override
|
@Override
|
||||||
|
Reference in New Issue
Block a user