diff --git a/.gitignore b/.gitignore
index 14a48fd..215fac7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,8 @@ local.properties
.loadpath
/target
target/
+*.iml
+.idea/
# Eclipse Core
.project
@@ -43,4 +45,4 @@ target/
# STS (Spring Tool Suite)
.springBeans
-/target/
\ No newline at end of file
+/target/
diff --git a/pom.xml b/pom.xml
index d5e01ee..641b5a0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,12 +7,12 @@
com.github.civclassic
civclassic-parent
- 1.0.0
+ 1.0.1
com.github.devotedmc
hiddenore
- 1.7.2
+ 1.8.1
HiddenOre
@@ -20,13 +20,17 @@
civ-github-repo
https://raw.githubusercontent.com/CivClassic/artifacts/master/
+
+ papermc
+ https://papermc.io/repo/repository/maven-public/
+
- com.destroystokyo.paper
- paper
- 1.16.4-R0.1-SNAPSHOT
+ io.papermc.paper
+ paper-api
+ 1.18.1-R0.1-SNAPSHOT
provided
diff --git a/src/main/java/com/github/devotedmc/hiddenore/tracking/BreakTracking.java b/src/main/java/com/github/devotedmc/hiddenore/tracking/BreakTracking.java
index 5202e65..2ef653c 100644
--- a/src/main/java/com/github/devotedmc/hiddenore/tracking/BreakTracking.java
+++ b/src/main/java/com/github/devotedmc/hiddenore/tracking/BreakTracking.java
@@ -33,6 +33,9 @@
* @author soerxpso, programmerdan
*/
public class BreakTracking {
+ private static final int POS_LAYERS = 320;
+ private static final int NEG_LAYERS = 64;
+ private static final int TOTAL_LAYERS = POS_LAYERS + NEG_LAYERS;
private static final int GEN = 1;
private static final int MAP = 0;
Map> track;
@@ -80,7 +83,7 @@ public void load() {
while (dis.readBoolean()) {
Long chunk = dis.readLong();
- short[] layers = new short[256];
+ short[] layers = new short[TOTAL_LAYERS];
for (int i = 0; i < layers.length; i++) {
layers[i] = dis.readShort();
}
@@ -133,7 +136,7 @@ public void load() {
while (dis.readBoolean()) {
Long chunk = dis.readLong();
- long[][][] layers = new long[2][256][4];
+ long[][][] layers = new long[2][TOTAL_LAYERS][4];
for (int i = 0; i < layers[MAP].length; i++) {
for (int j = 0; j < 4; j++) {
layers[MAP][i][j] = dis.readLong(); // "map"
@@ -330,7 +333,7 @@ public boolean trackGen(Location loc) {
mapLayers = new long[2][256][4];
mapChunks.put(chunk_id, mapLayers);
- for (int y = 0; y < 256; y++) {
+ for (int y = -NEG_LAYERS; y < POS_LAYERS; y++) {
for (int x = 0; x < 16; x++) {
for (int z = 0; z < 16; z++) {
Block b = chunk.getBlock(x, y, z);
@@ -338,8 +341,8 @@ public boolean trackGen(Location loc) {
int bloc = (( x << 4) + z);
int quad = (block_id / 64);
long mask = (1l << (bloc % 64));
- mapLayers[MAP][y][quad] |= mask; // if unset, set. Ignore complements basis.
- mapLayers[GEN][y][quad] |= mask; // tracks for "breaks" and "gens".
+ mapLayers[MAP][y+NEG_LAYERS][quad] |= mask; // if unset, set. Ignore complements basis.
+ mapLayers[GEN][y+NEG_LAYERS][quad] |= mask; // tracks for "breaks" and "gens".
}
}
}
@@ -347,12 +350,12 @@ public boolean trackGen(Location loc) {
}
boolean ret = false;
- if ((mapLayers[GEN][Y][quad_id] & mask_id) == mask_id) {
+ if ((mapLayers[GEN][Y+NEG_LAYERS][quad_id] & mask_id) == mask_id) {
ret = false; // already broken!
} else {
ret = true; // new break according to this tracking.
- mapLayers[MAP][Y][quad_id] |= mask_id;
- mapLayers[GEN][Y][quad_id] |= mask_id;
+ mapLayers[MAP][Y+NEG_LAYERS][quad_id] |= mask_id;
+ mapLayers[GEN][Y+NEG_LAYERS][quad_id] |= mask_id;
}
s = System.currentTimeMillis() - s;
@@ -403,7 +406,7 @@ public boolean testGen(Location loc) {
return true;
}
- if ((mapLayers[GEN][Y][quad_id] & mask_id) == mask_id) {
+ if ((mapLayers[GEN][Y+NEG_LAYERS][quad_id] & mask_id) == mask_id) {
return false;
} else {
return true;
@@ -449,28 +452,28 @@ public void postTrackBreak(Location loc, boolean exp) {
return; // should be init'd or this is being improperly called.
}
- mapLayers[GEN][Y][quad_id] |= mask_id;
+ mapLayers[GEN][Y+NEG_LAYERS][quad_id] |= mask_id;
if (exp) {
- if (Y > 0) mapLayers[GEN][Y-1][quad_id] |= mask_id;
- if (Y < 255) mapLayers[GEN][Y+1][quad_id] |= mask_id;
+ if (Y > -NEG_LAYERS) mapLayers[GEN][Y-1][quad_id] |= mask_id;
+ if (Y < POS_LAYERS) mapLayers[GEN][Y+1][quad_id] |= mask_id;
if (X > 0) {
int nblock_id = (((X-1) << 4) + Z);
int nquad_id = (nblock_id / 64);
long nmask_id = (1l << (nblock_id % 64));
- mapLayers[GEN][Y][nquad_id] |= nmask_id;
+ mapLayers[GEN][Y+NEG_LAYERS][nquad_id] |= nmask_id;
} else postTrackBreak(loc.clone().add(-1, 0, 0), false);
if (X < 15) {
int nblock_id = (((X+1) << 4) + Z);
int nquad_id = (nblock_id / 64);
long nmask_id = (1l << (nblock_id % 64));
- mapLayers[GEN][Y][nquad_id] |= nmask_id;
+ mapLayers[GEN][Y+NEG_LAYERS][nquad_id] |= nmask_id;
} else postTrackBreak(loc.clone().add(1, 0, 0), false);
if (Z > 0) {
int nblock_id = (((X) << 4) + (Z-1));
int nquad_id = (nblock_id / 64);
long nmask_id = (1l << (nblock_id % 64));
- mapLayers[GEN][Y][nquad_id] |= nmask_id;
+ mapLayers[GEN][Y+NEG_LAYERS][nquad_id] |= nmask_id;
} else postTrackBreak(loc.clone().add(0, 0, -1), false);
if (Z < 15) {
int nblock_id = (((X) << 4) + (Z+1));
@@ -481,7 +484,7 @@ public void postTrackBreak(Location loc, boolean exp) {
}
if (Config.isDebug) {
HiddenOre.getPlugin().getLogger()
- .info("now world " + world + " chunk " + chunk_id + " gent " + mapLayers[GEN][Y][quad_id]);
+ .info("now world " + world + " chunk " + chunk_id + " gent " + mapLayers[GEN][Y+NEG_LAYERS][quad_id]);
}
s = System.currentTimeMillis() - s;
if (s > 10l) {
@@ -527,7 +530,7 @@ public boolean trackBreak(Location loc) {
short[] layers = chunks.get(chunk_id);
if (layers == null) { // init layers
initLayers = System.nanoTime();
- layers = new short[256];
+ layers = new short[TOTAL_LAYERS];
chunks.put(chunk_id, layers);
initLayers = System.nanoTime() - initLayers;
}
@@ -547,11 +550,11 @@ public boolean trackBreak(Location loc) {
long[][][] mapLayers = mapChunks.get(chunk_id);
if (mapLayers == null) { // init layers
initMapLayers = System.nanoTime();
- mapLayers = new long[2][256][4];
+ mapLayers = new long[2][TOTAL_LAYERS][4];
mapChunks.put(chunk_id, mapLayers);
ChunkSnapshot chunkS = chunk.getChunkSnapshot();
- for (int y = 0; y < 256; y++) {
+ for (int y = -NEG_LAYERS; y < POS_LAYERS; y++) {
for (int x = 0; x < 16; x++) {
for (int z = 0; z < 16; z++) {
//Block b = chunk.getBlock(x, y, z);
@@ -561,8 +564,8 @@ public boolean trackBreak(Location loc) {
int bloc = ((x << 4) + z);
int quad = (block_id / 64);
long mask = (1l << (bloc % 64));
- mapLayers[MAP][y][quad] |= mask; // if unset, set. Ignore complements basis.
- mapLayers[GEN][y][quad] |= mask; // tracks for "breaks" and "gens".
+ mapLayers[MAP][y+NEG_LAYERS][quad] |= mask; // if unset, set. Ignore complements basis.
+ mapLayers[GEN][y+NEG_LAYERS][quad] |= mask; // tracks for "breaks" and "gens".
}
}
}
@@ -570,35 +573,35 @@ public boolean trackBreak(Location loc) {
initMapLayers = System.nanoTime() - initMapLayers;
}
- if ((mapLayers[MAP][Y][quad_id] & mask_id) == mask_id) {
+ if ((mapLayers[MAP][Y+NEG_LAYERS][quad_id] & mask_id) == mask_id) {
ret = false; // already broken!
} else {
ret = true; // new break according to this tracking.
- mapLayers[MAP][Y][quad_id] |= mask_id;
- mapLayers[GEN][Y][quad_id] |= mask_id;
+ mapLayers[MAP][Y+NEG_LAYERS][quad_id] |= mask_id;
+ mapLayers[GEN][Y+NEG_LAYERS][quad_id] |= mask_id;
}
- spc = mapLayers[MAP][Y][quad_id];
+ spc = mapLayers[MAP][Y+NEG_LAYERS][quad_id];
}
- if (layers[Y] == 0) {
+ if (layers[Y+NEG_LAYERS] == 0) {
scanLayer = System.nanoTime();
// quick layer scan for air and water
for (int x = 0; x < 16; x++) {
for (int z = 0; z < 16; z++) {
Block b = chunk.getBlock(x, Y, z);
if (b.isEmpty() || b.isLiquid()) {
- layers[Y]++;
+ layers[Y+NEG_LAYERS]++;
}
}
}
scanLayer = System.nanoTime() - scanLayer;
}
- if (layers[Y] >= 256) { // done
+ if (layers[Y+NEG_LAYERS] >= TOTAL_LAYERS) { // done
ret = false;
} else if (ret) {
- layers[Y]++; // represent new break in layer.
+ layers[Y+NEG_LAYERS]++; // represent new break in layer.
ret = true;
}
if (ret) {
@@ -626,7 +629,7 @@ public boolean trackBreak(Location loc) {
if (Config.isDebug) {
HiddenOre.getPlugin().getLogger()
- .info("now world " + world + " chunk " + chunk_id + " layersum " + layers[Y] + " map" + quad_id + ":" + mask_id + "t " + spc);
+ .info("now world " + world + " chunk " + chunk_id + " layersum " + layers[Y+NEG_LAYERS] + " map" + quad_id + ":" + mask_id + "t " + spc);
}
s = System.currentTimeMillis() - s;
diff --git a/src/main/java/com/github/devotedmc/hiddenore/util/FakePlayer.java b/src/main/java/com/github/devotedmc/hiddenore/util/FakePlayer.java
index 8bb7748..da895a6 100644
--- a/src/main/java/com/github/devotedmc/hiddenore/util/FakePlayer.java
+++ b/src/main/java/com/github/devotedmc/hiddenore/util/FakePlayer.java
@@ -1,15 +1,27 @@
package com.github.devotedmc.hiddenore.util;
+import com.destroystokyo.paper.ClientOption;
+import com.destroystokyo.paper.Title;
+import com.destroystokyo.paper.block.TargetBlockInfo;
+import com.destroystokyo.paper.block.TargetBlockInfo.FluidMode;
+import com.destroystokyo.paper.entity.TargetEntityInfo;
+import com.destroystokyo.paper.profile.PlayerProfile;
import java.net.InetSocketAddress;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.ListIterator;
+import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
-
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import net.kyori.adventure.identity.Identity;
+import net.kyori.adventure.text.Component;
+import net.md_5.bungee.api.chat.BaseComponent;
import org.bukkit.Chunk;
import org.bukkit.DyeColor;
import org.bukkit.Effect;
@@ -39,21 +51,13 @@
import org.bukkit.block.data.BlockData;
import org.bukkit.conversations.Conversation;
import org.bukkit.conversations.ConversationAbandonedEvent;
-import org.bukkit.entity.Entity;
-import org.bukkit.entity.EntityCategory;
-import org.bukkit.entity.EntityType;
-import org.bukkit.entity.Firework;
-import org.bukkit.entity.HumanEntity;
-import org.bukkit.entity.Item;
-import org.bukkit.entity.Player;
-import org.bukkit.entity.Pose;
-import org.bukkit.entity.Projectile;
-import org.bukkit.entity.Villager;
+import org.bukkit.entity.*;
import org.bukkit.entity.memory.MemoryKey;
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.inventory.InventoryCloseEvent.Reason;
import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.event.player.PlayerKickEvent;
import org.bukkit.event.player.PlayerResourcePackStatusEvent.Status;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.inventory.EntityEquipment;
@@ -80,15 +84,6 @@
import org.bukkit.util.RayTraceResult;
import org.bukkit.util.Vector;
-import com.destroystokyo.paper.ClientOption;
-import com.destroystokyo.paper.Title;
-import com.destroystokyo.paper.block.TargetBlockInfo;
-import com.destroystokyo.paper.block.TargetBlockInfo.FluidMode;
-import com.destroystokyo.paper.entity.TargetEntityInfo;
-import com.destroystokyo.paper.profile.PlayerProfile;
-
-import net.md_5.bungee.api.chat.BaseComponent;
-
public class FakePlayer implements Player {
private final ItemStack inHand;
private final Location location;
@@ -128,12 +123,12 @@ public ItemStack getItem(int index) {
@Override
public HashMap addItem(ItemStack...items) throws IllegalArgumentException {
- return null;
+ return new HashMap<>();
}
@Override
public HashMap removeItem(ItemStack...items) throws IllegalArgumentException {
- return null;
+ return new HashMap<>();
}
@Override
@@ -181,12 +176,12 @@ public boolean containsAtLeast(ItemStack item, int amount) {
@Override
public HashMap all(Material material) throws IllegalArgumentException {
- return null;
+ return new HashMap<>();
}
@Override
public HashMap all(ItemStack item) {
- return null;
+ return new HashMap<>();
}
@Override
@@ -220,14 +215,19 @@ public void clear(int index) {
public void clear() {
}
+ @Override
+ public int close() {
+ return 0;
+ }
+
@Override
public List getViewers() {
- return null;
+ return new ArrayList<>();
}
@Override
public InventoryType getType() {
- return null;
+ return InventoryType.PLAYER;
}
@Override
@@ -441,6 +441,11 @@ public boolean isSleeping() {
return false;
}
+ @Override
+ public boolean isClimbing() {
+ return false;
+ }
+
@Override
public int getSleepTicks() {
return 0;
@@ -598,6 +603,11 @@ public boolean hasLineOfSight(Entity other) {
return false;
}
+ @Override
+ public boolean hasLineOfSight(@Nonnull Location location) {
+ return false;
+ }
+
@Override
public boolean getRemoveWhenFarAway() {
@@ -683,6 +693,11 @@ public AttributeInstance getAttribute(Attribute attribute) {
return null;
}
+ @Override
+ public void registerAttribute(@Nonnull Attribute attribute) {
+
+ }
+
@Override
public Location getLocation() {
return location;
@@ -762,6 +777,36 @@ public void setFireTicks(int ticks) {
}
+ @Override
+ public void setVisualFire(boolean bl) {
+
+ }
+
+ @Override
+ public boolean isVisualFire() {
+ return false;
+ }
+
+ @Override
+ public int getFreezeTicks() {
+ return 0;
+ }
+
+ @Override
+ public int getMaxFreezeTicks() {
+ return 0;
+ }
+
+ @Override
+ public void setFreezeTicks(int i) {
+
+ }
+
+ @Override
+ public boolean isFrozen() {
+ return false;
+ }
+
@Override
public void remove() {
@@ -882,6 +927,17 @@ public void setCustomName(String name) {
}
+ @Override
+ public @Nullable
+ Component customName() {
+ return null;
+ }
+
+ @Override
+ public void customName(@Nullable Component component) {
+
+ }
+
@Override
public String getCustomName() {
@@ -1168,6 +1224,21 @@ public Set getListeningPluginChannels() {
return null;
}
+ @Override
+ public @Nonnull Identity identity() {
+ return Player.super.identity();
+ }
+
+ @Override
+ public @Nonnull Component displayName() {
+ return Component.text("Spoof");
+ }
+
+ @Override
+ public void displayName(@Nullable Component component) {
+
+ }
+
@Override
public String getDisplayName() {
return "Spoof";
@@ -1178,6 +1249,26 @@ public void setDisplayName(String name) {
}
+ @Override
+ public void playerListName(@Nullable Component component) {
+
+ }
+
+ @Override
+ public @Nullable Component playerListName() {
+ return null;
+ }
+
+ @Override
+ public @Nullable Component playerListHeader() {
+ return null;
+ }
+
+ @Override
+ public @Nullable Component playerListFooter() {
+ return null;
+ }
+
@Override
public String getPlayerListName() {
return "Spoof";
@@ -1215,6 +1306,17 @@ public void kickPlayer(String message) {
}
+ @Override
+ public void kick(@Nullable Component component) {
+
+ }
+
+ @Override
+ public void kick(@Nullable Component component,
+ PlayerKickEvent.Cause cause) {
+
+ }
+
@Override
public void chat(String msg) {
@@ -1299,21 +1401,36 @@ public void playEffect(Location loc, Effect effect, T data) {
}
+ @Override
+ public boolean breakBlock(@Nonnull Block block) {
+ return false;
+ }
+
@Override
public void sendBlockChange(Location loc, Material material, byte data) {
}
@Override
- public boolean sendChunkChange(Location loc, int sx, int sy, int sz, byte[] data) {
+ public void sendSignChange(@Nonnull Location location,
+ @Nullable List list) throws IllegalArgumentException {
- return false;
}
- /*@Override
- public void sendBlockChange(Location loc, int material, byte data) {
+ @Override
+ public void sendSignChange(@Nonnull Location location,
+ @Nullable List list,
+ @Nonnull DyeColor dyeColor) throws IllegalArgumentException {
+
+ }
+
+ @Override
+ public void sendSignChange(@Nonnull Location location,
+ @Nullable List list,
+ @Nonnull DyeColor dyeColor, boolean bl)
+ throws IllegalArgumentException {
- }*/
+ }
@Override
public void sendSignChange(Location loc, String[] lines) throws IllegalArgumentException {
@@ -1544,6 +1661,36 @@ public void setFoodLevel(int value) {
}
+ @Override
+ public int getSaturatedRegenRate() {
+ return 0;
+ }
+
+ @Override
+ public void setSaturatedRegenRate(int i) {
+
+ }
+
+ @Override
+ public int getUnsaturatedRegenRate() {
+ return 0;
+ }
+
+ @Override
+ public void setUnsaturatedRegenRate(int i) {
+
+ }
+
+ @Override
+ public int getStarvationRate() {
+ return 0;
+ }
+
+ @Override
+ public void setStarvationRate(int i) {
+
+ }
+
@Override
public Location getBedSpawnLocation() {
@@ -1597,6 +1744,21 @@ public boolean canSee(Player player) {
return false;
}
+ @Override
+ public void hideEntity(Plugin plugin, Entity entity) {
+
+ }
+
+ @Override
+ public void showEntity(Plugin plugin, Entity entity) {
+
+ }
+
+ @Override
+ public boolean canSee(Entity entity) {
+ return false;
+ }
+
@Override
public boolean isOnGround() {
@@ -1679,6 +1841,16 @@ public double getHealthScale() {
return 0;
}
+ @Override
+ public void sendHealthUpdate(double v, int i, float v1) {
+
+ }
+
+ @Override
+ public void sendHealthUpdate() {
+
+ }
+
@Override
public Entity getSpectatorTarget() {
@@ -1773,6 +1945,16 @@ public Spigot spigot() {
return null;
}
+ @Override
+ public Component name() {
+ return null;
+ }
+
+ @Override
+ public Component teamDisplayName() {
+ return null;
+ }
+
@Override
public boolean isSilent() {
return false;
@@ -1824,6 +2006,16 @@ public boolean isHandRaised() {
return false;
}
+ @Override
+ public @Nonnull EquipmentSlot getHandRaised() {
+ return null;
+ }
+
+ @Override
+ public @Nullable ItemStack getItemInUse() {
+ return null;
+ }
+
@Override
public InventoryView openMerchant(Merchant arg0, boolean arg1) {
return null;
@@ -1831,17 +2023,22 @@ public InventoryView openMerchant(Merchant arg0, boolean arg1) {
@Override
public void setCooldown(Material arg0, int arg1) {
-
+
+ }
+
+ @Override
+ public boolean isDeeplySleeping() {
+ return false;
}
@Override
public void setShoulderEntityLeft(Entity arg0) {
-
+
}
@Override
public void setShoulderEntityRight(Entity arg0) {
-
+
}
@Override
@@ -1896,7 +2093,7 @@ public boolean removeScoreboardTag(String arg0) {
@Override
public void setPortalCooldown(int arg0) {
-
+
}
@Override
@@ -1911,32 +2108,37 @@ public String getLocale() {
@Override
public void playSound(Location arg0, Sound arg1, SoundCategory arg2, float arg3, float arg4) {
-
+
}
@Override
public void playSound(Location arg0, String arg1, SoundCategory arg2, float arg3, float arg4) {
-
+
}
@Override
public void sendTitle(String arg0, String arg1, int arg2, int arg3, int arg4) {
-
+
}
@Override
public void setResourcePack(String arg0, byte[] arg1) {
-
+
}
@Override
public void stopSound(Sound arg0, SoundCategory arg1) {
-
+
}
@Override
public void stopSound(String arg0, SoundCategory arg1) {
-
+
+ }
+
+ @Override
+ public void stopAllSounds() {
+
}
@Override
@@ -1951,12 +2153,22 @@ public boolean isSwimming() {
@Override
public void setSwimming(boolean arg0) {
-
+
}
@Override
public void sendBlockChange(Location arg0, BlockData arg1) {
-
+
+ }
+
+ @Override
+ public void sendBlockDamage(@Nonnull Location location, float f) {
+
+ }
+
+ @Override
+ public void sendEquipmentChange(LivingEntity livingEntity, EquipmentSlot equipmentSlot, ItemStack itemStack) {
+
}
@Override
@@ -2008,7 +2220,7 @@ public boolean sleep(Location location, boolean force) {
@Override
public void wakeup(boolean setSpawnLocation) {
// TODO Auto-generated method stub
-
+
}
@Override
@@ -2074,7 +2286,7 @@ public T getMemory(MemoryKey memoryKey) {
@Override
public void setMemory(MemoryKey memoryKey, T memoryValue) {
// TODO Auto-generated method stub
-
+
}
@Override
@@ -2086,7 +2298,7 @@ public double getAbsorptionAmount() {
@Override
public void setAbsorptionAmount(double arg0) {
// TODO Auto-generated method stub
-
+
}
@Override
@@ -2098,7 +2310,7 @@ public BoundingBox getBoundingBox() {
@Override
public void setRotation(float yaw, float pitch) {
// TODO Auto-generated method stub
-
+
}
@Override
@@ -2122,7 +2334,15 @@ public PersistentDataContainer getPersistentDataContainer() {
@Override
public void sendSignChange(Location loc, String[] lines, DyeColor dyeColor) throws IllegalArgumentException {
// TODO Auto-generated method stub
-
+
+ }
+
+ @Override
+ public void sendSignChange(@Nonnull Location location,
+ @Nullable String[] strings,
+ @Nonnull DyeColor dyeColor, boolean bl)
+ throws IllegalArgumentException {
+
}
@Override
@@ -2131,10 +2351,20 @@ public int getClientViewDistance() {
return 0;
}
+ @Override
+ public @Nonnull Locale locale() {
+ return Locale.ENGLISH;
+ }
+
+ @Override
+ public int getPing() {
+ return 0;
+ }
+
@Override
public void openBook(ItemStack book) {
// TODO Auto-generated method stub
-
+
}
@Override
@@ -2158,19 +2388,19 @@ public Set getDiscoveredRecipes() {
@Override
public void attack(Entity target) {
// TODO Auto-generated method stub
-
+
}
@Override
public void swingMainHand() {
// TODO Auto-generated method stub
-
+
}
@Override
public void swingOffHand() {
// TODO Auto-generated method stub
-
+
}
@Override
@@ -2182,19 +2412,19 @@ public Set getCollidableExemptions() {
@Override
public void sendExperienceChange(float progress) {
// TODO Auto-generated method stub
-
+
}
@Override
public void sendExperienceChange(float progress, int level) {
// TODO Auto-generated method stub
-
+
}
@Override
public void closeInventory(Reason arg0) {
// TODO Auto-generated method stub
-
+
}
@Override
@@ -2236,7 +2466,17 @@ public InventoryView openLoom(Location arg0, boolean arg1) {
@Override
public void openSign(Sign arg0) {
// TODO Auto-generated method stub
-
+
+ }
+
+ @Override
+ public void showDemoScreen() {
+
+ }
+
+ @Override
+ public boolean isAllowingServerListings() {
+ return false;
}
@Override
@@ -2266,7 +2506,7 @@ public Entity releaseRightShoulderEntity() {
@Override
public void clearActiveItem() {
// TODO Auto-generated method stub
-
+
}
@Override
@@ -2368,55 +2608,75 @@ public boolean isJumping() {
@Override
public void playPickupItemAnimation(Item arg0, int arg1) {
// TODO Auto-generated method stub
-
+
}
@Override
public void setArrowCooldown(int arg0) {
// TODO Auto-generated method stub
-
+
}
@Override
public void setArrowsInBody(int arg0) {
// TODO Auto-generated method stub
-
+
+ }
+
+ @Override
+ public int getBeeStingerCooldown() {
+ return 0;
+ }
+
+ @Override
+ public void setBeeStingerCooldown(int i) {
+
+ }
+
+ @Override
+ public int getBeeStingersInBody() {
+ return 0;
+ }
+
+ @Override
+ public void setBeeStingersInBody(int i) {
+
}
@Override
public void setArrowsStuck(int arg0) {
// TODO Auto-generated method stub
-
+
}
@Override
public void setHurtDirection(float arg0) {
// TODO Auto-generated method stub
-
+
}
@Override
public void setInvisible(boolean arg0) {
// TODO Auto-generated method stub
-
+
}
@Override
public void setJumping(boolean arg0) {
// TODO Auto-generated method stub
-
+
}
@Override
public void setKiller(Player arg0) {
// TODO Auto-generated method stub
-
+
}
@Override
public void setShieldBlockingDelay(int arg0) {
// TODO Auto-generated method stub
-
+
}
@Override
@@ -2494,19 +2754,19 @@ public boolean isTicking() {
@Override
public void sendMessage(UUID arg0, String arg1) {
// TODO Auto-generated method stub
-
+
}
@Override
public void sendMessage(UUID arg0, String[] arg1) {
// TODO Auto-generated method stub
-
+
}
@Override
public void sendRawMessage(UUID arg0, String arg1) {
// TODO Auto-generated method stub
-
+
}
@Override
@@ -2545,6 +2805,21 @@ public Firework boostElytra(ItemStack arg0) {
return null;
}
+ @Override
+ public void sendOpLevel(byte b) {
+
+ }
+
+ @Override
+ public @Nonnull Set getTrackedPlayers() {
+ return null;
+ }
+
+ @Override
+ public boolean spawnAt(Location location, SpawnReason spawnReason) {
+ return false;
+ }
+
@Override
public boolean getAffectsSpawning() {
// TODO Auto-generated method stub
@@ -2602,7 +2877,7 @@ public int getViewDistance() {
@Override
public void giveExp(int arg0, boolean arg1) {
// TODO Auto-generated method stub
-
+
}
@Override
@@ -2614,67 +2889,80 @@ public boolean hasResourcePack() {
@Override
public void hideTitle() {
// TODO Auto-generated method stub
-
+
}
@Override
public void resetCooldown() {
// TODO Auto-generated method stub
-
+
}
@Override
public void sendActionBar(String arg0) {
// TODO Auto-generated method stub
-
+
}
@Override
public void sendActionBar(BaseComponent... arg0) {
// TODO Auto-generated method stub
-
+
}
@Override
public void sendActionBar(char arg0, String arg1) {
// TODO Auto-generated method stub
-
+
}
@Override
public void sendTitle(Title arg0) {
// TODO Auto-generated method stub
-
+
}
@Override
public void setAffectsSpawning(boolean arg0) {
// TODO Auto-generated method stub
-
+
}
@Override
public void setPlayerListHeaderFooter(BaseComponent[] arg0, BaseComponent[] arg1) {
// TODO Auto-generated method stub
-
+
}
@Override
public void setPlayerListHeaderFooter(BaseComponent arg0, BaseComponent arg1) {
// TODO Auto-generated method stub
-
+
}
@Override
public void setPlayerProfile(PlayerProfile arg0) {
// TODO Auto-generated method stub
-
+
}
@Override
public void setResourcePack(String arg0, String arg1) {
// TODO Auto-generated method stub
-
+
+ }
+
+ @Override
+ public void setResourcePack(@Nonnull String string,
+ @Nonnull String string2, boolean bl) {
+
+ }
+
+ @Override
+ public void setResourcePack(@Nonnull String string,
+ @Nonnull String string2, boolean bl,
+ @Nullable Component component) {
+
}
@Override
@@ -2701,6 +2989,26 @@ public void setViewDistance(int arg0) {
}
+ @Override
+ public int getNoTickViewDistance() {
+ return 0;
+ }
+
+ @Override
+ public void setNoTickViewDistance(int i) {
+
+ }
+
+ @Override
+ public int getSendViewDistance() {
+ return 0;
+ }
+
+ @Override
+ public void setSendViewDistance(int i) {
+
+ }
+
@Override
public void showTitle(BaseComponent[] arg0) {
// TODO Auto-generated method stub
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index a7adcb5..50e9947 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -4,7 +4,7 @@ main: com.github.devotedmc.hiddenore.HiddenOre
author: Soerxpso
authors: [ProgrammerDan]
load: STARTUP
-api-version: 1.13
+api-version: 1.17
website: https://www.github.com/DevotedMC/HiddenOre
description: HiddenOre allows the complete disguising of ores from players by not generating them in the first place, instead using a probability model to generate configurable ore layouts in response to player mining.
commands: