minecraft_server-b1.7.3/src/net/minecraft/block/BlockNote.java
2026-01-30 02:26:17 +07:00

77 lines
2.5 KiB
Java

package net.minecraft.block;
import net.minecraft.block.material.Material;
import net.minecraft.block.tile.TileEntity;
import net.minecraft.block.tile.TileEntityNote;
import net.minecraft.entity.EntityPlayer;
import net.minecraft.world.World;
public class BlockNote extends BlockContainer {
public BlockNote(int var1) {
super(var1, 74, Material.wood);
}
public int getBlockTextureFromSide(int var1) {
return this.blockIndexInTexture;
}
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
if (var5 > 0 && Block.blocksList[var5].canProvidePower()) {
boolean var6 = var1.isBlockGettingPowered(var2, var3, var4);
TileEntityNote var7 = (TileEntityNote) var1.getBlockTileEntity(var2, var3, var4);
if (var7.previousRedstoneState != var6) {
if (var6) {
var7.triggerNote(var1, var2, var3, var4);
}
var7.previousRedstoneState = var6;
}
}
}
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
if (var1.singleplayerWorld) {
return true;
} else {
TileEntityNote var6 = (TileEntityNote) var1.getBlockTileEntity(var2, var3, var4);
var6.changePitch();
var6.triggerNote(var1, var2, var3, var4);
return true;
}
}
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
if (!var1.singleplayerWorld) {
TileEntityNote var6 = (TileEntityNote) var1.getBlockTileEntity(var2, var3, var4);
var6.triggerNote(var1, var2, var3, var4);
}
}
protected TileEntity getBlockEntity() {
return new TileEntityNote();
}
public void playBlock(World var1, int var2, int var3, int var4, int var5, int var6) {
float var7 = (float) Math.pow(2.0D, (double) (var6 - 12) / 12.0D);
String var8 = "harp";
if (var5 == 1) {
var8 = "bd";
}
if (var5 == 2) {
var8 = "snare";
}
if (var5 == 3) {
var8 = "hat";
}
if (var5 == 4) {
var8 = "bassattack";
}
var1.playSoundEffect((double) var2 + 0.5D, (double) var3 + 0.5D, (double) var4 + 0.5D, "note." + var8, 3.0F, var7);
var1.spawnParticle("note", (double) var2 + 0.5D, (double) var3 + 1.2D, (double) var4 + 0.5D, (double) var6 / 24.0D, 0.0D, 0.0D);
}
}