mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-14 01:39:36 -04:00
Added play and stop methods to jukebox driver. Closes #862.
This commit is contained in:
parent
78d6ea15d2
commit
2f9779cb76
@ -11,6 +11,7 @@ import li.cil.oc.integration.ManagedTileEntityEnvironment;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockJukebox;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemRecord;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
@ -56,5 +57,22 @@ public final class DriverRecordPlayer extends DriverTileEntity implements Enviro
|
||||
}
|
||||
return new Object[]{((ItemRecord) record.getItem()).getRecordNameLocal()};
|
||||
}
|
||||
|
||||
@Callback(doc = "function() -- Start playing the record currently in the jukebox.")
|
||||
public Object[] play(final Context context, final Arguments args) {
|
||||
final ItemStack record = tileEntity.func_145856_a();
|
||||
if (record == null || !(record.getItem() instanceof ItemRecord)) {
|
||||
return null;
|
||||
}
|
||||
tileEntity.getWorldObj().playAuxSFXAtEntity(null, 1005, tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord, Item.getIdFromItem(record.getItem()));
|
||||
return new Object[]{true};
|
||||
}
|
||||
|
||||
@Callback(doc = "function() -- Stop playing the record currently in the jukebox.")
|
||||
public Object[] stop(final Context context, final Arguments args) {
|
||||
tileEntity.getWorldObj().playAuxSFX(1005, tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord, 0);
|
||||
tileEntity.getWorldObj().playRecord(null, tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user