private void syncDataSlots() { RPStorageData data = getData(); if (data.hasDisc()) { ItemStack i = BurnedDisc.createDisc(data); if (!recordSlot.getItem().equals(i)) { recordSlot.setItem(i); } } else { recordSlot.setItem(new ItemStack(Material.AIR)); } if (!RPNeedle.getById(data.getNeedle()).equals(RPNeedle.NONE)) { if (!recordSlot.getItem().equals(RPNeedle.getById(data.getNeedle()).getItem())) { needleSlot.setItem(new SpoutItemStack(RPNeedle.getById(data.getNeedle()).getItem(), 1)); } } else { needleSlot.setItem(new ItemStack(Material.AIR)); } }
public void saveRecord(ItemStack record) { Debug.debug("Saving Record Data"); RPStorageData data = getData(); if (record == null || record.getType().equals(Material.AIR)) { data = RPStorageData.removeDisc(block); } else { data = RPStorageData.setDisc(block, record); } RecordPlayer.stopMusic(block.getLocation(), RPNeedle.getById(data.getNeedle()), false); RecordPlayer.updateBlockDesign(block, data); }
public void saveNeedle(ItemStack needle) { Debug.debug("Saving Needle Data"); RPStorageData data = getData(); if (needle == null || needle.getType().equals(Material.AIR)) { data.setNeedle(RPNeedle.NONE.id()); } else { Needle n = (Needle) (new SpoutItemStack(needle)).getMaterial(); data.setNeedle(n.getNeedleType().id()); } JukeIt.getInstance().getDatabase().save(data); RecordPlayer.stopMusic(block.getLocation(), RPNeedle.getById(data.getNeedle()), false); RecordPlayer.updateBlockDesign(block, data); }