Skip to content
This repository has been archived by the owner on Jul 9, 2023. It is now read-only.

Commit

Permalink
Address IntellectualSites/FastAsyncWorldEdit#1237 for the first edit …
Browse files Browse the repository at this point in the history
…after restart
  • Loading branch information
dordsor21 committed Aug 29, 2021
1 parent ff01bfd commit 9c5798e
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@ public final class FAWE_Spigot_v1_15_R2 extends CachedBukkitAdapter implements I
private final MapChunkUtil_1_15_2 mapUtil = new MapChunkUtil_1_15_2();
private char[] ibdToStateOrdinal = null;
private int[] ordinalToIbdID = null;
private boolean initialised = false;

public FAWE_Spigot_v1_15_R2() throws NoSuchFieldException, NoSuchMethodException {
this.parent = new Spigot_v1_15_R2();
Expand Down Expand Up @@ -152,6 +153,7 @@ private synchronized boolean init() {
ibdToStateOrdinal[id] = ordinal;
ordinalToIbdID[ordinal] = id;
}
initialised = true;
return true;
}

Expand Down Expand Up @@ -329,11 +331,11 @@ public BlockState adapt(IBlockData ibd) {

public char adaptToChar(IBlockData ibd) {
int id = Block.REGISTRY_ID.getId(ibd);
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal[id];
}
synchronized (this) {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal[id];
}
try {
Expand All @@ -349,11 +351,11 @@ public char adaptToChar(IBlockData ibd) {
}

public char ibdIDToOrdinal(int id) {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal[id];
}
synchronized (this) {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal[id];
}
init();
Expand All @@ -363,11 +365,11 @@ public char ibdIDToOrdinal(int id) {

@Override
public char[] getIbdToStateOrdinal() {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal;
}
synchronized (this) {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal;
}
init();
Expand All @@ -376,11 +378,11 @@ public char[] getIbdToStateOrdinal() {
}

public int ordinalToIbdID(char ordinal) {
if (ordinalToIbdID != null) {
if (initialised) {
return ordinalToIbdID[ordinal];
}
synchronized (this) {
if (ordinalToIbdID != null) {
if (initialised) {
return ordinalToIbdID[ordinal];
}
init();
Expand All @@ -390,11 +392,11 @@ public int ordinalToIbdID(char ordinal) {

@Override
public int[] getOrdinalToIbdID() {
if (ordinalToIbdID != null) {
if (initialised) {
return ordinalToIbdID;
}
synchronized (this) {
if (ordinalToIbdID != null) {
if (initialised) {
return ordinalToIbdID;
}
init();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ public final class FAWE_Spigot_v1_16_R3 extends CachedBukkitAdapter implements I
private final MapChunkUtil_1_16_5 mapUtil = new MapChunkUtil_1_16_5();
private char[] ibdToStateOrdinal = null;
private int[] ordinalToIbdID = null;
private boolean initialised = false;

public FAWE_Spigot_v1_16_R3() throws NoSuchFieldException, NoSuchMethodException {
this.parent = new Spigot_v1_16_R3();
Expand Down Expand Up @@ -160,6 +161,7 @@ private synchronized boolean init() {
ibdToStateOrdinal[id] = ordinal;
ordinalToIbdID[ordinal] = id;
}
initialised = true;
return true;
}

Expand Down Expand Up @@ -337,11 +339,11 @@ public BlockState adapt(IBlockData ibd) {

public char adaptToChar(IBlockData ibd) {
int id = Block.REGISTRY_ID.getId(ibd);
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal[id];
}
synchronized (this) {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal[id];
}
try {
Expand All @@ -357,11 +359,11 @@ public char adaptToChar(IBlockData ibd) {
}

public char ibdIDToOrdinal(int id) {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal[id];
}
synchronized (this) {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal[id];
}
init();
Expand All @@ -371,11 +373,11 @@ public char ibdIDToOrdinal(int id) {

@Override
public char[] getIbdToStateOrdinal() {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal;
}
synchronized (this) {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal;
}
init();
Expand All @@ -384,11 +386,11 @@ public char[] getIbdToStateOrdinal() {
}

public int ordinalToIbdID(char ordinal) {
if (ordinalToIbdID != null) {
if (initialised) {
return ordinalToIbdID[ordinal];
}
synchronized (this) {
if (ordinalToIbdID != null) {
if (initialised) {
return ordinalToIbdID[ordinal];
}
init();
Expand All @@ -398,11 +400,11 @@ public int ordinalToIbdID(char ordinal) {

@Override
public int[] getOrdinalToIbdID() {
if (ordinalToIbdID != null) {
if (initialised) {
return ordinalToIbdID;
}
synchronized (this) {
if (ordinalToIbdID != null) {
if (initialised) {
return ordinalToIbdID;
}
init();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ public final class FAWE_Spigot_v1_17_R1 extends CachedBukkitAdapter implements I
private final MapChunkUtil_1_17 mapUtil = new MapChunkUtil_1_17();
private char[] ibdToStateOrdinal = null;
private int[] ordinalToIbdID = null;
private boolean initialised = false;

public FAWE_Spigot_v1_17_R1() throws NoSuchFieldException, NoSuchMethodException {
this.parent = new Spigot_v1_17_R1();
Expand Down Expand Up @@ -161,6 +162,7 @@ private synchronized boolean init() {
ibdToStateOrdinal[id] = ordinal;
ordinalToIbdID[ordinal] = id;
}
initialised = true;
return true;
}

Expand Down Expand Up @@ -338,11 +340,11 @@ public BlockState adapt(IBlockData ibd) {

public char adaptToChar(IBlockData ibd) {
int id = Block.p.getId(ibd);
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal[id];
}
synchronized (this) {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal[id];
}
try {
Expand All @@ -358,11 +360,11 @@ public char adaptToChar(IBlockData ibd) {
}

public char ibdIDToOrdinal(int id) {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal[id];
}
synchronized (this) {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal[id];
}
init();
Expand All @@ -372,11 +374,11 @@ public char ibdIDToOrdinal(int id) {

@Override
public char[] getIbdToStateOrdinal() {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal;
}
synchronized (this) {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal;
}
init();
Expand All @@ -385,11 +387,11 @@ public char[] getIbdToStateOrdinal() {
}

public int ordinalToIbdID(char ordinal) {
if (ordinalToIbdID != null) {
if (initialised) {
return ordinalToIbdID[ordinal];
}
synchronized (this) {
if (ordinalToIbdID != null) {
if (initialised) {
return ordinalToIbdID[ordinal];
}
init();
Expand All @@ -399,11 +401,11 @@ public int ordinalToIbdID(char ordinal) {

@Override
public int[] getOrdinalToIbdID() {
if (ordinalToIbdID != null) {
if (initialised) {
return ordinalToIbdID;
}
synchronized (this) {
if (ordinalToIbdID != null) {
if (initialised) {
return ordinalToIbdID;
}
init();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ public final class FAWE_Spigot_v1_17_R1_2 extends CachedBukkitAdapter implements
private final MapChunkUtil_1_17_1 mapUtil = new MapChunkUtil_1_17_1();
private char[] ibdToStateOrdinal = null;
private int[] ordinalToIbdID = null;
private boolean initialised = false;

public FAWE_Spigot_v1_17_R1_2() throws NoSuchFieldException, NoSuchMethodException {
this.parent = new Spigot_v1_17_R1_2();
Expand Down Expand Up @@ -161,6 +162,7 @@ private synchronized boolean init() {
ibdToStateOrdinal[id] = ordinal;
ordinalToIbdID[ordinal] = id;
}
initialised = true;
return true;
}

Expand Down Expand Up @@ -338,11 +340,11 @@ public BlockState adapt(IBlockData ibd) {

public char adaptToChar(IBlockData ibd) {
int id = Block.p.getId(ibd);
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal[id];
}
synchronized (this) {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal[id];
}
try {
Expand All @@ -358,11 +360,11 @@ public char adaptToChar(IBlockData ibd) {
}

public char ibdIDToOrdinal(int id) {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal[id];
}
synchronized (this) {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal[id];
}
init();
Expand All @@ -372,11 +374,11 @@ public char ibdIDToOrdinal(int id) {

@Override
public char[] getIbdToStateOrdinal() {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal;
}
synchronized (this) {
if (ibdToStateOrdinal != null) {
if (initialised) {
return ibdToStateOrdinal;
}
init();
Expand All @@ -385,11 +387,11 @@ public char[] getIbdToStateOrdinal() {
}

public int ordinalToIbdID(char ordinal) {
if (ordinalToIbdID != null) {
if (initialised) {
return ordinalToIbdID[ordinal];
}
synchronized (this) {
if (ordinalToIbdID != null) {
if (initialised) {
return ordinalToIbdID[ordinal];
}
init();
Expand All @@ -399,11 +401,11 @@ public int ordinalToIbdID(char ordinal) {

@Override
public int[] getOrdinalToIbdID() {
if (ordinalToIbdID != null) {
if (initialised) {
return ordinalToIbdID;
}
synchronized (this) {
if (ordinalToIbdID != null) {
if (initialised) {
return ordinalToIbdID;
}
init();
Expand Down

0 comments on commit 9c5798e

Please sign in to comment.