Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-19 13:00:06 +01:00
Add BlockMobSpawner and BlockOre for diff visibility
Dieser Commit ist enthalten in:
Ursprung
a16e0b6323
Commit
8d946b88b3
33
src/main/java/net/minecraft/server/BlockMobSpawner.java
Normale Datei
33
src/main/java/net/minecraft/server/BlockMobSpawner.java
Normale Datei
@ -0,0 +1,33 @@
|
||||
package net.minecraft.server;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockMobSpawner extends BlockContainer {
|
||||
|
||||
protected BlockMobSpawner(int i, int j) {
|
||||
super(i, j, Material.STONE);
|
||||
}
|
||||
|
||||
public TileEntity a(World world) {
|
||||
return new TileEntityMobSpawner();
|
||||
}
|
||||
|
||||
public int getDropType(int i, Random random, int j) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int a(Random random) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public void dropNaturally(World world, int i, int j, int k, int l, float f, int i1) {
|
||||
super.dropNaturally(world, i, j, k, l, f, i1);
|
||||
int j1 = 15 + world.random.nextInt(15) + world.random.nextInt(15);
|
||||
|
||||
this.g(world, i, j, k, j1);
|
||||
}
|
||||
|
||||
public boolean d() {
|
||||
return false;
|
||||
}
|
||||
}
|
56
src/main/java/net/minecraft/server/BlockOre.java
Normale Datei
56
src/main/java/net/minecraft/server/BlockOre.java
Normale Datei
@ -0,0 +1,56 @@
|
||||
package net.minecraft.server;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockOre extends Block {
|
||||
|
||||
public BlockOre(int i, int j) {
|
||||
super(i, j, Material.STONE);
|
||||
this.a(CreativeModeTab.b);
|
||||
}
|
||||
|
||||
public int getDropType(int i, Random random, int j) {
|
||||
return this.id == Block.COAL_ORE.id ? Item.COAL.id : (this.id == Block.DIAMOND_ORE.id ? Item.DIAMOND.id : (this.id == Block.LAPIS_ORE.id ? Item.INK_SACK.id : (this.id == Block.EMERALD_ORE.id ? Item.EMERALD.id : this.id)));
|
||||
}
|
||||
|
||||
public int a(Random random) {
|
||||
return this.id == Block.LAPIS_ORE.id ? 4 + random.nextInt(5) : 1;
|
||||
}
|
||||
|
||||
public int getDropCount(int i, Random random) {
|
||||
if (i > 0 && this.id != this.getDropType(0, random, i)) {
|
||||
int j = random.nextInt(i + 2) - 1;
|
||||
|
||||
if (j < 0) {
|
||||
j = 0;
|
||||
}
|
||||
|
||||
return this.a(random) * (j + 1);
|
||||
} else {
|
||||
return this.a(random);
|
||||
}
|
||||
}
|
||||
|
||||
public void dropNaturally(World world, int i, int j, int k, int l, float f, int i1) {
|
||||
super.dropNaturally(world, i, j, k, l, f, i1);
|
||||
if (this.getDropType(l, world.random, i1) != this.id) {
|
||||
int j1 = 0;
|
||||
|
||||
if (this.id == Block.COAL_ORE.id) {
|
||||
j1 = MathHelper.a(world.random, 0, 2);
|
||||
} else if (this.id == Block.DIAMOND_ORE.id) {
|
||||
j1 = MathHelper.a(world.random, 3, 7);
|
||||
} else if (this.id == Block.EMERALD_ORE.id) {
|
||||
j1 = MathHelper.a(world.random, 3, 7);
|
||||
} else if (this.id == Block.LAPIS_ORE.id) {
|
||||
j1 = MathHelper.a(world.random, 2, 5);
|
||||
}
|
||||
|
||||
this.g(world, i, j, k, j1);
|
||||
}
|
||||
}
|
||||
|
||||
protected int getDropData(int i) {
|
||||
return this.id == Block.LAPIS_ORE.id ? 4 : 0;
|
||||
}
|
||||
}
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren