mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-02 04:56:50 +01:00
Stage BiomeDecorator so we can get line numbers to match for stack traces.
This commit is contained in:
parent
ee8495a246
commit
a1c8965df5
1 changed files with 287 additions and 2 deletions
|
@ -1,9 +1,294 @@
|
|||
From de08f8f69e8b657102b9a99a0a1cbdcff2174da8 Mon Sep 17 00:00:00 2001
|
||||
From 3151c58c5dcbd427ced326aff814638419a2cb7b Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sun, 1 Dec 2013 15:10:48 +1100
|
||||
Subject: [PATCH] mc-dev imports
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BiomeDecorator.java b/src/main/java/net/minecraft/server/BiomeDecorator.java
|
||||
new file mode 100644
|
||||
index 0000000..b048d6c
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/minecraft/server/BiomeDecorator.java
|
||||
@@ -0,0 +1,279 @@
|
||||
+package net.minecraft.server;
|
||||
+
|
||||
+import java.util.Random;
|
||||
+
|
||||
+public class BiomeDecorator {
|
||||
+
|
||||
+ protected World a;
|
||||
+ protected Random b;
|
||||
+ protected int c;
|
||||
+ protected int d;
|
||||
+ protected WorldGenerator e = new WorldGenClay(4);
|
||||
+ protected WorldGenerator f;
|
||||
+ protected WorldGenerator g;
|
||||
+ protected WorldGenerator h;
|
||||
+ protected WorldGenerator i;
|
||||
+ protected WorldGenerator j;
|
||||
+ protected WorldGenerator k;
|
||||
+ protected WorldGenerator l;
|
||||
+ protected WorldGenerator m;
|
||||
+ protected WorldGenerator n;
|
||||
+ protected WorldGenerator o;
|
||||
+ protected WorldGenFlowers p;
|
||||
+ protected WorldGenerator q;
|
||||
+ protected WorldGenerator r;
|
||||
+ protected WorldGenerator s;
|
||||
+ protected WorldGenerator t;
|
||||
+ protected WorldGenerator u;
|
||||
+ protected WorldGenerator v;
|
||||
+ protected int w;
|
||||
+ protected int x;
|
||||
+ protected int y;
|
||||
+ protected int z;
|
||||
+ protected int A;
|
||||
+ protected int B;
|
||||
+ protected int C;
|
||||
+ protected int D;
|
||||
+ protected int E;
|
||||
+ protected int F;
|
||||
+ protected int G;
|
||||
+ protected int H;
|
||||
+ public boolean I;
|
||||
+
|
||||
+ public BiomeDecorator() {
|
||||
+ this.f = new WorldGenSand(Blocks.SAND, 7);
|
||||
+ this.g = new WorldGenSand(Blocks.GRAVEL, 6);
|
||||
+ this.h = new WorldGenMinable(Blocks.DIRT, 32);
|
||||
+ this.i = new WorldGenMinable(Blocks.GRAVEL, 32);
|
||||
+ this.j = new WorldGenMinable(Blocks.COAL_ORE, 16);
|
||||
+ this.k = new WorldGenMinable(Blocks.IRON_ORE, 8);
|
||||
+ this.l = new WorldGenMinable(Blocks.GOLD_ORE, 8);
|
||||
+ this.m = new WorldGenMinable(Blocks.REDSTONE_ORE, 7);
|
||||
+ this.n = new WorldGenMinable(Blocks.DIAMOND_ORE, 7);
|
||||
+ this.o = new WorldGenMinable(Blocks.LAPIS_ORE, 6);
|
||||
+ this.p = new WorldGenFlowers(Blocks.YELLOW_FLOWER);
|
||||
+ this.q = new WorldGenFlowers(Blocks.BROWN_MUSHROOM);
|
||||
+ this.r = new WorldGenFlowers(Blocks.RED_MUSHROOM);
|
||||
+ this.s = new WorldGenHugeMushroom();
|
||||
+ this.t = new WorldGenReed();
|
||||
+ this.u = new WorldGenCactus();
|
||||
+ this.v = new WorldGenWaterLily();
|
||||
+ this.y = 2;
|
||||
+ this.z = 1;
|
||||
+ this.E = 1;
|
||||
+ this.F = 3;
|
||||
+ this.G = 1;
|
||||
+ this.I = true;
|
||||
+ }
|
||||
+
|
||||
+ public void a(World world, Random random, BiomeBase biomebase, int i, int j) {
|
||||
+ if (this.a != null) {
|
||||
+ throw new RuntimeException("Already decorating!!");
|
||||
+ } else {
|
||||
+ this.a = world;
|
||||
+ this.b = random;
|
||||
+ this.c = i;
|
||||
+ this.d = j;
|
||||
+ this.a(biomebase);
|
||||
+ this.a = null;
|
||||
+ this.b = null;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ protected void a(BiomeBase biomebase) {
|
||||
+ this.a();
|
||||
+
|
||||
+ int i;
|
||||
+ int j;
|
||||
+ int k;
|
||||
+
|
||||
+ for (i = 0; i < this.F; ++i) {
|
||||
+ j = this.c + this.b.nextInt(16) + 8;
|
||||
+ k = this.d + this.b.nextInt(16) + 8;
|
||||
+ this.f.a(this.a, this.b, j, this.a.i(j, k), k);
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; i < this.G; ++i) {
|
||||
+ j = this.c + this.b.nextInt(16) + 8;
|
||||
+ k = this.d + this.b.nextInt(16) + 8;
|
||||
+ this.e.a(this.a, this.b, j, this.a.i(j, k), k);
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; i < this.E; ++i) {
|
||||
+ j = this.c + this.b.nextInt(16) + 8;
|
||||
+ k = this.d + this.b.nextInt(16) + 8;
|
||||
+ this.g.a(this.a, this.b, j, this.a.i(j, k), k);
|
||||
+ }
|
||||
+
|
||||
+ i = this.x;
|
||||
+ if (this.b.nextInt(10) == 0) {
|
||||
+ ++i;
|
||||
+ }
|
||||
+
|
||||
+ int l;
|
||||
+ int i1;
|
||||
+
|
||||
+ for (j = 0; j < i; ++j) {
|
||||
+ k = this.c + this.b.nextInt(16) + 8;
|
||||
+ l = this.d + this.b.nextInt(16) + 8;
|
||||
+ i1 = this.a.getHighestBlockYAt(k, l);
|
||||
+ WorldGenTreeAbstract worldgentreeabstract = biomebase.a(this.b);
|
||||
+
|
||||
+ worldgentreeabstract.a(1.0D, 1.0D, 1.0D);
|
||||
+ if (worldgentreeabstract.a(this.a, this.b, k, i1, l)) {
|
||||
+ worldgentreeabstract.b(this.a, this.b, k, i1, l);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ for (j = 0; j < this.H; ++j) {
|
||||
+ k = this.c + this.b.nextInt(16) + 8;
|
||||
+ l = this.d + this.b.nextInt(16) + 8;
|
||||
+ this.s.a(this.a, this.b, k, this.a.getHighestBlockYAt(k, l), l);
|
||||
+ }
|
||||
+
|
||||
+ for (j = 0; j < this.y; ++j) {
|
||||
+ k = this.c + this.b.nextInt(16) + 8;
|
||||
+ l = this.d + this.b.nextInt(16) + 8;
|
||||
+ i1 = this.b.nextInt(this.a.getHighestBlockYAt(k, l) + 32);
|
||||
+ String s = biomebase.a(this.b, k, i1, l);
|
||||
+ BlockFlowers blockflowers = BlockFlowers.e(s);
|
||||
+
|
||||
+ if (blockflowers.getMaterial() != Material.AIR) {
|
||||
+ this.p.a(blockflowers, BlockFlowers.f(s));
|
||||
+ this.p.a(this.a, this.b, k, i1, l);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ for (j = 0; j < this.z; ++j) {
|
||||
+ k = this.c + this.b.nextInt(16) + 8;
|
||||
+ l = this.d + this.b.nextInt(16) + 8;
|
||||
+ i1 = this.b.nextInt(this.a.getHighestBlockYAt(k, l) * 2);
|
||||
+ WorldGenerator worldgenerator = biomebase.b(this.b);
|
||||
+
|
||||
+ worldgenerator.a(this.a, this.b, k, i1, l);
|
||||
+ }
|
||||
+
|
||||
+ for (j = 0; j < this.A; ++j) {
|
||||
+ k = this.c + this.b.nextInt(16) + 8;
|
||||
+ l = this.d + this.b.nextInt(16) + 8;
|
||||
+ i1 = this.b.nextInt(this.a.getHighestBlockYAt(k, l) * 2);
|
||||
+ (new WorldGenDeadBush(Blocks.DEAD_BUSH)).a(this.a, this.b, k, i1, l);
|
||||
+ }
|
||||
+
|
||||
+ for (j = 0; j < this.w; ++j) {
|
||||
+ k = this.c + this.b.nextInt(16) + 8;
|
||||
+ l = this.d + this.b.nextInt(16) + 8;
|
||||
+
|
||||
+ for (i1 = this.b.nextInt(this.a.getHighestBlockYAt(k, l) * 2); i1 > 0 && this.a.isEmpty(k, i1 - 1, l); --i1) {
|
||||
+ ;
|
||||
+ }
|
||||
+
|
||||
+ this.v.a(this.a, this.b, k, i1, l);
|
||||
+ }
|
||||
+
|
||||
+ for (j = 0; j < this.B; ++j) {
|
||||
+ if (this.b.nextInt(4) == 0) {
|
||||
+ k = this.c + this.b.nextInt(16) + 8;
|
||||
+ l = this.d + this.b.nextInt(16) + 8;
|
||||
+ i1 = this.a.getHighestBlockYAt(k, l);
|
||||
+ this.q.a(this.a, this.b, k, i1, l);
|
||||
+ }
|
||||
+
|
||||
+ if (this.b.nextInt(8) == 0) {
|
||||
+ k = this.c + this.b.nextInt(16) + 8;
|
||||
+ l = this.d + this.b.nextInt(16) + 8;
|
||||
+ i1 = this.b.nextInt(this.a.getHighestBlockYAt(k, l) * 2);
|
||||
+ this.r.a(this.a, this.b, k, i1, l);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (this.b.nextInt(4) == 0) {
|
||||
+ j = this.c + this.b.nextInt(16) + 8;
|
||||
+ k = this.d + this.b.nextInt(16) + 8;
|
||||
+ l = this.b.nextInt(this.a.getHighestBlockYAt(j, k) * 2);
|
||||
+ this.q.a(this.a, this.b, j, l, k);
|
||||
+ }
|
||||
+
|
||||
+ if (this.b.nextInt(8) == 0) {
|
||||
+ j = this.c + this.b.nextInt(16) + 8;
|
||||
+ k = this.d + this.b.nextInt(16) + 8;
|
||||
+ l = this.b.nextInt(this.a.getHighestBlockYAt(j, k) * 2);
|
||||
+ this.r.a(this.a, this.b, j, l, k);
|
||||
+ }
|
||||
+
|
||||
+ for (j = 0; j < this.C; ++j) {
|
||||
+ k = this.c + this.b.nextInt(16) + 8;
|
||||
+ l = this.d + this.b.nextInt(16) + 8;
|
||||
+ i1 = this.b.nextInt(this.a.getHighestBlockYAt(k, l) * 2);
|
||||
+ this.t.a(this.a, this.b, k, i1, l);
|
||||
+ }
|
||||
+
|
||||
+ for (j = 0; j < 10; ++j) {
|
||||
+ k = this.c + this.b.nextInt(16) + 8;
|
||||
+ l = this.d + this.b.nextInt(16) + 8;
|
||||
+ i1 = this.b.nextInt(this.a.getHighestBlockYAt(k, l) * 2);
|
||||
+ this.t.a(this.a, this.b, k, i1, l);
|
||||
+ }
|
||||
+
|
||||
+ if (this.b.nextInt(32) == 0) {
|
||||
+ j = this.c + this.b.nextInt(16) + 8;
|
||||
+ k = this.d + this.b.nextInt(16) + 8;
|
||||
+ l = this.b.nextInt(this.a.getHighestBlockYAt(j, k) * 2);
|
||||
+ (new WorldGenPumpkin()).a(this.a, this.b, j, l, k);
|
||||
+ }
|
||||
+
|
||||
+ for (j = 0; j < this.D; ++j) {
|
||||
+ k = this.c + this.b.nextInt(16) + 8;
|
||||
+ l = this.d + this.b.nextInt(16) + 8;
|
||||
+ i1 = this.b.nextInt(this.a.getHighestBlockYAt(k, l) * 2);
|
||||
+ this.u.a(this.a, this.b, k, i1, l);
|
||||
+ }
|
||||
+
|
||||
+ if (this.I) {
|
||||
+ for (j = 0; j < 50; ++j) {
|
||||
+ k = this.c + this.b.nextInt(16) + 8;
|
||||
+ l = this.b.nextInt(this.b.nextInt(248) + 8);
|
||||
+ i1 = this.d + this.b.nextInt(16) + 8;
|
||||
+ (new WorldGenLiquids(Blocks.WATER)).a(this.a, this.b, k, l, i1);
|
||||
+ }
|
||||
+
|
||||
+ for (j = 0; j < 20; ++j) {
|
||||
+ k = this.c + this.b.nextInt(16) + 8;
|
||||
+ l = this.b.nextInt(this.b.nextInt(this.b.nextInt(240) + 8) + 8);
|
||||
+ i1 = this.d + this.b.nextInt(16) + 8;
|
||||
+ (new WorldGenLiquids(Blocks.LAVA)).a(this.a, this.b, k, l, i1);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ protected void a(int i, WorldGenerator worldgenerator, int j, int k) {
|
||||
+ for (int l = 0; l < i; ++l) {
|
||||
+ int i1 = this.c + this.b.nextInt(16);
|
||||
+ int j1 = this.b.nextInt(k - j) + j;
|
||||
+ int k1 = this.d + this.b.nextInt(16);
|
||||
+
|
||||
+ worldgenerator.a(this.a, this.b, i1, j1, k1);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ protected void b(int i, WorldGenerator worldgenerator, int j, int k) {
|
||||
+ for (int l = 0; l < i; ++l) {
|
||||
+ int i1 = this.c + this.b.nextInt(16);
|
||||
+ int j1 = this.b.nextInt(k) + this.b.nextInt(k) + (j - k);
|
||||
+ int k1 = this.d + this.b.nextInt(16);
|
||||
+
|
||||
+ worldgenerator.a(this.a, this.b, i1, j1, k1);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ protected void a() {
|
||||
+ this.a(20, this.h, 0, 256);
|
||||
+ this.a(10, this.i, 0, 256);
|
||||
+ this.a(20, this.j, 0, 128);
|
||||
+ this.a(20, this.k, 0, 64);
|
||||
+ this.a(2, this.l, 0, 32);
|
||||
+ this.a(8, this.m, 0, 16);
|
||||
+ this.a(1, this.n, 0, 16);
|
||||
+ this.b(1, this.o, 16, 16);
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockBrewingStand.java b/src/main/java/net/minecraft/server/BlockBrewingStand.java
|
||||
new file mode 100644
|
||||
index 0000000..3287d77
|
||||
|
@ -1705,5 +1990,5 @@ index 0000000..c0db754
|
|||
+ }
|
||||
+}
|
||||
--
|
||||
1.8.4.msysgit.0
|
||||
1.8.3.2
|
||||
|
||||
|
|
Loading…
Reference in a new issue