diff --git a/.gitignore b/.gitignore
index 14a48fd..6b1aea8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@ local.properties
.loadpath
/target
target/
+*.iml
# Eclipse Core
.project
@@ -43,4 +44,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..54ace50 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.0
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
+ io.papermc.paper
paper
- 1.16.4-R0.1-SNAPSHOT
+ 1.17.1-R0.1-SNAPSHOT
provided
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..46b3c70 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;
@@ -54,6 +66,7 @@
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 +93,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 +132,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 +185,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 +224,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 +450,11 @@ public boolean isSleeping() {
return false;
}
+ @Override
+ public boolean isClimbing() {
+ return false;
+ }
+
@Override
public int getSleepTicks() {
return 0;
@@ -598,6 +612,11 @@ public boolean hasLineOfSight(Entity other) {
return false;
}
+ @Override
+ public boolean hasLineOfSight(@Nonnull Location location) {
+ return false;
+ }
+
@Override
public boolean getRemoveWhenFarAway() {
@@ -683,6 +702,11 @@ public AttributeInstance getAttribute(Attribute attribute) {
return null;
}
+ @Override
+ public void registerAttribute(@Nonnull Attribute attribute) {
+
+ }
+
@Override
public Location getLocation() {
return location;
@@ -762,6 +786,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 +936,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 +1233,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 +1258,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 +1315,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,6 +1410,11 @@ 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) {
@@ -1310,10 +1426,26 @@ public boolean sendChunkChange(Location loc, int sx, int sy, int sz, byte[] data
return false;
}
- /*@Override
- public void sendBlockChange(Location loc, int material, byte data) {
+ @Override
+ public void sendSignChange(@Nonnull Location location,
+ @Nullable List list) throws IllegalArgumentException {
+
+ }
+
+ @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 +1676,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() {
@@ -1824,6 +1986,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;
@@ -1834,6 +2006,11 @@ public void setCooldown(Material arg0, int arg1) {
}
+ @Override
+ public boolean isDeeplySleeping() {
+ return false;
+ }
+
@Override
public void setShoulderEntityLeft(Entity arg0) {
@@ -1959,6 +2136,11 @@ public void sendBlockChange(Location arg0, BlockData arg1) {
}
+ @Override
+ public void sendBlockDamage(@Nonnull Location location, float f) {
+
+ }
+
@Override
public boolean isRiptiding() {
return false;
@@ -2125,12 +2307,30 @@ public void sendSignChange(Location loc, String[] lines, DyeColor dyeColor) thro
}
+ @Override
+ public void sendSignChange(@Nonnull Location location,
+ @Nullable String[] strings,
+ @Nonnull DyeColor dyeColor, boolean bl)
+ throws IllegalArgumentException {
+
+ }
+
@Override
public int getClientViewDistance() {
// TODO Auto-generated method stub
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
@@ -2383,6 +2583,26 @@ public void setArrowsInBody(int arg0) {
}
+ @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
@@ -2545,6 +2765,16 @@ public Firework boostElytra(ItemStack arg0) {
return null;
}
+ @Override
+ public void sendOpLevel(byte b) {
+
+ }
+
+ @Override
+ public @Nonnull Set getTrackedPlayers() {
+ return null;
+ }
+
@Override
public boolean getAffectsSpawning() {
// TODO Auto-generated method stub
@@ -2677,6 +2907,19 @@ public void setResourcePack(String arg0, String arg1) {
}
+ @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
public void setSubtitle(BaseComponent[] arg0) {
// TODO Auto-generated method stub
@@ -2701,6 +2944,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: