mirror of
https://github.com/AtlasMediaGroup/Scissors.git
synced 2024-11-27 07:05:39 +00:00
Backport patches from 1.17.1
This commit is contained in:
parent
8befd612e7
commit
b2fa32800c
@ -40,10 +40,10 @@ index 79abd84696ef099f6b12ddeaa6e398f18c53316a..7070b64c0c66b5c9d09bf7764ce506f4
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
index b1ae9b0d8b229e2a6797a173cb11ecc0f43e2592..0919fa26ecd974385ed44e50c96439e9019deed7 100644
|
index e3227a806d9e19923783122ea94ae19e7dbe71da..473dba5213f6aed7573e970119f4b6ad0e4f6367 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
@@ -573,7 +573,7 @@ public abstract class Mob extends LivingEntity {
|
@@ -572,7 +572,7 @@ public abstract class Mob extends LivingEntity {
|
||||||
|
|
||||||
this.setLeftHanded(nbt.getBoolean("LeftHanded"));
|
this.setLeftHanded(nbt.getBoolean("LeftHanded"));
|
||||||
if (nbt.contains("DeathLootTable", 8)) {
|
if (nbt.contains("DeathLootTable", 8)) {
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Business Goose <arclicious@vivaldi.net>
|
|
||||||
Date: Sun, 1 May 2022 01:19:36 +0100
|
|
||||||
Subject: [PATCH] Make the maximum tag size a constant & add a method for
|
|
||||||
getting tag size
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/github/atlasmediagroup/scissors/NbtUtility.java b/src/main/java/com/github/atlasmediagroup/scissors/NbtUtility.java
|
|
||||||
index 058203440fd071ce5edbe18391ea60f0a5fbee3a..dc09fe007247e832aacc323ddeb3541cfb447069 100644
|
|
||||||
--- a/src/main/java/com/github/atlasmediagroup/scissors/NbtUtility.java
|
|
||||||
+++ b/src/main/java/com/github/atlasmediagroup/scissors/NbtUtility.java
|
|
||||||
@@ -7,11 +7,17 @@ import java.nio.charset.StandardCharsets;
|
|
||||||
|
|
||||||
public class NbtUtility
|
|
||||||
{
|
|
||||||
+ public static final long MAXIMUM_SIZE = (256 * 1024);
|
|
||||||
+
|
|
||||||
+ public static long getTagSize(@Nullable CompoundTag tag) {
|
|
||||||
+ if(tag == null) return 0;
|
|
||||||
+ return tag.toString().getBytes(StandardCharsets.UTF_8).length;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
public static boolean isTooLarge(@Nullable CompoundTag tag)
|
|
||||||
{
|
|
||||||
if (tag == null) return false;
|
|
||||||
- return tag.toString().getBytes(StandardCharsets.UTF_8).length > (256 * 1024);
|
|
||||||
+ return getTagSize(tag) > MAXIMUM_SIZE;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class Item
|
|
@ -0,0 +1,63 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Business Goose <arclicious@vivaldi.net>
|
||||||
|
Date: Sun, 1 May 2022 01:19:36 +0100
|
||||||
|
Subject: [PATCH] Make the maximum tag size a constant & add a method for
|
||||||
|
getting tag size
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/com/github/atlasmediagroup/scissors/NbtUtility.java b/src/main/java/com/github/atlasmediagroup/scissors/NbtUtility.java
|
||||||
|
index 058203440fd071ce5edbe18391ea60f0a5fbee3a..978cb98c81195640fb3704d2077148f2be0dca36 100644
|
||||||
|
--- a/src/main/java/com/github/atlasmediagroup/scissors/NbtUtility.java
|
||||||
|
+++ b/src/main/java/com/github/atlasmediagroup/scissors/NbtUtility.java
|
||||||
|
@@ -1,17 +1,49 @@
|
||||||
|
package com.github.atlasmediagroup.scissors;
|
||||||
|
|
||||||
|
-import net.minecraft.nbt.CompoundTag;
|
||||||
|
+import com.google.common.base.Strings;
|
||||||
|
+import com.google.common.collect.Lists;
|
||||||
|
+import net.minecraft.nbt.*;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
+import java.util.Collections;
|
||||||
|
+import java.util.List;
|
||||||
|
|
||||||
|
public class NbtUtility
|
||||||
|
{
|
||||||
|
+ public static final long MAXIMUM_SIZE = (256 * 1024);
|
||||||
|
+
|
||||||
|
+ public static long getTagSize(@Nullable Tag tag, int depth) {
|
||||||
|
+ if(depth > 512) return 0;
|
||||||
|
+ if(tag == null) return 0;
|
||||||
|
+
|
||||||
|
+ long size = 0;
|
||||||
|
+
|
||||||
|
+ if(tag.getType() == CompoundTag.TYPE) {
|
||||||
|
+ CompoundTag compoundTag = (CompoundTag) tag;
|
||||||
|
+ for(String key : compoundTag.getAllKeys()) {
|
||||||
|
+ size += getTagSize(compoundTag.get(key), depth + 1);
|
||||||
|
+ }
|
||||||
|
+ } else if(tag.getType() == ListTag.TYPE) {
|
||||||
|
+ ListTag listTag = (ListTag) tag;
|
||||||
|
+ for (Tag tag1 : listTag) {
|
||||||
|
+ size += getTagSize(tag1, depth + 1);
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ size += tag.getAsString().getBytes(StandardCharsets.UTF_8).length;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return size;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static long getTagSize(@Nullable CompoundTag tag) {
|
||||||
|
+ return getTagSize(tag, 0);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
public static boolean isTooLarge(@Nullable CompoundTag tag)
|
||||||
|
{
|
||||||
|
if (tag == null) return false;
|
||||||
|
- return tag.toString().getBytes(StandardCharsets.UTF_8).length > (256 * 1024);
|
||||||
|
+ return getTagSize(tag) > MAXIMUM_SIZE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Item
|
Loading…
Reference in New Issue
Block a user