This commit is contained in:
Taah 2022-02-28 15:45:02 -08:00
parent 6a6413a371
commit 90f60f7c56
6 changed files with 23 additions and 20 deletions

View file

@ -24,8 +24,10 @@ repositories {
mavenCentral()
}
def paperVersion = "1.17.1"
dependencies {
paperweightDevelopmentBundle("io.papermc.paper:dev-bundle:1.18.1-R0.1-SNAPSHOT")
paperweightDevelopmentBundle("io.papermc.paper:dev-bundle:${paperVersion}-R0.1-SNAPSHOT")
library 'org.json:json:20211205'
library "org.projectlombok:lombok:1.18.22"
@ -63,7 +65,7 @@ tasks.withType(JavaCompile) {
}
reobfJar {
setArchivesBaseName("Blackout")
setArchivesBaseName("Blackout-${paperVersion}")
}
tasks {

View file

@ -7,7 +7,7 @@ import net.minecraft.nbt.ListTag;
import net.minecraft.network.protocol.game.ClientboundUpdateMobEffectPacket;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.item.ItemStack;
import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftItemStack;
import org.bukkit.craftbukkit.v1_17_R1.inventory.CraftItemStack;
import org.bukkit.entity.EntityType;
import org.bukkit.event.EventHandler;
import org.bukkit.event.entity.PotionSplashEvent;
@ -20,9 +20,9 @@ public class EndermanPotionPatch implements IPacketListener<ClientboundUpdateMob
public void onPotionThrow(PotionSplashEvent event)
{
if (event.getAffectedEntities().isEmpty()) return;
Blackout.debug("Hit entity");
// Blackout.debug("Hit entity");
if (event.getAffectedEntities().stream().noneMatch(affected -> affected.getType() == EntityType.ENDERMAN)) return;
Blackout.debug("Enderman");
// Blackout.debug("Enderman");
ItemStack item = CraftItemStack.asNMSCopy(event.getPotion().getItem());
if (!item.hasTag()) return;
@ -30,15 +30,15 @@ public class EndermanPotionPatch implements IPacketListener<ClientboundUpdateMob
AtomicInteger count = new AtomicInteger();
Blackout.debug(MobEffects.DAMAGE_BOOST.getDescriptionId());
// Blackout.debug(MobEffects.DAMAGE_BOOST.getDescriptionId());
if (!item.getTag().contains("CustomPotionEffects")) return;
ListTag tag = (ListTag) item.getTag().get("CustomPotionEffects");
tag.forEach(effect -> {
CompoundTag compoundTag = (CompoundTag) effect;
Blackout.debug(compoundTag.getAsString());
// Blackout.debug(compoundTag.getAsString());
if (compoundTag.getByte("Id") == 7)
{
Blackout.debug("Hi");
// Blackout.debug("Hi");
count.incrementAndGet();
}
});

View file

@ -8,12 +8,13 @@ import net.minecraft.world.item.ItemStack;
import org.apache.commons.lang3.EnumUtils;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftItemStack;
import org.bukkit.craftbukkit.v1_17_R1.inventory.CraftItemStack;
import org.bukkit.event.EventHandler;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.jetbrains.annotations.Nullable;
import java.util.Locale;
import java.util.concurrent.atomic.AtomicBoolean;
public class KnowledgeBookPatch implements IPacketListener<ServerboundUseItemOnPacket>
@ -47,7 +48,7 @@ public class KnowledgeBookPatch implements IPacketListener<ServerboundUseItemOnP
remove.set(true);
return;
}
if (!EnumUtils.isValidEnumIgnoreCase(Material.class, recipe.getAsString().split(":")[1]))
if (!EnumUtils.isValidEnum(Material.class, recipe.getAsString().split(":")[1].toUpperCase(Locale.ROOT)))
{
remove.set(true);
}
@ -89,7 +90,7 @@ public class KnowledgeBookPatch implements IPacketListener<ServerboundUseItemOnP
remove.set(true);
return;
}
if (!EnumUtils.isValidEnumIgnoreCase(Material.class, recipe.getAsString().split(":")[1]))
if (!EnumUtils.isValidEnum(Material.class, recipe.getAsString().split(":")[1].toUpperCase(Locale.ROOT)))
{
remove.set(true);
}

View file

@ -8,7 +8,7 @@ import net.minecraft.network.protocol.game.ServerboundUseItemOnPacket;
import net.minecraft.world.item.ItemStack;
import org.apache.commons.lang.StringUtils;
import org.bukkit.Material;
import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftItemStack;
import org.bukkit.craftbukkit.v1_17_R1.inventory.CraftItemStack;
import org.bukkit.event.EventHandler;
import org.bukkit.event.block.BlockPlaceEvent;
import org.json.JSONArray;
@ -22,15 +22,15 @@ public class LecternPatch implements IPacketListener<ServerboundUseItemOnPacket>
public void onInventoryClick(BlockPlaceEvent event)
{
ItemStack item = ((CraftItemStack) event.getItemInHand()).handle;
Blackout.debug(item.getBukkitStack().getType().name());
Blackout.debug(String.valueOf(item.hasTag()));
// Blackout.debug(item.getBukkitStack().getType().name());
// Blackout.debug(String.valueOf(item.hasTag()));
if (item.getBukkitStack().getType() != Material.LECTERN) return;
if (!item.hasTag()) return;
CompoundTag tag = item.getTag();
assert tag != null;
Blackout.debug(StringUtils.join(tag.getAllKeys(), ", "));
// Blackout.debug(StringUtils.join(tag.getAllKeys(), ", "));
if (!tag.contains("BlockEntityTag")) return;
if (!tag.getCompound("BlockEntityTag").contains("Book")) return;

View file

@ -8,8 +8,8 @@ import net.minecraft.network.protocol.game.ServerboundSetCreativeModeSlotPacket;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import org.bukkit.Material;
import org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftItemStack;
import org.bukkit.craftbukkit.v1_17_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_17_R1.inventory.CraftItemStack;
import org.bukkit.entity.EntityType;
import org.bukkit.event.EventHandler;
import org.bukkit.event.inventory.InventoryClickEvent;
@ -37,7 +37,7 @@ public class SkullOwnerPatch implements IPacketListener<ServerboundSetCreativeMo
{
if (event.getView().getType() == InventoryType.PLAYER)
{
Blackout.debug("Checking all items...");
// Blackout.debug("Checking all items...");
Arrays.stream(event.getInventory().getContents()).forEach(item -> checkItem(((CraftPlayer)event.getPlayer()).getHandle(), item));
}
}
@ -50,7 +50,7 @@ public class SkullOwnerPatch implements IPacketListener<ServerboundSetCreativeMo
private boolean checkItem(Player player, org.bukkit.inventory.ItemStack bukkitItem)
{
Blackout.debug("Starting skull owner exploit patch...");
// Blackout.debug("Starting skull owner exploit patch...");
if (bukkitItem == null) return true;
ItemStack item = ((CraftItemStack)bukkitItem).handle;
if (item.getBukkitStack().getType() != Material.PLAYER_HEAD) return true;

View file

@ -6,7 +6,7 @@ import io.netty.channel.ChannelDuplexHandler;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelPipeline;
import net.minecraft.network.protocol.Packet;
import org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_17_R1.entity.CraftPlayer;
import org.bukkit.entity.Player;
public class PacketInterceptorUtil