Skip to content

Commit f40d5f1

Browse files
committed
support double chests for nearby item frames check
1 parent 792b120 commit f40d5f1

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

src/main/java/com/kqp/inventorytabs/tabs/tab/ChestTab.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.kqp.inventorytabs.mixin.accessor.ScreenAccessor;
44
import com.kqp.inventorytabs.tabs.render.TabRenderInfo;
5+
import com.kqp.inventorytabs.util.ChestUtil;
56
import net.minecraft.block.ChestBlock;
67
import net.minecraft.client.MinecraftClient;
78
import net.minecraft.client.font.TextRenderer;
@@ -22,6 +23,8 @@
2223
import java.util.List;
2324
import java.util.stream.Stream;
2425

26+
import static com.kqp.inventorytabs.util.ChestUtil.getOtherChestBlockPos;
27+
2528
/**
2629
* Tab for chests
2730
*/
@@ -64,10 +67,14 @@ public void renderTabIcon(MatrixStack matrices, TabRenderInfo tabRenderInfo, Han
6467

6568
public ItemStack getItemFrame() {
6669
World world = MinecraftClient.getInstance().player.world;
67-
itemStack = new ItemStack(MinecraftClient.getInstance().player.world.getBlockState(blockPos).getBlock());
68-
List<ItemFrameEntity> list1 = world.getNonSpectatingEntities(ItemFrameEntity.class, new Box(blockPos.getX()-0.8, blockPos.getY(), blockPos.getZ(), blockPos.getX()+1.8, blockPos.getY()+0.8, blockPos.getZ()+0.8));
69-
List<ItemFrameEntity> list2 = world.getNonSpectatingEntities(ItemFrameEntity.class, new Box(blockPos.getX(), blockPos.getY(), blockPos.getZ()-0.8, blockPos.getX()+0.8, blockPos.getY()+0.8, blockPos.getZ()+1.8));
70-
List<ItemFrameEntity> list3 = world.getNonSpectatingEntities(ItemFrameEntity.class, new Box(blockPos.getX(), blockPos.getY()-0.8, blockPos.getZ(), blockPos.getX()+0.8, blockPos.getY()+1.8, blockPos.getZ()+0.8));
70+
itemStack = new ItemStack(world.getBlockState(blockPos).getBlock());
71+
BlockPos doubleChestPos = ChestUtil.isDouble(world, blockPos) ? getOtherChestBlockPos(world, blockPos) : blockPos;
72+
Box box = new Box(blockPos, doubleChestPos);
73+
double x = box.minX; double y = box.minY; double z = box.minZ;
74+
double x1 = box.maxX; double y1 = box.maxY; double z1 = box.maxZ;
75+
List<ItemFrameEntity> list1 = world.getNonSpectatingEntities(ItemFrameEntity.class, new Box(x-0.8, y, z, x1+1.8, y1+0.8, z1+0.8));
76+
List<ItemFrameEntity> list2 = world.getNonSpectatingEntities(ItemFrameEntity.class, new Box(x, y, z-0.8, x1+0.8, y1+0.8, z1+1.8));
77+
List<ItemFrameEntity> list3 = world.getNonSpectatingEntities(ItemFrameEntity.class, new Box(x, y-0.8, z, x1+0.8, y1+1.8, z1+0.8));
7178
List<ItemFrameEntity> list = new ArrayList<>();
7279
Stream.of(list1, list2, list3).forEach(list::addAll);
7380
if (!list.isEmpty()) {

0 commit comments

Comments
 (0)