public boolean pairWith(BlockEntityChest chest) { if (this.isPaired() || chest.isPaired()) { return false; } this.createPair(chest); chest.spawnToAll(); this.spawnToAll(); this.checkPairing(); return true; }
public boolean unpair() { if (!this.isPaired()) { return false; } BlockEntityChest chest = this.getPair(); this.namedTag.remove("pairx"); this.namedTag.remove("pairz"); this.spawnToAll(); if (chest != null) { chest.namedTag.remove("pairx"); chest.namedTag.remove("pairz"); chest.checkPairing(); chest.spawnToAll(); } this.checkPairing(); return true; }
protected void checkPairing() { BlockEntityChest pair = this.getPair(); if (pair != null) { if (!pair.isPaired()) { pair.createPair(this); pair.checkPairing(); } if (this.doubleInventory == null) { if ((pair.x + ((int) pair.z << 15)) > (this.x + ((int) this.z << 15))) { // Order them correctly this.doubleInventory = new DoubleChestInventory(pair, this); } else { this.doubleInventory = new DoubleChestInventory(this, pair); } } } else { this.doubleInventory = null; this.namedTag.remove("pairx"); this.namedTag.remove("pairz"); } }