ζ³₯ι°
commited on
Commit
Β·
eb0e957
1
Parent(s):
ec76e53
Add ocr ai
Browse files- Dockerfile +0 -21
- LICENSE +0 -21
- README.md +11 -12
- app.py +708 -0
- bukkit.yml +0 -32
- config/paper-global.yml +0 -129
- config/paper-world-defaults.yml +0 -316
- eula.txt +0 -3
- ngrok +0 -3
- ops.json +0 -2
- plugins/.nothing +0 -1
- pufferfish.yml +0 -34
- purpur.jar +0 -3
- purpur.yml +0 -1566
- requirements.in +9 -0
- requirements.txt +12 -0
- server.properties +0 -59
- spigot.yml +0 -173
- start.sh +0 -7
Dockerfile
DELETED
|
@@ -1,21 +0,0 @@
|
|
| 1 |
-
FROM debian:stable
|
| 2 |
-
|
| 3 |
-
USER root
|
| 4 |
-
|
| 5 |
-
ENV DEBIAN_FRONTEND noninteractive
|
| 6 |
-
|
| 7 |
-
COPY . /app
|
| 8 |
-
|
| 9 |
-
RUN chmod -R 777 /app
|
| 10 |
-
|
| 11 |
-
WORKDIR /app
|
| 12 |
-
|
| 13 |
-
RUN apt-get update && apt-get install openjdk-21-jdk -y
|
| 14 |
-
|
| 15 |
-
RUN --mount=type=secret,id=NGROK_TOKEN,mode=0444,required=true echo $(cat /run/secrets/NGROK_TOKEN) > token.txt
|
| 16 |
-
|
| 17 |
-
RUN mkdir -p /.config/ngrok
|
| 18 |
-
RUN chown -R root:root /.config/ngrok
|
| 19 |
-
RUN chmod -R 777 /.config/ngrok
|
| 20 |
-
|
| 21 |
-
CMD ["sh", "start.sh"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
| 1 |
-
MIT License
|
| 2 |
-
|
| 3 |
-
Copyright (c) 2023 Joseph Attano
|
| 4 |
-
|
| 5 |
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
-
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
-
in the Software without restriction, including without limitation the rights
|
| 8 |
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
-
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
-
furnished to do so, subject to the following conditions:
|
| 11 |
-
|
| 12 |
-
The above copyright notice and this permission notice shall be included in all
|
| 13 |
-
copies or substantial portions of the Software.
|
| 14 |
-
|
| 15 |
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
-
SOFTWARE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
README.md
CHANGED
|
@@ -1,12 +1,11 @@
|
|
| 1 |
-
---
|
| 2 |
-
title:
|
| 3 |
-
emoji:
|
| 4 |
-
colorFrom:
|
| 5 |
-
colorTo:
|
| 6 |
-
sdk:
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: OCR Time Machine
|
| 3 |
+
emoji: π
|
| 4 |
+
colorFrom: purple
|
| 5 |
+
colorTo: pink
|
| 6 |
+
sdk: gradio
|
| 7 |
+
sdk_version: 5.30.0
|
| 8 |
+
app_file: app.py
|
| 9 |
+
---
|
| 10 |
+
|
| 11 |
+
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
app.py
ADDED
|
@@ -0,0 +1,708 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import gradio as gr
|
| 2 |
+
from PIL import Image
|
| 3 |
+
import xml.etree.ElementTree as ET
|
| 4 |
+
import os
|
| 5 |
+
import torch
|
| 6 |
+
import json
|
| 7 |
+
from transformers import AutoProcessor, AutoModelForImageTextToText, AutoModelForCausalLM, pipeline, Qwen2VLForConditionalGeneration, Qwen2_5_VLForConditionalGeneration
|
| 8 |
+
import spaces
|
| 9 |
+
|
| 10 |
+
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1" # turn on HF_TRANSFER
|
| 11 |
+
# --- Global Model and Processor ---
|
| 12 |
+
MODELS = {}
|
| 13 |
+
PROCESSORS = {}
|
| 14 |
+
PIPELINES = {}
|
| 15 |
+
MODEL_LOAD_ERROR_MSG = {}
|
| 16 |
+
|
| 17 |
+
# Available models
|
| 18 |
+
AVAILABLE_MODELS = ["RolmOCR", "Nanonets-OCR-s", "olmOCR", "OCRFlux-3B", "Ovis2.5-9B"]
|
| 19 |
+
|
| 20 |
+
# Load RolmOCR
|
| 21 |
+
try:
|
| 22 |
+
PROCESSORS["RolmOCR"] = AutoProcessor.from_pretrained("reducto/RolmOCR")
|
| 23 |
+
MODELS["RolmOCR"] = AutoModelForImageTextToText.from_pretrained(
|
| 24 |
+
"reducto/RolmOCR", torch_dtype=torch.bfloat16, device_map="auto"
|
| 25 |
+
)
|
| 26 |
+
PIPELINES["RolmOCR"] = pipeline(
|
| 27 |
+
"image-text-to-text", model=MODELS["RolmOCR"], processor=PROCESSORS["RolmOCR"]
|
| 28 |
+
)
|
| 29 |
+
except Exception as e:
|
| 30 |
+
MODEL_LOAD_ERROR_MSG["RolmOCR"] = f"Failed to load RolmOCR: {str(e)}"
|
| 31 |
+
print(f"Error loading RolmOCR: {e}")
|
| 32 |
+
|
| 33 |
+
# Load Nanonets-OCR-s
|
| 34 |
+
try:
|
| 35 |
+
PROCESSORS["Nanonets-OCR-s"] = AutoProcessor.from_pretrained(
|
| 36 |
+
"nanonets/Nanonets-OCR-s"
|
| 37 |
+
)
|
| 38 |
+
MODELS["Nanonets-OCR-s"] = AutoModelForImageTextToText.from_pretrained(
|
| 39 |
+
"nanonets/Nanonets-OCR-s", torch_dtype=torch.bfloat16, device_map="auto"
|
| 40 |
+
)
|
| 41 |
+
PIPELINES["Nanonets-OCR-s"] = pipeline(
|
| 42 |
+
"image-text-to-text",
|
| 43 |
+
model=MODELS["Nanonets-OCR-s"],
|
| 44 |
+
processor=PROCESSORS["Nanonets-OCR-s"],
|
| 45 |
+
)
|
| 46 |
+
except Exception as e:
|
| 47 |
+
MODEL_LOAD_ERROR_MSG["Nanonets-OCR-s"] = f"Failed to load Nanonets-OCR-s: {str(e)}"
|
| 48 |
+
print(f"Error loading Nanonets-OCR-s: {e}")
|
| 49 |
+
|
| 50 |
+
# Load olmOCR
|
| 51 |
+
try:
|
| 52 |
+
PROCESSORS["olmOCR"] = AutoProcessor.from_pretrained("Qwen/Qwen2-VL-7B-Instruct")
|
| 53 |
+
MODELS["olmOCR"] = Qwen2VLForConditionalGeneration.from_pretrained(
|
| 54 |
+
"allenai/olmOCR-7B-0225-preview", torch_dtype=torch.bfloat16, device_map="auto"
|
| 55 |
+
)
|
| 56 |
+
PIPELINES["olmOCR"] = pipeline(
|
| 57 |
+
"image-text-to-text", model=MODELS["olmOCR"], processor=PROCESSORS["olmOCR"]
|
| 58 |
+
)
|
| 59 |
+
except Exception as e:
|
| 60 |
+
MODEL_LOAD_ERROR_MSG["olmOCR"] = f"Failed to load olmOCR: {str(e)}"
|
| 61 |
+
print(f"Error loading olmOCR: {e}")
|
| 62 |
+
|
| 63 |
+
# Load OCRFlux-3B
|
| 64 |
+
try:
|
| 65 |
+
PROCESSORS["OCRFlux-3B"] = AutoProcessor.from_pretrained("ChatDOC/OCRFlux-3B")
|
| 66 |
+
MODELS["OCRFlux-3B"] = Qwen2_5_VLForConditionalGeneration.from_pretrained(
|
| 67 |
+
"ChatDOC/OCRFlux-3B", torch_dtype=torch.bfloat16, device_map="auto"
|
| 68 |
+
)
|
| 69 |
+
PIPELINES["OCRFlux-3B"] = pipeline(
|
| 70 |
+
"image-text-to-text",
|
| 71 |
+
model=MODELS["OCRFlux-3B"],
|
| 72 |
+
processor=PROCESSORS["OCRFlux-3B"]
|
| 73 |
+
)
|
| 74 |
+
except Exception as e:
|
| 75 |
+
MODEL_LOAD_ERROR_MSG["OCRFlux-3B"] = f"Failed to load OCRFlux-3B: {str(e)}"
|
| 76 |
+
print(f"Error loading OCRFlux-3B: {e}")
|
| 77 |
+
|
| 78 |
+
# Load Ovis2.5-9B
|
| 79 |
+
try:
|
| 80 |
+
# For Zero GPU compatibility, load to CPU first then move in predict function
|
| 81 |
+
MODELS["Ovis2.5-9B"] = AutoModelForCausalLM.from_pretrained(
|
| 82 |
+
"AIDC-AI/Ovis2.5-9B",
|
| 83 |
+
torch_dtype=torch.bfloat16,
|
| 84 |
+
trust_remote_code=True
|
| 85 |
+
)
|
| 86 |
+
# Ovis uses its own preprocessing, so we handle it differently
|
| 87 |
+
PROCESSORS["Ovis2.5-9B"] = None # Ovis has built-in preprocessing
|
| 88 |
+
PIPELINES["Ovis2.5-9B"] = None # We'll use the model directly
|
| 89 |
+
except Exception as e:
|
| 90 |
+
MODEL_LOAD_ERROR_MSG["Ovis2.5-9B"] = f"Failed to load Ovis2.5-9B: {str(e)}"
|
| 91 |
+
print(f"Error loading Ovis2.5-9B: {e}")
|
| 92 |
+
|
| 93 |
+
|
| 94 |
+
# --- Helper Functions ---
|
| 95 |
+
|
| 96 |
+
|
| 97 |
+
def get_xml_namespace(xml_file_path):
|
| 98 |
+
"""
|
| 99 |
+
Dynamically gets the namespace from the XML file.
|
| 100 |
+
Returns both the namespace and the format type (ALTO or PAGE).
|
| 101 |
+
"""
|
| 102 |
+
try:
|
| 103 |
+
tree = ET.parse(xml_file_path)
|
| 104 |
+
root = tree.getroot()
|
| 105 |
+
if "}" in root.tag:
|
| 106 |
+
ns = root.tag.split("}")[0] + "}"
|
| 107 |
+
# Determine format based on root element
|
| 108 |
+
if "PcGts" in root.tag:
|
| 109 |
+
return ns, "PAGE"
|
| 110 |
+
elif "alto" in root.tag.lower():
|
| 111 |
+
return ns, "ALTO"
|
| 112 |
+
except ET.ParseError:
|
| 113 |
+
print(f"Error parsing XML to find namespace: {xml_file_path}")
|
| 114 |
+
return "", "UNKNOWN"
|
| 115 |
+
|
| 116 |
+
|
| 117 |
+
def parse_page_xml_for_text(xml_file_path):
|
| 118 |
+
"""
|
| 119 |
+
Parses a PAGE XML file to extract text content.
|
| 120 |
+
Returns:
|
| 121 |
+
- full_text (str): All extracted text concatenated.
|
| 122 |
+
"""
|
| 123 |
+
full_text_lines = []
|
| 124 |
+
|
| 125 |
+
if not xml_file_path or not os.path.exists(xml_file_path):
|
| 126 |
+
return "Error: XML file not provided or does not exist."
|
| 127 |
+
|
| 128 |
+
try:
|
| 129 |
+
ns_prefix, _ = get_xml_namespace(xml_file_path)
|
| 130 |
+
tree = ET.parse(xml_file_path)
|
| 131 |
+
root = tree.getroot()
|
| 132 |
+
|
| 133 |
+
# Find all TextLine elements
|
| 134 |
+
for text_line in root.findall(f".//{ns_prefix}TextLine"):
|
| 135 |
+
# First try to get text from TextEquiv/Unicode
|
| 136 |
+
text_equiv = text_line.find(f"{ns_prefix}TextEquiv/{ns_prefix}Unicode")
|
| 137 |
+
if text_equiv is not None and text_equiv.text:
|
| 138 |
+
full_text_lines.append(text_equiv.text)
|
| 139 |
+
continue
|
| 140 |
+
|
| 141 |
+
# If no TextEquiv, try to get text from Word elements
|
| 142 |
+
line_text_parts = []
|
| 143 |
+
for word in text_line.findall(f"{ns_prefix}Word"):
|
| 144 |
+
word_text = word.find(f"{ns_prefix}TextEquiv/{ns_prefix}Unicode")
|
| 145 |
+
if word_text is not None and word_text.text:
|
| 146 |
+
line_text_parts.append(word_text.text)
|
| 147 |
+
|
| 148 |
+
if line_text_parts:
|
| 149 |
+
full_text_lines.append(" ".join(line_text_parts))
|
| 150 |
+
|
| 151 |
+
return "\n".join(full_text_lines)
|
| 152 |
+
|
| 153 |
+
except ET.ParseError as e:
|
| 154 |
+
return f"Error parsing XML: {e}"
|
| 155 |
+
except Exception as e:
|
| 156 |
+
return f"An unexpected error occurred during XML parsing: {e}"
|
| 157 |
+
|
| 158 |
+
|
| 159 |
+
def parse_alto_xml_for_text(xml_file_path):
|
| 160 |
+
"""
|
| 161 |
+
Parses an ALTO XML file to extract text content.
|
| 162 |
+
Returns:
|
| 163 |
+
- full_text (str): All extracted text concatenated.
|
| 164 |
+
"""
|
| 165 |
+
full_text_lines = []
|
| 166 |
+
|
| 167 |
+
if not xml_file_path or not os.path.exists(xml_file_path):
|
| 168 |
+
return "Error: XML file not provided or does not exist."
|
| 169 |
+
|
| 170 |
+
try:
|
| 171 |
+
ns_prefix, _ = get_xml_namespace(xml_file_path)
|
| 172 |
+
tree = ET.parse(xml_file_path)
|
| 173 |
+
root = tree.getroot()
|
| 174 |
+
|
| 175 |
+
for text_line in root.findall(f".//{ns_prefix}TextLine"):
|
| 176 |
+
line_text_parts = []
|
| 177 |
+
for string_element in text_line.findall(f"{ns_prefix}String"):
|
| 178 |
+
if text := string_element.get("CONTENT"):
|
| 179 |
+
line_text_parts.append(text)
|
| 180 |
+
if line_text_parts:
|
| 181 |
+
full_text_lines.append(" ".join(line_text_parts))
|
| 182 |
+
|
| 183 |
+
return "\n".join(full_text_lines)
|
| 184 |
+
|
| 185 |
+
except ET.ParseError as e:
|
| 186 |
+
return f"Error parsing XML: {e}"
|
| 187 |
+
except Exception as e:
|
| 188 |
+
return f"An unexpected error occurred during XML parsing: {e}"
|
| 189 |
+
|
| 190 |
+
|
| 191 |
+
def parse_xml_for_text(xml_file_path):
|
| 192 |
+
"""
|
| 193 |
+
Main function to parse XML files, automatically detecting the format.
|
| 194 |
+
"""
|
| 195 |
+
if not xml_file_path or not os.path.exists(xml_file_path):
|
| 196 |
+
return "Error: XML file not provided or does not exist."
|
| 197 |
+
|
| 198 |
+
try:
|
| 199 |
+
_, xml_format = get_xml_namespace(xml_file_path)
|
| 200 |
+
|
| 201 |
+
if xml_format == "PAGE":
|
| 202 |
+
return parse_page_xml_for_text(xml_file_path)
|
| 203 |
+
elif xml_format == "ALTO":
|
| 204 |
+
return parse_alto_xml_for_text(xml_file_path)
|
| 205 |
+
else:
|
| 206 |
+
return "Error: Unsupported XML format. Expected ALTO or PAGE XML."
|
| 207 |
+
|
| 208 |
+
except Exception as e:
|
| 209 |
+
return f"Error determining XML format: {str(e)}"
|
| 210 |
+
|
| 211 |
+
|
| 212 |
+
@spaces.GPU
|
| 213 |
+
def predict(pil_image, model_name="RolmOCR"):
|
| 214 |
+
"""Performs OCR prediction using the selected Hugging Face model."""
|
| 215 |
+
global MODELS, PIPELINES, MODEL_LOAD_ERROR_MSG
|
| 216 |
+
|
| 217 |
+
# Special handling for Ovis2.5-9B
|
| 218 |
+
if model_name == "Ovis2.5-9B":
|
| 219 |
+
if model_name not in MODELS:
|
| 220 |
+
error_to_report = MODEL_LOAD_ERROR_MSG.get(
|
| 221 |
+
model_name,
|
| 222 |
+
f"Model {model_name} could not be initialized or is not available.",
|
| 223 |
+
)
|
| 224 |
+
raise RuntimeError(error_to_report)
|
| 225 |
+
|
| 226 |
+
model = MODELS[model_name]
|
| 227 |
+
|
| 228 |
+
# Move model to CUDA within the GPU-decorated function
|
| 229 |
+
model = model.cuda()
|
| 230 |
+
|
| 231 |
+
# Format messages in Ovis format
|
| 232 |
+
messages = [{
|
| 233 |
+
"role": "user",
|
| 234 |
+
"content": [
|
| 235 |
+
{"type": "image", "image": pil_image},
|
| 236 |
+
{"type": "text", "text": "Extract and return all text from this document image. Preserve the reading order and layout structure. Return the complete text content."}
|
| 237 |
+
],
|
| 238 |
+
}]
|
| 239 |
+
|
| 240 |
+
# Preprocess inputs using Ovis's built-in method
|
| 241 |
+
input_ids, pixel_values, grid_thws = model.preprocess_inputs(
|
| 242 |
+
messages=messages,
|
| 243 |
+
add_generation_prompt=True
|
| 244 |
+
)
|
| 245 |
+
|
| 246 |
+
# Move inputs to CUDA
|
| 247 |
+
input_ids = input_ids.cuda()
|
| 248 |
+
pixel_values = pixel_values.cuda() if pixel_values is not None else None
|
| 249 |
+
grid_thws = grid_thws.cuda() if grid_thws is not None else None
|
| 250 |
+
|
| 251 |
+
# Generate output
|
| 252 |
+
with torch.inference_mode():
|
| 253 |
+
outputs = model.generate(
|
| 254 |
+
inputs=input_ids,
|
| 255 |
+
pixel_values=pixel_values,
|
| 256 |
+
grid_thws=grid_thws,
|
| 257 |
+
max_new_tokens=8096,
|
| 258 |
+
do_sample=False,
|
| 259 |
+
temperature=0.0
|
| 260 |
+
)
|
| 261 |
+
|
| 262 |
+
# Decode the output using text_tokenizer
|
| 263 |
+
response = model.text_tokenizer.decode(outputs[0], skip_special_tokens=True)
|
| 264 |
+
|
| 265 |
+
# Extract only the assistant's response (after the user message)
|
| 266 |
+
# The response includes the conversation, so we need to extract just the generated part
|
| 267 |
+
if "assistant\n" in response:
|
| 268 |
+
response = response.split("assistant\n")[-1].strip()
|
| 269 |
+
elif len(response.split("\n\n")) > 1:
|
| 270 |
+
# Fallback: take the last part after double newline
|
| 271 |
+
response = response.split("\n\n")[-1].strip()
|
| 272 |
+
|
| 273 |
+
# Return in a format similar to pipeline output for consistency
|
| 274 |
+
return [{"generated_text": response}]
|
| 275 |
+
|
| 276 |
+
# Standard pipeline handling for other models
|
| 277 |
+
if model_name not in PIPELINES:
|
| 278 |
+
error_to_report = MODEL_LOAD_ERROR_MSG.get(
|
| 279 |
+
model_name,
|
| 280 |
+
f"Model {model_name} could not be initialized or is not available.",
|
| 281 |
+
)
|
| 282 |
+
raise RuntimeError(error_to_report)
|
| 283 |
+
|
| 284 |
+
selected_pipe = PIPELINES[model_name]
|
| 285 |
+
|
| 286 |
+
# Format the message based on the model
|
| 287 |
+
if model_name == "RolmOCR":
|
| 288 |
+
messages = [
|
| 289 |
+
{
|
| 290 |
+
"role": "user",
|
| 291 |
+
"content": [
|
| 292 |
+
{"type": "image", "image": pil_image},
|
| 293 |
+
{
|
| 294 |
+
"type": "text",
|
| 295 |
+
"text": "Return the plain text representation of this document as if you were reading it naturally.\n",
|
| 296 |
+
},
|
| 297 |
+
],
|
| 298 |
+
}
|
| 299 |
+
]
|
| 300 |
+
elif model_name == "Nanonets-OCR-s":
|
| 301 |
+
messages = [
|
| 302 |
+
{
|
| 303 |
+
"role": "user",
|
| 304 |
+
"content": [
|
| 305 |
+
{"type": "image", "image": pil_image},
|
| 306 |
+
{
|
| 307 |
+
"type": "text",
|
| 308 |
+
"text": "Extract and return all the text from this image. Include all text elements and maintain the reading order. If there are tables, convert them to markdown format. If there are mathematical equations, convert them to LaTeX format.",
|
| 309 |
+
},
|
| 310 |
+
],
|
| 311 |
+
}
|
| 312 |
+
]
|
| 313 |
+
elif model_name == "olmOCR":
|
| 314 |
+
messages = [
|
| 315 |
+
{
|
| 316 |
+
"role": "user",
|
| 317 |
+
"content": [
|
| 318 |
+
{"type": "image", "image": pil_image},
|
| 319 |
+
{
|
| 320 |
+
"type": "text",
|
| 321 |
+
"text": "Extract all text from this document image, preserving the original reading order and layout structure. Return the plain text representation.",
|
| 322 |
+
},
|
| 323 |
+
],
|
| 324 |
+
}
|
| 325 |
+
]
|
| 326 |
+
else: # OCRFlux-3B
|
| 327 |
+
messages = [
|
| 328 |
+
{
|
| 329 |
+
"role": "user",
|
| 330 |
+
"content": [
|
| 331 |
+
{"type": "image", "image": pil_image},
|
| 332 |
+
{
|
| 333 |
+
"type": "text",
|
| 334 |
+
"text": "Convert this document page to clean, readable markdown format. Preserve all text content, maintain the original reading order, convert tables to markdown table format, and include any mathematical equations in LaTeX format.",
|
| 335 |
+
},
|
| 336 |
+
],
|
| 337 |
+
}
|
| 338 |
+
]
|
| 339 |
+
max_tokens = 8096
|
| 340 |
+
# Use the pipeline with the properly formatted messages
|
| 341 |
+
return selected_pipe(messages, max_new_tokens=max_tokens)
|
| 342 |
+
|
| 343 |
+
|
| 344 |
+
def run_hf_ocr(image_path, model_name="RolmOCR"):
|
| 345 |
+
"""
|
| 346 |
+
Runs OCR on the provided image using the selected Hugging Face model (via predict function).
|
| 347 |
+
"""
|
| 348 |
+
if image_path is None:
|
| 349 |
+
return "No image provided for OCR."
|
| 350 |
+
|
| 351 |
+
try:
|
| 352 |
+
pil_image = Image.open(image_path).convert("RGB")
|
| 353 |
+
ocr_results = predict(
|
| 354 |
+
pil_image, model_name
|
| 355 |
+
) # predict handles model loading and inference
|
| 356 |
+
|
| 357 |
+
# Parse the output based on the user's example structure
|
| 358 |
+
if (
|
| 359 |
+
isinstance(ocr_results, list)
|
| 360 |
+
and ocr_results
|
| 361 |
+
and "generated_text" in ocr_results[0]
|
| 362 |
+
):
|
| 363 |
+
generated_content = ocr_results[0]["generated_text"]
|
| 364 |
+
|
| 365 |
+
if isinstance(generated_content, str):
|
| 366 |
+
# Check if it's JSON format from olmOCR
|
| 367 |
+
if model_name == "olmOCR":
|
| 368 |
+
try:
|
| 369 |
+
json_data = json.loads(generated_content)
|
| 370 |
+
if "natural_text" in json_data:
|
| 371 |
+
return json_data["natural_text"]
|
| 372 |
+
except (json.JSONDecodeError, KeyError, TypeError):
|
| 373 |
+
pass
|
| 374 |
+
return generated_content
|
| 375 |
+
|
| 376 |
+
if isinstance(generated_content, list) and generated_content:
|
| 377 |
+
if assistant_message := next(
|
| 378 |
+
(
|
| 379 |
+
msg["content"]
|
| 380 |
+
for msg in reversed(generated_content)
|
| 381 |
+
if isinstance(msg, dict)
|
| 382 |
+
and msg.get("role") == "assistant"
|
| 383 |
+
and "content" in msg
|
| 384 |
+
),
|
| 385 |
+
None,
|
| 386 |
+
):
|
| 387 |
+
# Check if it's JSON format from olmOCR
|
| 388 |
+
if model_name == "olmOCR":
|
| 389 |
+
try:
|
| 390 |
+
json_data = json.loads(assistant_message)
|
| 391 |
+
if "natural_text" in json_data:
|
| 392 |
+
return json_data["natural_text"]
|
| 393 |
+
except (json.JSONDecodeError, KeyError, TypeError):
|
| 394 |
+
pass
|
| 395 |
+
return assistant_message
|
| 396 |
+
|
| 397 |
+
# Fallback if the specific assistant message structure isn't found but there's content
|
| 398 |
+
if (
|
| 399 |
+
isinstance(generated_content[0], dict)
|
| 400 |
+
and "content" in generated_content[0]
|
| 401 |
+
):
|
| 402 |
+
if (
|
| 403 |
+
len(generated_content) > 1
|
| 404 |
+
and isinstance(generated_content[1], dict)
|
| 405 |
+
and "content" in generated_content[1]
|
| 406 |
+
):
|
| 407 |
+
content = generated_content[1]["content"]
|
| 408 |
+
# Check if it's JSON format from olmOCR
|
| 409 |
+
if model_name == "olmOCR":
|
| 410 |
+
try:
|
| 411 |
+
json_data = json.loads(content)
|
| 412 |
+
if "natural_text" in json_data:
|
| 413 |
+
return json_data["natural_text"]
|
| 414 |
+
except (json.JSONDecodeError, KeyError, TypeError):
|
| 415 |
+
pass
|
| 416 |
+
return content # Assuming second part is assistant
|
| 417 |
+
else:
|
| 418 |
+
content = generated_content[0]["content"]
|
| 419 |
+
# Check if it's JSON format from olmOCR
|
| 420 |
+
if model_name == "olmOCR":
|
| 421 |
+
try:
|
| 422 |
+
json_data = json.loads(content)
|
| 423 |
+
if "natural_text" in json_data:
|
| 424 |
+
return json_data["natural_text"]
|
| 425 |
+
except (json.JSONDecodeError, KeyError, TypeError):
|
| 426 |
+
pass
|
| 427 |
+
return content
|
| 428 |
+
|
| 429 |
+
print(f"Unexpected OCR output structure from HF model: {ocr_results}")
|
| 430 |
+
return "Error: Could not parse OCR model output. Check console."
|
| 431 |
+
|
| 432 |
+
else:
|
| 433 |
+
print(f"Unexpected OCR output structure from HF model: {ocr_results}")
|
| 434 |
+
return "Error: OCR model did not return expected output. Check console."
|
| 435 |
+
|
| 436 |
+
except RuntimeError as e: # Catch model loading/initialization errors from predict
|
| 437 |
+
return str(e)
|
| 438 |
+
except Exception as e:
|
| 439 |
+
print(f"Error during Hugging Face OCR processing: {e}")
|
| 440 |
+
return f"Error during Hugging Face OCR: {str(e)}"
|
| 441 |
+
|
| 442 |
+
|
| 443 |
+
# --- Gradio Interface Function ---
|
| 444 |
+
|
| 445 |
+
|
| 446 |
+
def process_files(image_path, xml_path, model_name):
|
| 447 |
+
"""
|
| 448 |
+
Main function for the Gradio interface.
|
| 449 |
+
Processes the image for display, runs OCR with selected model,
|
| 450 |
+
and parses XML if provided.
|
| 451 |
+
"""
|
| 452 |
+
img_to_display = None
|
| 453 |
+
xml_text_output = "XML not provided or not processed."
|
| 454 |
+
hf_ocr_text_output = "Image not provided or OCR not run."
|
| 455 |
+
ocr_download = gr.DownloadButton(visible=False)
|
| 456 |
+
xml_download = gr.DownloadButton(visible=False)
|
| 457 |
+
|
| 458 |
+
if image_path:
|
| 459 |
+
try:
|
| 460 |
+
img_to_display = Image.open(image_path).convert("RGB")
|
| 461 |
+
hf_ocr_text_output = run_hf_ocr(image_path, model_name)
|
| 462 |
+
|
| 463 |
+
# Create download file for OCR output
|
| 464 |
+
if hf_ocr_text_output and not hf_ocr_text_output.startswith("Error"):
|
| 465 |
+
ocr_filename = f"vlm_ocr_output_{model_name}.txt"
|
| 466 |
+
with open(ocr_filename, "w", encoding="utf-8") as f:
|
| 467 |
+
f.write(hf_ocr_text_output)
|
| 468 |
+
ocr_download = gr.DownloadButton(
|
| 469 |
+
label="Download VLM OCR", value=ocr_filename, visible=True
|
| 470 |
+
)
|
| 471 |
+
except Exception as e:
|
| 472 |
+
img_to_display = None # Clear image if it failed to load
|
| 473 |
+
hf_ocr_text_output = f"Error loading image or running {model_name} OCR: {e}"
|
| 474 |
+
else:
|
| 475 |
+
hf_ocr_text_output = "Please upload an image to perform OCR."
|
| 476 |
+
|
| 477 |
+
if xml_path:
|
| 478 |
+
xml_text_output = parse_xml_for_text(xml_path)
|
| 479 |
+
|
| 480 |
+
# Create download file for XML text
|
| 481 |
+
if xml_text_output and not xml_text_output.startswith("Error"):
|
| 482 |
+
xml_filename = "traditional_ocr_output.txt"
|
| 483 |
+
with open(xml_filename, "w", encoding="utf-8") as f:
|
| 484 |
+
f.write(xml_text_output)
|
| 485 |
+
xml_download = gr.DownloadButton(
|
| 486 |
+
label="Download XML Text", value=xml_filename, visible=True
|
| 487 |
+
)
|
| 488 |
+
else:
|
| 489 |
+
xml_text_output = "No XML file uploaded."
|
| 490 |
+
|
| 491 |
+
# If only XML is provided without an image
|
| 492 |
+
if not image_path and xml_path:
|
| 493 |
+
img_to_display = None # No image to display
|
| 494 |
+
hf_ocr_text_output = "Upload an image to perform OCR."
|
| 495 |
+
|
| 496 |
+
return (
|
| 497 |
+
img_to_display,
|
| 498 |
+
xml_text_output,
|
| 499 |
+
hf_ocr_text_output,
|
| 500 |
+
ocr_download,
|
| 501 |
+
xml_download,
|
| 502 |
+
)
|
| 503 |
+
|
| 504 |
+
|
| 505 |
+
# --- Create Gradio App ---
|
| 506 |
+
|
| 507 |
+
with gr.Blocks() as demo:
|
| 508 |
+
gr.Markdown("# π°οΈ OCR Time Machine")
|
| 509 |
+
gr.Markdown(
|
| 510 |
+
"Travel through time to see how OCR technology has evolved! \n\n "
|
| 511 |
+
"For decades, galleries, libraries, archives, and museums (GLAMs) have used Optical Character Recognition "
|
| 512 |
+
"to transform digitized books, newspapers, and manuscripts into machine-readable text. Traditional OCR "
|
| 513 |
+
"produces complex XML formats like ALTO, packed with layout details but difficult to use. "
|
| 514 |
+
"Now, Vision-Language Models (VLMs) are revolutionizing OCR with simpler, cleaner output. "
|
| 515 |
+
"This Space lets you compare four leading VLM-based OCR models against traditional approaches. "
|
| 516 |
+
"Upload a historical document image and its XML file to see them side-by-side. "
|
| 517 |
+
"We'll extract the reading order from your XML for an apples-to-apples comparison of the actual text content.\n\n"
|
| 518 |
+
"**Available models:**\n"
|
| 519 |
+
"β’ [RolmOCR](https://huggingface.co/reducto/RolmOCR) - Fast & general-purpose\n"
|
| 520 |
+
"β’ [Nanonets-OCR-s](https://huggingface.co/nanonets/Nanonets-OCR-s) - Advanced with table/math support\n"
|
| 521 |
+
"β’ [olmOCR](https://huggingface.co/allenai/olmOCR-7B-0225-preview) - Allen AI's pioneering 7B document specialist\n"
|
| 522 |
+
"β’ [OCRFlux-3B](https://huggingface.co/ChatDOC/OCRFlux-3B) - Document specialist with table parsing & cross-page merging\n"
|
| 523 |
+
"β’ [Ovis2.5-9B](https://huggingface.co/AIDC-AI/Ovis2.5-9B) - Native-resolution multimodal model with advanced reasoning"
|
| 524 |
+
)
|
| 525 |
+
|
| 526 |
+
gr.Markdown("---")
|
| 527 |
+
|
| 528 |
+
# How it works section
|
| 529 |
+
gr.Markdown("## π How it works")
|
| 530 |
+
gr.Markdown(
|
| 531 |
+
"1. π€ **Upload Image**: Select a historical document image (JPG, PNG, JP2)\n"
|
| 532 |
+
"2. π **Upload XML** (Optional): Add the corresponding ALTO or PAGE XML file for comparison\n"
|
| 533 |
+
"3. π€ **Choose Model**: Select between RolmOCR (new) or Nanonets-OCR-s (even newer!)\n"
|
| 534 |
+
"4. π **Compare**: Click 'Compare OCR Methods' to process\n"
|
| 535 |
+
"5. πΎ **Download**: Save the results for further analysis"
|
| 536 |
+
)
|
| 537 |
+
|
| 538 |
+
gr.Markdown("---")
|
| 539 |
+
|
| 540 |
+
# Input section
|
| 541 |
+
gr.Markdown("## π₯ Upload Files")
|
| 542 |
+
with gr.Row():
|
| 543 |
+
with gr.Column(scale=1):
|
| 544 |
+
with gr.Group():
|
| 545 |
+
gr.Markdown("### π€ Step 1: Upload your document")
|
| 546 |
+
image_input = gr.File(
|
| 547 |
+
label="Historical Document Image",
|
| 548 |
+
type="filepath",
|
| 549 |
+
file_types=["image"],
|
| 550 |
+
)
|
| 551 |
+
xml_input = gr.File(
|
| 552 |
+
label="XML File (Optional - ALTO or PAGE format)",
|
| 553 |
+
type="filepath",
|
| 554 |
+
file_types=[".xml"],
|
| 555 |
+
)
|
| 556 |
+
|
| 557 |
+
with gr.Group():
|
| 558 |
+
gr.Markdown("### π€ Step 2: Select OCR Model")
|
| 559 |
+
model_selector = gr.Radio(
|
| 560 |
+
choices=AVAILABLE_MODELS,
|
| 561 |
+
value="RolmOCR",
|
| 562 |
+
label="Choose Model",
|
| 563 |
+
info="RolmOCR: Fast & general-purpose | Nanonets: Advanced with table/math support | olmOCR: 7B specialized for documents | OCRFlux-3B: Document specialist with cross-page merging | Ovis2.5-9B: Native-resolution with advanced reasoning",
|
| 564 |
+
)
|
| 565 |
+
|
| 566 |
+
submit_button = gr.Button(
|
| 567 |
+
"π Compare OCR Methods", variant="primary", size="lg"
|
| 568 |
+
)
|
| 569 |
+
|
| 570 |
+
# Results section
|
| 571 |
+
gr.Markdown("## π Results")
|
| 572 |
+
with gr.Row():
|
| 573 |
+
with gr.Column(scale=1):
|
| 574 |
+
with gr.Group():
|
| 575 |
+
gr.Markdown("### πΌοΈ Document Image")
|
| 576 |
+
output_image_display = gr.Image(
|
| 577 |
+
label="Uploaded Document", type="pil", interactive=False
|
| 578 |
+
)
|
| 579 |
+
with gr.Column(scale=1):
|
| 580 |
+
with gr.Group():
|
| 581 |
+
gr.Markdown("### π€ Modern VLM OCR Output")
|
| 582 |
+
hf_ocr_output_textbox = gr.Markdown(
|
| 583 |
+
label="Markdown Format",
|
| 584 |
+
show_copy_button=True,
|
| 585 |
+
)
|
| 586 |
+
ocr_download_btn = gr.DownloadButton(
|
| 587 |
+
label="πΎ Download VLM OCR", visible=False, size="sm"
|
| 588 |
+
)
|
| 589 |
+
with gr.Group():
|
| 590 |
+
gr.Markdown("### π Traditional OCR Output")
|
| 591 |
+
xml_output_textbox = gr.Textbox(
|
| 592 |
+
label="XML Reading Order",
|
| 593 |
+
lines=10,
|
| 594 |
+
interactive=False,
|
| 595 |
+
show_copy_button=True,
|
| 596 |
+
)
|
| 597 |
+
xml_download_btn = gr.DownloadButton(
|
| 598 |
+
label="πΎ Download XML Text", visible=False, size="sm"
|
| 599 |
+
)
|
| 600 |
+
|
| 601 |
+
submit_button.click(
|
| 602 |
+
fn=process_files,
|
| 603 |
+
inputs=[image_input, xml_input, model_selector],
|
| 604 |
+
outputs=[
|
| 605 |
+
output_image_display,
|
| 606 |
+
xml_output_textbox,
|
| 607 |
+
hf_ocr_output_textbox,
|
| 608 |
+
ocr_download_btn,
|
| 609 |
+
xml_download_btn,
|
| 610 |
+
],
|
| 611 |
+
)
|
| 612 |
+
|
| 613 |
+
gr.Markdown("---")
|
| 614 |
+
|
| 615 |
+
# Examples section
|
| 616 |
+
with gr.Group():
|
| 617 |
+
gr.Markdown("## π― Try an Example")
|
| 618 |
+
gr.Examples(
|
| 619 |
+
examples=[
|
| 620 |
+
[
|
| 621 |
+
"examples/one/74442232.3.jpg",
|
| 622 |
+
"examples/one/74442232.34.xml",
|
| 623 |
+
"RolmOCR",
|
| 624 |
+
],
|
| 625 |
+
[
|
| 626 |
+
"examples/one/74442232.3.jpg",
|
| 627 |
+
"examples/one/74442232.34.xml",
|
| 628 |
+
"Nanonets-OCR-s",
|
| 629 |
+
],
|
| 630 |
+
[
|
| 631 |
+
"examples/one/74442232.3.jpg",
|
| 632 |
+
"examples/one/74442232.34.xml",
|
| 633 |
+
"olmOCR",
|
| 634 |
+
],
|
| 635 |
+
[
|
| 636 |
+
"examples/one/74442232.3.jpg",
|
| 637 |
+
"examples/one/74442232.34.xml",
|
| 638 |
+
"OCRFlux-3B",
|
| 639 |
+
],
|
| 640 |
+
[
|
| 641 |
+
"examples/one/74442232.3.jpg",
|
| 642 |
+
"examples/one/74442232.34.xml",
|
| 643 |
+
"Ovis2.5-9B",
|
| 644 |
+
],
|
| 645 |
+
],
|
| 646 |
+
inputs=[image_input, xml_input, model_selector],
|
| 647 |
+
outputs=[
|
| 648 |
+
output_image_display,
|
| 649 |
+
xml_output_textbox,
|
| 650 |
+
hf_ocr_output_textbox,
|
| 651 |
+
ocr_download_btn,
|
| 652 |
+
xml_download_btn,
|
| 653 |
+
],
|
| 654 |
+
fn=process_files,
|
| 655 |
+
cache_examples=False,
|
| 656 |
+
)
|
| 657 |
+
gr.Markdown(
|
| 658 |
+
"*Example from ['A Medical History of British India'](https://data.nls.uk/data/digitised-collections/a-medical-history-of-british-india/) "
|
| 659 |
+
"collection, National Library of Scotland*"
|
| 660 |
+
)
|
| 661 |
+
|
| 662 |
+
gr.Markdown("---")
|
| 663 |
+
|
| 664 |
+
# Tips section
|
| 665 |
+
with gr.Accordion("π‘ Tips & Information", open=False):
|
| 666 |
+
gr.Markdown(
|
| 667 |
+
"### π About ALTO/PAGE XML\n"
|
| 668 |
+
"- **ALTO** (Analyzed Layout and Text Object) and **PAGE** are XML formats that store OCR results with detailed layout information\n"
|
| 669 |
+
"- These files are typically generated by traditional OCR software and include position data for each text element\n"
|
| 670 |
+
"- This tool extracts just the reading order text for easier comparison\n\n"
|
| 671 |
+
"### π― Best Practices\n"
|
| 672 |
+
"- Use high-resolution scans (300+ DPI) for best results\n"
|
| 673 |
+
"- Historical documents with clear text work best\n"
|
| 674 |
+
"- The VLM models can handle complex layouts, tables, and mathematical notation\n\n"
|
| 675 |
+
)
|
| 676 |
+
gr.Code(
|
| 677 |
+
value=(
|
| 678 |
+
"""<alto xmlns="http://www.loc.gov/standards/alto/v3/alto.xsd">
|
| 679 |
+
<Layout>
|
| 680 |
+
<Page>
|
| 681 |
+
<PrintSpace>
|
| 682 |
+
<TextLine>
|
| 683 |
+
<String CONTENT="Hello World"/>
|
| 684 |
+
</TextLine>
|
| 685 |
+
</PrintSpace>
|
| 686 |
+
</Page>
|
| 687 |
+
</Layout>
|
| 688 |
+
</alto>"""
|
| 689 |
+
),
|
| 690 |
+
interactive=False,
|
| 691 |
+
)
|
| 692 |
+
|
| 693 |
+
# Footer
|
| 694 |
+
gr.Markdown("---")
|
| 695 |
+
gr.Markdown(
|
| 696 |
+
"<center>\n\n"
|
| 697 |
+
"Built with β€οΈ for the GLAM community | "
|
| 698 |
+
"[Learn more about OCR formats](https://www.loc.gov/standards/alto/) | "
|
| 699 |
+
"Questions? [Open an issue](https://github.com/davanstrien/ocr-playground/issues)\n\n"
|
| 700 |
+
"</center>"
|
| 701 |
+
)
|
| 702 |
+
|
| 703 |
+
if __name__ == "__main__":
|
| 704 |
+
print("Attempting to launch Gradio demo...")
|
| 705 |
+
print(
|
| 706 |
+
"If the Hugging Face model is large, initial startup might take some time due to model download/loading (on first OCR attempt)."
|
| 707 |
+
)
|
| 708 |
+
demo.launch()
|
bukkit.yml
DELETED
|
@@ -1,32 +0,0 @@
|
|
| 1 |
-
settings:
|
| 2 |
-
allow-end: true
|
| 3 |
-
warn-on-overload: true
|
| 4 |
-
permissions-file: permissions.yml
|
| 5 |
-
update-folder: update
|
| 6 |
-
plugin-profiling: false
|
| 7 |
-
connection-throttle: 4000
|
| 8 |
-
query-plugins: true
|
| 9 |
-
deprecated-verbose: default
|
| 10 |
-
shutdown-message: Server closed
|
| 11 |
-
minimum-api: none
|
| 12 |
-
use-map-color-cache: true
|
| 13 |
-
spawn-limits:
|
| 14 |
-
monsters: 50
|
| 15 |
-
animals: 15
|
| 16 |
-
water-animals: 5
|
| 17 |
-
water-ambient: 20
|
| 18 |
-
water-underground-creature: 5
|
| 19 |
-
axolotls: 5
|
| 20 |
-
ambient: 15
|
| 21 |
-
chunk-gc:
|
| 22 |
-
period-in-ticks: 600
|
| 23 |
-
ticks-per:
|
| 24 |
-
animal-spawns: 400
|
| 25 |
-
monster-spawns: 1
|
| 26 |
-
water-spawns: 1
|
| 27 |
-
water-ambient-spawns: 1
|
| 28 |
-
water-underground-creature-spawns: 1
|
| 29 |
-
axolotl-spawns: 1
|
| 30 |
-
ambient-spawns: 1
|
| 31 |
-
autosave: 6000
|
| 32 |
-
aliases: now-in-commands.yml
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
config/paper-global.yml
DELETED
|
@@ -1,129 +0,0 @@
|
|
| 1 |
-
# This is the global configuration file for Paper.
|
| 2 |
-
# As you can see, there's a lot to configure. Some options may impact gameplay, so use
|
| 3 |
-
# with caution, and make sure you know what each option does before configuring.
|
| 4 |
-
#
|
| 5 |
-
# If you need help with the configuration or have any questions related to Paper,
|
| 6 |
-
# join us in our Discord or check the docs page.
|
| 7 |
-
#
|
| 8 |
-
# The world configuration options have been moved inside
|
| 9 |
-
# their respective world folder. The files are named paper-world.yml
|
| 10 |
-
#
|
| 11 |
-
# Docs: https://docs.papermc.io/
|
| 12 |
-
# Discord: https://discord.gg/papermc
|
| 13 |
-
# Website: https://papermc.io/
|
| 14 |
-
|
| 15 |
-
_version: 28
|
| 16 |
-
chunk-loading:
|
| 17 |
-
autoconfig-send-distance: true
|
| 18 |
-
enable-frustum-priority: false
|
| 19 |
-
global-max-chunk-load-rate: -1.0
|
| 20 |
-
global-max-chunk-send-rate: -1.0
|
| 21 |
-
global-max-concurrent-loads: 500.0
|
| 22 |
-
max-concurrent-sends: 2
|
| 23 |
-
min-load-radius: 2
|
| 24 |
-
player-max-chunk-load-rate: -1.0
|
| 25 |
-
player-max-concurrent-loads: 20.0
|
| 26 |
-
target-player-chunk-send-rate: 100.0
|
| 27 |
-
chunk-system:
|
| 28 |
-
gen-parallelism: default
|
| 29 |
-
io-threads: -1
|
| 30 |
-
worker-threads: -1
|
| 31 |
-
collisions:
|
| 32 |
-
enable-player-collisions: true
|
| 33 |
-
send-full-pos-for-hard-colliding-entities: true
|
| 34 |
-
commands:
|
| 35 |
-
fix-target-selector-tag-completion: true
|
| 36 |
-
suggest-player-names-when-null-tab-completions: true
|
| 37 |
-
time-command-affects-all-worlds: false
|
| 38 |
-
console:
|
| 39 |
-
enable-brigadier-completions: true
|
| 40 |
-
enable-brigadier-highlighting: true
|
| 41 |
-
has-all-permissions: false
|
| 42 |
-
item-validation:
|
| 43 |
-
book:
|
| 44 |
-
author: 8192
|
| 45 |
-
page: 16384
|
| 46 |
-
title: 8192
|
| 47 |
-
book-size:
|
| 48 |
-
page-max: 2560
|
| 49 |
-
total-multiplier: 0.98
|
| 50 |
-
display-name: 8192
|
| 51 |
-
lore-line: 8192
|
| 52 |
-
resolve-selectors-in-books: false
|
| 53 |
-
logging:
|
| 54 |
-
deobfuscate-stacktraces: true
|
| 55 |
-
log-player-ip-addresses: true
|
| 56 |
-
use-rgb-for-named-text-colors: true
|
| 57 |
-
messages:
|
| 58 |
-
kick:
|
| 59 |
-
authentication-servers-down: <lang:multiplayer.disconnect.authservers_down>
|
| 60 |
-
connection-throttle: Connection throttled! Please wait before reconnecting.
|
| 61 |
-
flying-player: <lang:multiplayer.disconnect.flying>
|
| 62 |
-
flying-vehicle: <lang:multiplayer.disconnect.flying>
|
| 63 |
-
no-permission: <red>I'm sorry, but you do not have permission to perform this command.
|
| 64 |
-
Please contact the server administrators if you believe that this is in error.
|
| 65 |
-
use-display-name-in-quit-message: false
|
| 66 |
-
misc:
|
| 67 |
-
chat-threads:
|
| 68 |
-
chat-executor-core-size: -1
|
| 69 |
-
chat-executor-max-size: -1
|
| 70 |
-
fix-entity-position-desync: true
|
| 71 |
-
lag-compensate-block-breaking: true
|
| 72 |
-
load-permissions-yml-before-plugins: true
|
| 73 |
-
max-joins-per-tick: 3
|
| 74 |
-
region-file-cache-size: 256
|
| 75 |
-
strict-advancement-dimension-check: false
|
| 76 |
-
use-alternative-luck-formula: false
|
| 77 |
-
use-dimension-type-for-custom-spawners: false
|
| 78 |
-
packet-limiter:
|
| 79 |
-
all-packets:
|
| 80 |
-
action: KICK
|
| 81 |
-
interval: 7.0
|
| 82 |
-
max-packet-rate: 500.0
|
| 83 |
-
kick-message: <red><lang:disconnect.exceeded_packet_rate>
|
| 84 |
-
overrides:
|
| 85 |
-
ServerboundPlaceRecipePacket:
|
| 86 |
-
action: DROP
|
| 87 |
-
interval: 4.0
|
| 88 |
-
max-packet-rate: 5.0
|
| 89 |
-
player-auto-save:
|
| 90 |
-
max-per-tick: -1
|
| 91 |
-
rate: -1
|
| 92 |
-
proxies:
|
| 93 |
-
bungee-cord:
|
| 94 |
-
online-mode: true
|
| 95 |
-
proxy-protocol: false
|
| 96 |
-
velocity:
|
| 97 |
-
enabled: false
|
| 98 |
-
online-mode: false
|
| 99 |
-
secret: ''
|
| 100 |
-
scoreboards:
|
| 101 |
-
save-empty-scoreboard-teams: false
|
| 102 |
-
track-plugin-scoreboards: false
|
| 103 |
-
spam-limiter:
|
| 104 |
-
incoming-packet-threshold: 300
|
| 105 |
-
recipe-spam-increment: 1
|
| 106 |
-
recipe-spam-limit: 20
|
| 107 |
-
tab-spam-increment: 1
|
| 108 |
-
tab-spam-limit: 500
|
| 109 |
-
timings:
|
| 110 |
-
enabled: true
|
| 111 |
-
hidden-config-entries:
|
| 112 |
-
- database
|
| 113 |
-
- proxies.velocity.secret
|
| 114 |
-
history-interval: 300
|
| 115 |
-
history-length: 3600
|
| 116 |
-
really-enabled: false
|
| 117 |
-
server-name: Unknown Server
|
| 118 |
-
server-name-privacy: false
|
| 119 |
-
url: https://timings.aikar.co/
|
| 120 |
-
verbose: true
|
| 121 |
-
unsupported-settings:
|
| 122 |
-
allow-grindstone-overstacking: false
|
| 123 |
-
allow-headless-pistons: false
|
| 124 |
-
allow-permanent-block-break-exploits: false
|
| 125 |
-
allow-piston-duplication: false
|
| 126 |
-
perform-username-validation: true
|
| 127 |
-
watchdog:
|
| 128 |
-
early-warning-delay: 10000
|
| 129 |
-
early-warning-every: 5000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
config/paper-world-defaults.yml
DELETED
|
@@ -1,316 +0,0 @@
|
|
| 1 |
-
# This is the world defaults configuration file for Paper.
|
| 2 |
-
# As you can see, there's a lot to configure. Some options may impact gameplay, so use
|
| 3 |
-
# with caution, and make sure you know what each option does before configuring.
|
| 4 |
-
#
|
| 5 |
-
# If you need help with the configuration or have any questions related to Paper,
|
| 6 |
-
# join us in our Discord or check the docs page.
|
| 7 |
-
#
|
| 8 |
-
# Configuration options here apply to all worlds, unless you specify overrides inside
|
| 9 |
-
# the world-specific config file inside each world folder.
|
| 10 |
-
#
|
| 11 |
-
# Docs: https://docs.papermc.io/
|
| 12 |
-
# Discord: https://discord.gg/papermc
|
| 13 |
-
# Website: https://papermc.io/
|
| 14 |
-
|
| 15 |
-
_version: 29
|
| 16 |
-
anticheat:
|
| 17 |
-
anti-xray:
|
| 18 |
-
enabled: true
|
| 19 |
-
engine-mode: 1
|
| 20 |
-
hidden-blocks:
|
| 21 |
-
- copper_ore
|
| 22 |
-
- deepslate_copper_ore
|
| 23 |
-
- gold_ore
|
| 24 |
-
- deepslate_gold_ore
|
| 25 |
-
- iron_ore
|
| 26 |
-
- deepslate_iron_ore
|
| 27 |
-
- coal_ore
|
| 28 |
-
- deepslate_coal_ore
|
| 29 |
-
- lapis_ore
|
| 30 |
-
- deepslate_lapis_ore
|
| 31 |
-
- mossy_cobblestone
|
| 32 |
-
- obsidian
|
| 33 |
-
- chest
|
| 34 |
-
- diamond_ore
|
| 35 |
-
- deepslate_diamond_ore
|
| 36 |
-
- redstone_ore
|
| 37 |
-
- deepslate_redstone_ore
|
| 38 |
-
- clay
|
| 39 |
-
- emerald_ore
|
| 40 |
-
- deepslate_emerald_ore
|
| 41 |
-
- ender_chest
|
| 42 |
-
lava-obscures: false
|
| 43 |
-
max-block-height: 64
|
| 44 |
-
replacement-blocks:
|
| 45 |
-
- stone
|
| 46 |
-
- oak_planks
|
| 47 |
-
- deepslate
|
| 48 |
-
update-radius: 2
|
| 49 |
-
use-permission: false
|
| 50 |
-
obfuscation:
|
| 51 |
-
items:
|
| 52 |
-
hide-durability: false
|
| 53 |
-
hide-itemmeta: false
|
| 54 |
-
hide-itemmeta-with-visual-effects: false
|
| 55 |
-
chunks:
|
| 56 |
-
auto-save-interval: default
|
| 57 |
-
delay-chunk-unloads-by: 10s
|
| 58 |
-
entity-per-chunk-save-limit:
|
| 59 |
-
area_effect_cloud: 8
|
| 60 |
-
arrow: 16
|
| 61 |
-
dragon_fireball: 3
|
| 62 |
-
egg: 8
|
| 63 |
-
ender_pearl: 8
|
| 64 |
-
experience_bottle: 3
|
| 65 |
-
experience_orb: 16
|
| 66 |
-
eye_of_ender: 8
|
| 67 |
-
fireball: 8
|
| 68 |
-
firework_rocket: 8
|
| 69 |
-
llama_spit: 3
|
| 70 |
-
potion: 8
|
| 71 |
-
shulker_bullet: 8
|
| 72 |
-
small_fireball: 8
|
| 73 |
-
snowball: 8
|
| 74 |
-
spectral_arrow: 16
|
| 75 |
-
trident: 16
|
| 76 |
-
wither_skull: 4
|
| 77 |
-
fixed-chunk-inhabited-time: -1
|
| 78 |
-
max-auto-save-chunks-per-tick: 8
|
| 79 |
-
prevent-moving-into-unloaded-chunks: true
|
| 80 |
-
collisions:
|
| 81 |
-
allow-player-cramming-damage: false
|
| 82 |
-
allow-vehicle-collisions: true
|
| 83 |
-
fix-climbing-bypassing-cramming-rule: true
|
| 84 |
-
max-entity-collisions: 2
|
| 85 |
-
only-players-collide: false
|
| 86 |
-
entities:
|
| 87 |
-
armor-stands:
|
| 88 |
-
do-collision-entity-lookups: false
|
| 89 |
-
tick: false
|
| 90 |
-
behavior:
|
| 91 |
-
baby-zombie-movement-modifier: 0.5
|
| 92 |
-
disable-chest-cat-detection: false
|
| 93 |
-
disable-creeper-lingering-effect: false
|
| 94 |
-
disable-player-crits: false
|
| 95 |
-
door-breaking-difficulty:
|
| 96 |
-
husk:
|
| 97 |
-
- HARD
|
| 98 |
-
vindicator:
|
| 99 |
-
- NORMAL
|
| 100 |
-
- HARD
|
| 101 |
-
zombie:
|
| 102 |
-
- HARD
|
| 103 |
-
zombie_villager:
|
| 104 |
-
- HARD
|
| 105 |
-
zombified_piglin:
|
| 106 |
-
- HARD
|
| 107 |
-
ender-dragons-death-always-places-dragon-egg: false
|
| 108 |
-
experience-merge-max-value: -1
|
| 109 |
-
mobs-can-always-pick-up-loot:
|
| 110 |
-
skeletons: false
|
| 111 |
-
zombies: false
|
| 112 |
-
nerf-pigmen-from-nether-portals: false
|
| 113 |
-
parrots-are-unaffected-by-player-movement: false
|
| 114 |
-
phantoms-do-not-spawn-on-creative-players: true
|
| 115 |
-
phantoms-only-attack-insomniacs: true
|
| 116 |
-
phantoms-spawn-attempt-max-seconds: 119
|
| 117 |
-
phantoms-spawn-attempt-min-seconds: 60
|
| 118 |
-
piglins-guard-chests: true
|
| 119 |
-
pillager-patrols:
|
| 120 |
-
disable: false
|
| 121 |
-
spawn-chance: 0.2
|
| 122 |
-
spawn-delay:
|
| 123 |
-
per-player: false
|
| 124 |
-
ticks: 12000
|
| 125 |
-
start:
|
| 126 |
-
day: 5
|
| 127 |
-
per-player: false
|
| 128 |
-
player-insomnia-start-ticks: 72000
|
| 129 |
-
should-remove-dragon: false
|
| 130 |
-
spawner-nerfed-mobs-should-jump: false
|
| 131 |
-
zombie-villager-infection-chance: -1.0
|
| 132 |
-
zombies-target-turtle-eggs: true
|
| 133 |
-
entities-target-with-follow-range: false
|
| 134 |
-
mob-effects:
|
| 135 |
-
immune-to-wither-effect:
|
| 136 |
-
wither: true
|
| 137 |
-
wither-skeleton: true
|
| 138 |
-
spiders-immune-to-poison-effect: true
|
| 139 |
-
undead-immune-to-certain-effects: true
|
| 140 |
-
spawning:
|
| 141 |
-
all-chunks-are-slime-chunks: false
|
| 142 |
-
alt-item-despawn-rate:
|
| 143 |
-
enabled: true
|
| 144 |
-
items:
|
| 145 |
-
acacia_leaves: 300
|
| 146 |
-
andesite: 300
|
| 147 |
-
bamboo: 300
|
| 148 |
-
birch_leaves: 300
|
| 149 |
-
cactus: 300
|
| 150 |
-
cobblestone: 300
|
| 151 |
-
dark_oak_leaves: 300
|
| 152 |
-
diorite: 300
|
| 153 |
-
dirt: 300
|
| 154 |
-
granite: 300
|
| 155 |
-
grass: 300
|
| 156 |
-
gravel: 300
|
| 157 |
-
jungle_leaves: 300
|
| 158 |
-
kelp: 300
|
| 159 |
-
mangrove_leaves: 300
|
| 160 |
-
melon_slice: 300
|
| 161 |
-
netherrack: 300
|
| 162 |
-
oak_leaves: 300
|
| 163 |
-
pumpkin: 300
|
| 164 |
-
red_sand: 300
|
| 165 |
-
sand: 300
|
| 166 |
-
scaffolding: 600
|
| 167 |
-
spruce_leaves: 300
|
| 168 |
-
sugar_cane: 300
|
| 169 |
-
twisting_vines: 300
|
| 170 |
-
weeping_vines: 300
|
| 171 |
-
count-all-mobs-for-spawning: false
|
| 172 |
-
creative-arrow-despawn-rate: '20'
|
| 173 |
-
despawn-ranges:
|
| 174 |
-
ambient:
|
| 175 |
-
hard: 128
|
| 176 |
-
soft: 32
|
| 177 |
-
axolotls:
|
| 178 |
-
hard: 128
|
| 179 |
-
soft: 32
|
| 180 |
-
creature:
|
| 181 |
-
hard: 128
|
| 182 |
-
soft: 32
|
| 183 |
-
misc:
|
| 184 |
-
hard: 128
|
| 185 |
-
soft: 32
|
| 186 |
-
monster:
|
| 187 |
-
hard: 128
|
| 188 |
-
soft: 32
|
| 189 |
-
underground_water_creature:
|
| 190 |
-
hard: 128
|
| 191 |
-
soft: 32
|
| 192 |
-
water_ambient:
|
| 193 |
-
hard: 64
|
| 194 |
-
soft: 32
|
| 195 |
-
water_creature:
|
| 196 |
-
hard: 128
|
| 197 |
-
soft: 32
|
| 198 |
-
disable-mob-spawner-spawn-egg-transformation: false
|
| 199 |
-
duplicate-uuid:
|
| 200 |
-
mode: SAFE_REGEN
|
| 201 |
-
safe-regen-delete-range: 32
|
| 202 |
-
filter-nbt-data-from-spawn-eggs-and-related: true
|
| 203 |
-
iron-golems-can-spawn-in-air: false
|
| 204 |
-
monster-spawn-max-light-level: -1
|
| 205 |
-
non-player-arrow-despawn-rate: '20'
|
| 206 |
-
per-player-mob-spawns: true
|
| 207 |
-
scan-for-legacy-ender-dragon: true
|
| 208 |
-
skeleton-horse-thunder-spawn-chance: default
|
| 209 |
-
slime-spawn-height:
|
| 210 |
-
slime-chunk:
|
| 211 |
-
maximum: 40.0
|
| 212 |
-
surface-biome:
|
| 213 |
-
maximum: 70.0
|
| 214 |
-
minimum: 50.0
|
| 215 |
-
spawn-limits:
|
| 216 |
-
ambient: -1
|
| 217 |
-
axolotls: -1
|
| 218 |
-
creature: -1
|
| 219 |
-
monster: -1
|
| 220 |
-
underground_water_creature: -1
|
| 221 |
-
water_ambient: -1
|
| 222 |
-
water_creature: -1
|
| 223 |
-
wandering-trader:
|
| 224 |
-
spawn-chance-failure-increment: 25
|
| 225 |
-
spawn-chance-max: 75
|
| 226 |
-
spawn-chance-min: 25
|
| 227 |
-
spawn-day-length: 24000
|
| 228 |
-
spawn-minute-length: 1200
|
| 229 |
-
wateranimal-spawn-height:
|
| 230 |
-
maximum: default
|
| 231 |
-
minimum: default
|
| 232 |
-
environment:
|
| 233 |
-
disable-explosion-knockback: false
|
| 234 |
-
disable-ice-and-snow: false
|
| 235 |
-
disable-teleportation-suffocation-check: false
|
| 236 |
-
disable-thunder: false
|
| 237 |
-
fire-tick-delay: 30
|
| 238 |
-
frosted-ice:
|
| 239 |
-
delay:
|
| 240 |
-
max: 40
|
| 241 |
-
min: 20
|
| 242 |
-
enabled: true
|
| 243 |
-
generate-flat-bedrock: false
|
| 244 |
-
nether-ceiling-void-damage-height: disabled
|
| 245 |
-
optimize-explosions: true
|
| 246 |
-
portal-create-radius: 16
|
| 247 |
-
portal-search-radius: 128
|
| 248 |
-
portal-search-vanilla-dimension-scaling: true
|
| 249 |
-
treasure-maps:
|
| 250 |
-
enabled: true
|
| 251 |
-
find-already-discovered:
|
| 252 |
-
loot-tables: default
|
| 253 |
-
villager-trade: false
|
| 254 |
-
water-over-lava-flow-speed: 5
|
| 255 |
-
feature-seeds:
|
| 256 |
-
generate-random-seeds-for-all: false
|
| 257 |
-
fishing-time-range:
|
| 258 |
-
maximum: 600
|
| 259 |
-
minimum: 100
|
| 260 |
-
fixes:
|
| 261 |
-
disable-unloaded-chunk-enderpearl-exploit: true
|
| 262 |
-
falling-block-height-nerf: disabled
|
| 263 |
-
fix-curing-zombie-villager-discount-exploit: true
|
| 264 |
-
fix-items-merging-through-walls: false
|
| 265 |
-
prevent-tnt-from-moving-in-water: false
|
| 266 |
-
split-overstacked-loot: true
|
| 267 |
-
tnt-entity-height-nerf: disabled
|
| 268 |
-
hopper:
|
| 269 |
-
cooldown-when-full: true
|
| 270 |
-
disable-move-event: false
|
| 271 |
-
ignore-occluding-blocks: false
|
| 272 |
-
lootables:
|
| 273 |
-
auto-replenish: false
|
| 274 |
-
max-refills: -1
|
| 275 |
-
refresh-max: 2d
|
| 276 |
-
refresh-min: 12h
|
| 277 |
-
reset-seed-on-fill: true
|
| 278 |
-
restrict-player-reloot: true
|
| 279 |
-
maps:
|
| 280 |
-
item-frame-cursor-limit: 128
|
| 281 |
-
item-frame-cursor-update-interval: 10
|
| 282 |
-
max-growth-height:
|
| 283 |
-
bamboo:
|
| 284 |
-
max: 16
|
| 285 |
-
min: 11
|
| 286 |
-
cactus: 3
|
| 287 |
-
reeds: 3
|
| 288 |
-
misc:
|
| 289 |
-
disable-end-credits: false
|
| 290 |
-
disable-relative-projectile-velocity: false
|
| 291 |
-
disable-sprint-interruption-on-attack: false
|
| 292 |
-
light-queue-size: 20
|
| 293 |
-
max-leash-distance: 10.0
|
| 294 |
-
redstone-implementation: ALTERNATE_CURRENT
|
| 295 |
-
shield-blocking-delay: 5
|
| 296 |
-
show-sign-click-command-failure-msgs-to-player: false
|
| 297 |
-
update-pathfinding-on-block-update: false
|
| 298 |
-
scoreboards:
|
| 299 |
-
allow-non-player-entities-on-scoreboards: false
|
| 300 |
-
use-vanilla-world-scoreboard-name-coloring: false
|
| 301 |
-
spawn:
|
| 302 |
-
allow-using-signs-inside-spawn-protection: false
|
| 303 |
-
keep-spawn-loaded: true
|
| 304 |
-
keep-spawn-loaded-range: 4
|
| 305 |
-
tick-rates:
|
| 306 |
-
behavior:
|
| 307 |
-
villager:
|
| 308 |
-
validatenearbypoi: -1
|
| 309 |
-
container-update: 1
|
| 310 |
-
grass-spread: 1
|
| 311 |
-
mob-spawner: 2
|
| 312 |
-
sensor:
|
| 313 |
-
villager:
|
| 314 |
-
secondarypoisensor: 40
|
| 315 |
-
unsupported-settings:
|
| 316 |
-
fix-invulnerable-end-crystal-exploit: true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
eula.txt
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/MinecraftEULA).
|
| 2 |
-
#Sun Apr 09 23:50:37 MSK 2023
|
| 3 |
-
eula=true
|
|
|
|
|
|
|
|
|
|
|
|
ngrok
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:2d11a3ff9fb6eb598afeba352379f5941280e33e0f043adb9a1c656528483f37
|
| 3 |
-
size 25112760
|
|
|
|
|
|
|
|
|
|
|
|
ops.json
DELETED
|
@@ -1,2 +0,0 @@
|
|
| 1 |
-
[
|
| 2 |
-
]
|
|
|
|
|
|
|
|
|
plugins/.nothing
DELETED
|
@@ -1 +0,0 @@
|
|
| 1 |
-
.nothing
|
|
|
|
|
|
pufferfish.yml
DELETED
|
@@ -1,34 +0,0 @@
|
|
| 1 |
-
# Pufferfish Configuration
|
| 2 |
-
# Check out Pufferfish Host for maximum performance server hosting: https://pufferfish.host
|
| 3 |
-
# Join our Discord for support: https://discord.gg/reZw4vQV9H
|
| 4 |
-
# Download new builds at https://ci.pufferfish.host/job/Pufferfish
|
| 5 |
-
info:
|
| 6 |
-
version: '1.0'
|
| 7 |
-
enable-suffocation-optimization: true
|
| 8 |
-
inactive-goal-selector-throttle: true
|
| 9 |
-
# Optimizes entity brains when
|
| 10 |
-
# they're far away from the player
|
| 11 |
-
dab:
|
| 12 |
-
enabled: true
|
| 13 |
-
start-distance: 12
|
| 14 |
-
max-tick-freq: 20
|
| 15 |
-
activation-dist-mod: 8
|
| 16 |
-
blacklisted-entities: []
|
| 17 |
-
# These values define a entity's maximum lifespan. If an
|
| 18 |
-
# entity is in this list and it has survived for longer than
|
| 19 |
-
# that number of ticks, then it will be removed. Setting a value to
|
| 20 |
-
# -1 disables this feature.
|
| 21 |
-
entity_timeouts:
|
| 22 |
-
SNOWBALL: -1
|
| 23 |
-
LLAMA_SPIT: -1
|
| 24 |
-
sentry-dsn: ''
|
| 25 |
-
enable-async-mob-spawning: true
|
| 26 |
-
# Optimizes projectile settings
|
| 27 |
-
projectile:
|
| 28 |
-
max-loads-per-tick: 10
|
| 29 |
-
max-loads-per-projectile: 8
|
| 30 |
-
enable-books: true
|
| 31 |
-
# Settings for things that don't belong elsewhere
|
| 32 |
-
misc:
|
| 33 |
-
disable-method-profiler: true
|
| 34 |
-
disable-out-of-order-chat: false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
purpur.jar
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:ca08ed9a9909d07f066bb71e384cece80bb420a2b5b21689d74ca4df52b384e4
|
| 3 |
-
size 55668355
|
|
|
|
|
|
|
|
|
|
|
|
purpur.yml
DELETED
|
@@ -1,1566 +0,0 @@
|
|
| 1 |
-
# This is the main configuration file for Purpur.
|
| 2 |
-
# As you can see, there's tons to configure. Some options may impact gameplay, so use
|
| 3 |
-
# with caution, and make sure you know what each option does before configuring.
|
| 4 |
-
#
|
| 5 |
-
# If you need help with the configuration or have any questions related to Purpur,
|
| 6 |
-
# join us in our Discord guild.
|
| 7 |
-
#
|
| 8 |
-
# Website: https://purpurmc.org
|
| 9 |
-
# Docs: https://purpurmc.org/docs
|
| 10 |
-
|
| 11 |
-
verbose: false
|
| 12 |
-
settings:
|
| 13 |
-
messages:
|
| 14 |
-
cannot-ride-mob: <red>ΠΠΈΠ·Ρ
|
| 15 |
-
afk-broadcast-away: <yellow><italic>%s ΠΠ€Π
|
| 16 |
-
afk-broadcast-back: <yellow><italic>%s Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΠ€Π
|
| 17 |
-
afk-tab-list-prefix: '[AFK] '
|
| 18 |
-
afk-tab-list-suffix: ''
|
| 19 |
-
credits-command-output: <green>%s ΡΠΌΠΎΡΡΠΈΡ ΡΠΈΡΡΡ
|
| 20 |
-
demo-command-output: <green>%s ΡΠΌΠΎΡΡΠΈΡ Π΄Π΅ΠΌΠΎΡΡΠ΅Π½Ρ
|
| 21 |
-
ping-command-output: <green>%s's ping is %sms
|
| 22 |
-
ram-command-output: '<green>ΠΠΏΠ΅ΡΠ°ΡΠΈΠ²Ρ ΡΠ·Π½ΡΡΠΎ: <used>/<xmx> (<percent>)'
|
| 23 |
-
rambar-command-output: <green>Rambar toggled <onoff> for <target>
|
| 24 |
-
tpsbar-command-output: <green>Tpsbar toggled <onoff> for <target>
|
| 25 |
-
dont-run-with-scissors: <red><italic>ΠΠ΅ Π±Π΅Π³Π°ΠΉ Ρ Π½ΠΎΠΆΠ½ΠΈΡΠ°ΠΌΠΈ!!!
|
| 26 |
-
uptime-command-output: <green>ΠΠΏΡΠ°ΠΉΠΌ >> <uptime>
|
| 27 |
-
unverified-username: default
|
| 28 |
-
sleep-skipping-night: default
|
| 29 |
-
sleeping-players-percent: default
|
| 30 |
-
death-message:
|
| 31 |
-
run-with-scissors: <player> Π½Π΅ ΠΏΠΎΡΠ»ΡΡΠ°Π»ΡΡ ΠΈ Π±Π΅Π³Π°Π» Ρ Π½ΠΎΠΆΠ½ΠΈΡΠ°ΠΌΠΈ
|
| 32 |
-
stonecutter: <player> ΡΠ°ΡΠΏΠΈΠ»ΠΈΠ» ΡΠ΅Π±Ρ Π±ΠΎΠ»Π³Π°ΡΠΊΠΎΠΉ
|
| 33 |
-
tps-catchup: true
|
| 34 |
-
server-mod-name: NewWorld
|
| 35 |
-
command:
|
| 36 |
-
rambar:
|
| 37 |
-
title: <gray>ΠΠΠ£<yellow>:</yellow> <used>/<xmx> (<percent>)
|
| 38 |
-
overlay: NOTCHED_20
|
| 39 |
-
progress-color:
|
| 40 |
-
good: GREEN
|
| 41 |
-
medium: YELLOW
|
| 42 |
-
low: RED
|
| 43 |
-
text-color:
|
| 44 |
-
good: <gradient:#55ff55:#00aa00><text></gradient>
|
| 45 |
-
medium: <gradient:#ffff55:#ffaa00><text></gradient>
|
| 46 |
-
low: <gradient:#ff5555:#aa0000><text></gradient>
|
| 47 |
-
tick-interval: 20
|
| 48 |
-
tpsbar:
|
| 49 |
-
title: <gray>TPS<yellow>:</yellow> <tps> MSPT<yellow>:</yellow> <mspt> ΠΠΈΠ½Π³<yellow>:</yellow>
|
| 50 |
-
<ping>ms
|
| 51 |
-
overlay: NOTCHED_20
|
| 52 |
-
fill-mode: MSPT
|
| 53 |
-
progress-color:
|
| 54 |
-
good: GREEN
|
| 55 |
-
medium: YELLOW
|
| 56 |
-
low: RED
|
| 57 |
-
text-color:
|
| 58 |
-
good: <gradient:#55ff55:#00aa00><text></gradient>
|
| 59 |
-
medium: <gradient:#ffff55:#ffaa00><text></gradient>
|
| 60 |
-
low: <gradient:#ff5555:#aa0000><text></gradient>
|
| 61 |
-
tick-interval: 20
|
| 62 |
-
compass:
|
| 63 |
-
title: 'S Β· β Β· β Β· β Β· SW Β· β Β· β Β· β Β· W Β· β Β· β Β· β Β· NW Β· β Β· β Β· β Β· N Β· β Β· β Β· β Β· NE Β· β Β· β Β· β Β· E Β· β Β· β Β· β Β· SE Β· β Β· β Β· β Β· S Β· β Β· β Β· β Β· SW Β· β Β· β Β· β Β· W Β· β Β· β Β· β Β· NW Β· β Β· β Β· β Β· N Β· β Β· β Β· β Β· NE Β· β Β· β Β· β Β· E Β· β Β· β Β· β Β· SE Β· β Β· β Β· β Β· '
|
| 64 |
-
overlay: PROGRESS
|
| 65 |
-
progress-color: BLUE
|
| 66 |
-
percent: 1.0
|
| 67 |
-
tick-interval: 5
|
| 68 |
-
gamemode:
|
| 69 |
-
requires-specific-permission: false
|
| 70 |
-
fill:
|
| 71 |
-
max-area: 32768
|
| 72 |
-
hide-hidden-players-from-entity-selector: false
|
| 73 |
-
uptime:
|
| 74 |
-
format: <days><hours><minutes><seconds>
|
| 75 |
-
day: '%02d day, '
|
| 76 |
-
days: '%02d days, '
|
| 77 |
-
hour: '%02d hour, '
|
| 78 |
-
hours: '%02d hours, '
|
| 79 |
-
minute: '%02d minute, and '
|
| 80 |
-
minutes: '%02d minutes, and '
|
| 81 |
-
second: '%02d second'
|
| 82 |
-
seconds: '%02d seconds'
|
| 83 |
-
broadcasts:
|
| 84 |
-
advancement:
|
| 85 |
-
only-broadcast-to-affected-player: false
|
| 86 |
-
death:
|
| 87 |
-
only-broadcast-to-affected-player: false
|
| 88 |
-
blocks:
|
| 89 |
-
barrel:
|
| 90 |
-
rows: 3
|
| 91 |
-
ender_chest:
|
| 92 |
-
six-rows: false
|
| 93 |
-
use-permissions-for-rows: false
|
| 94 |
-
crying_obsidian:
|
| 95 |
-
valid-for-portal-frame: false
|
| 96 |
-
beehive:
|
| 97 |
-
max-bees-inside: 3
|
| 98 |
-
anvil:
|
| 99 |
-
cumulative-cost: true
|
| 100 |
-
lightning_rod:
|
| 101 |
-
range: 128
|
| 102 |
-
grindstone:
|
| 103 |
-
ignored-enchants:
|
| 104 |
-
- minecraft:binding_curse
|
| 105 |
-
- minecraft:vanishing_curse
|
| 106 |
-
remove-attributes: false
|
| 107 |
-
remove-name-and-lore: false
|
| 108 |
-
cave_vines:
|
| 109 |
-
max-growth-age: 25
|
| 110 |
-
kelp:
|
| 111 |
-
max-growth-age: 25
|
| 112 |
-
twisting_vines:
|
| 113 |
-
max-growth-age: 25
|
| 114 |
-
weeping_vines:
|
| 115 |
-
max-growth-age: 25
|
| 116 |
-
disable-mushroom-updates: false
|
| 117 |
-
disable-note-block-updates: false
|
| 118 |
-
disable-chorus-plant-updates: false
|
| 119 |
-
seed:
|
| 120 |
-
structure:
|
| 121 |
-
buried_treasure: -1
|
| 122 |
-
mineshaft: -1
|
| 123 |
-
lagging-threshold: 19.0
|
| 124 |
-
entity:
|
| 125 |
-
enderman:
|
| 126 |
-
short-height: false
|
| 127 |
-
network:
|
| 128 |
-
upnp-port-forwarding: false
|
| 129 |
-
max-joins-per-second: false
|
| 130 |
-
kick-for-out-of-order-chat: true
|
| 131 |
-
logger:
|
| 132 |
-
suppress-init-legacy-material-errors: false
|
| 133 |
-
suppress-ignored-advancement-warnings: false
|
| 134 |
-
suppress-unrecognized-recipe-errors: false
|
| 135 |
-
suppress-setblock-in-far-chunk-errors: false
|
| 136 |
-
suppress-sent-expired-chat: false
|
| 137 |
-
suppress-library-loader: false
|
| 138 |
-
food-properties: {}
|
| 139 |
-
fix-projectile-looting-transfer: false
|
| 140 |
-
disable-give-dropping: false
|
| 141 |
-
use-alternate-keepalive: true
|
| 142 |
-
blast-resistance-overrides: {}
|
| 143 |
-
block-fall-multipliers:
|
| 144 |
-
minecraft:lime_bed:
|
| 145 |
-
distance: 0.5
|
| 146 |
-
minecraft:yellow_bed:
|
| 147 |
-
distance: 0.5
|
| 148 |
-
minecraft:black_bed:
|
| 149 |
-
distance: 0.5
|
| 150 |
-
minecraft:orange_bed:
|
| 151 |
-
distance: 0.5
|
| 152 |
-
minecraft:green_bed:
|
| 153 |
-
distance: 0.5
|
| 154 |
-
minecraft:blue_bed:
|
| 155 |
-
distance: 0.5
|
| 156 |
-
minecraft:cyan_bed:
|
| 157 |
-
distance: 0.5
|
| 158 |
-
minecraft:gray_bed:
|
| 159 |
-
distance: 0.5
|
| 160 |
-
minecraft:white_bed:
|
| 161 |
-
distance: 0.5
|
| 162 |
-
minecraft:hay_block:
|
| 163 |
-
damage: 0.2
|
| 164 |
-
minecraft:red_bed:
|
| 165 |
-
distance: 0.5
|
| 166 |
-
minecraft:pink_bed:
|
| 167 |
-
distance: 0.5
|
| 168 |
-
minecraft:light_blue_bed:
|
| 169 |
-
distance: 0.5
|
| 170 |
-
minecraft:purple_bed:
|
| 171 |
-
distance: 0.5
|
| 172 |
-
minecraft:magenta_bed:
|
| 173 |
-
distance: 0.5
|
| 174 |
-
minecraft:light_gray_bed:
|
| 175 |
-
distance: 0.5
|
| 176 |
-
minecraft:brown_bed:
|
| 177 |
-
distance: 0.5
|
| 178 |
-
username-valid-characters: ^[a-zA-Z0-9_.]*$
|
| 179 |
-
allow-water-placement-in-the-end: true
|
| 180 |
-
enchantment:
|
| 181 |
-
allow-infinity-and-mending-together: false
|
| 182 |
-
allow-infinity-on-crossbow: false
|
| 183 |
-
allow-looting-on-shears: false
|
| 184 |
-
allow-transparent-blocks-in-enchantment-box: false
|
| 185 |
-
anvil:
|
| 186 |
-
allow-unsafe-enchants: false
|
| 187 |
-
allow-inapplicable-enchants: true
|
| 188 |
-
allow-incompatible-enchants: true
|
| 189 |
-
allow-higher-enchants-levels: true
|
| 190 |
-
allow-unsafe-enchant-command: false
|
| 191 |
-
clamp-levels: true
|
| 192 |
-
config-version: 30
|
| 193 |
-
world-settings:
|
| 194 |
-
default:
|
| 195 |
-
blocks:
|
| 196 |
-
sculk_shrieker:
|
| 197 |
-
can-summon-default: false
|
| 198 |
-
flowering_azalea:
|
| 199 |
-
growth-chance: 0.0
|
| 200 |
-
budding_amethyst:
|
| 201 |
-
silk-touch: false
|
| 202 |
-
respawn_anchor:
|
| 203 |
-
explode: true
|
| 204 |
-
explosion-power: 5.0
|
| 205 |
-
explosion-fire: true
|
| 206 |
-
explosion-effect: DESTROY
|
| 207 |
-
big_dripleaf:
|
| 208 |
-
tilt-delay:
|
| 209 |
-
UNSTABLE: 10
|
| 210 |
-
PARTIAL: 10
|
| 211 |
-
FULL: 100
|
| 212 |
-
stonecutter:
|
| 213 |
-
damage: 0.0
|
| 214 |
-
enchantment-table:
|
| 215 |
-
lapis-persists: false
|
| 216 |
-
conduit:
|
| 217 |
-
effect-distance: 16
|
| 218 |
-
mob-damage:
|
| 219 |
-
distance: 8.0
|
| 220 |
-
damage-amount: 4.0
|
| 221 |
-
valid-ring-blocks:
|
| 222 |
-
- minecraft:prismarine
|
| 223 |
-
- minecraft:prismarine_bricks
|
| 224 |
-
- minecraft:sea_lantern
|
| 225 |
-
- minecraft:dark_prismarine
|
| 226 |
-
cauldron:
|
| 227 |
-
fill-chances:
|
| 228 |
-
rain: 0.05000000074505806
|
| 229 |
-
powder-snow: 0.10000000149011612
|
| 230 |
-
dripstone-water: 0.17578125
|
| 231 |
-
dripstone-lava: 0.05859375
|
| 232 |
-
observer:
|
| 233 |
-
disable-clock: false
|
| 234 |
-
bed:
|
| 235 |
-
explode: true
|
| 236 |
-
explode-on-villager-sleep: false
|
| 237 |
-
explosion-power: 5.0
|
| 238 |
-
explosion-fire: true
|
| 239 |
-
explosion-effect: DESTROY
|
| 240 |
-
azalea:
|
| 241 |
-
growth-chance: 0.0
|
| 242 |
-
beacon:
|
| 243 |
-
effect-range:
|
| 244 |
-
level-1: 20
|
| 245 |
-
level-2: 30
|
| 246 |
-
level-3: 40
|
| 247 |
-
level-4: 50
|
| 248 |
-
anvil:
|
| 249 |
-
allow-colors: false
|
| 250 |
-
use-mini-message: false
|
| 251 |
-
iron-ingots-used-for-repair: 0
|
| 252 |
-
obsidian-used-for-damage: 0
|
| 253 |
-
campfire:
|
| 254 |
-
lit-when-placed: true
|
| 255 |
-
chest:
|
| 256 |
-
open-with-solid-block-on-top: false
|
| 257 |
-
door:
|
| 258 |
-
requires-redstone: []
|
| 259 |
-
composter:
|
| 260 |
-
sneak-to-bulk-process: false
|
| 261 |
-
coral:
|
| 262 |
-
die-outside-water: true
|
| 263 |
-
dispenser:
|
| 264 |
-
apply-cursed-to-armor-slots: true
|
| 265 |
-
place-anvils: false
|
| 266 |
-
cactus:
|
| 267 |
-
breaks-from-solid-neighbors: true
|
| 268 |
-
farmland:
|
| 269 |
-
bypass-mob-griefing: false
|
| 270 |
-
gets-moist-from-below: false
|
| 271 |
-
use-alpha-farmland: false
|
| 272 |
-
disable-trampling: false
|
| 273 |
-
only-players-trample: false
|
| 274 |
-
feather-fall-distance-affects-trampling: false
|
| 275 |
-
trample-height: -1.0
|
| 276 |
-
furnace:
|
| 277 |
-
use-lava-from-underneath: false
|
| 278 |
-
end_portal:
|
| 279 |
-
safe-teleporting: true
|
| 280 |
-
end-crystal:
|
| 281 |
-
baseless:
|
| 282 |
-
explode: true
|
| 283 |
-
explosion-power: 6.0
|
| 284 |
-
explosion-fire: false
|
| 285 |
-
explosion-effect: DESTROY
|
| 286 |
-
base:
|
| 287 |
-
explode: true
|
| 288 |
-
explosion-power: 6.0
|
| 289 |
-
explosion-fire: false
|
| 290 |
-
explosion-effect: DESTROY
|
| 291 |
-
dragon_egg:
|
| 292 |
-
teleport: true
|
| 293 |
-
packed_ice:
|
| 294 |
-
allow-mob-spawns: true
|
| 295 |
-
blue_ice:
|
| 296 |
-
allow-mob-spawns: true
|
| 297 |
-
allow-snow-formation: true
|
| 298 |
-
turtle_egg:
|
| 299 |
-
break-from-exp-orbs: true
|
| 300 |
-
break-from-items: true
|
| 301 |
-
break-from-minecarts: true
|
| 302 |
-
bypass-mob-griefing: false
|
| 303 |
-
random-tick-crack-chance: 500
|
| 304 |
-
feather-fall-distance-affects-trampling: false
|
| 305 |
-
piston:
|
| 306 |
-
block-push-limit: 12
|
| 307 |
-
powder_snow:
|
| 308 |
-
bypass-mob-griefing: false
|
| 309 |
-
powered-rail:
|
| 310 |
-
activation-range: 8
|
| 311 |
-
sign:
|
| 312 |
-
right-click-edit: false
|
| 313 |
-
allow-colors: false
|
| 314 |
-
magma-block:
|
| 315 |
-
damage-when-sneaking: false
|
| 316 |
-
damage-with-frost-walker: false
|
| 317 |
-
sand:
|
| 318 |
-
fix-duping: true
|
| 319 |
-
slab:
|
| 320 |
-
break-individual-slabs-when-sneaking: false
|
| 321 |
-
lava:
|
| 322 |
-
infinite-source: false
|
| 323 |
-
infinite-required-sources: 2
|
| 324 |
-
speed:
|
| 325 |
-
nether: 10
|
| 326 |
-
not-nether: 30
|
| 327 |
-
shulker_box:
|
| 328 |
-
allow-oversized-stacks: false
|
| 329 |
-
spawner:
|
| 330 |
-
deactivate-by-redstone: false
|
| 331 |
-
fix-mc-238526: false
|
| 332 |
-
sponge:
|
| 333 |
-
absorption:
|
| 334 |
-
area: 64
|
| 335 |
-
radius: 6
|
| 336 |
-
absorbs-lava: false
|
| 337 |
-
water:
|
| 338 |
-
infinite-source: true
|
| 339 |
-
infinite-required-sources: 2
|
| 340 |
-
mobs:
|
| 341 |
-
ender_dragon:
|
| 342 |
-
ridable: false
|
| 343 |
-
ridable-in-water: false
|
| 344 |
-
controllable: true
|
| 345 |
-
ridable-max-y: 320.0
|
| 346 |
-
attributes:
|
| 347 |
-
max_health: 200.0
|
| 348 |
-
always-drop-full-exp: false
|
| 349 |
-
bypass-mob-griefing: false
|
| 350 |
-
takes-damage-from-water: false
|
| 351 |
-
can-ride-vehicles: false
|
| 352 |
-
elder_guardian:
|
| 353 |
-
ridable: false
|
| 354 |
-
controllable: true
|
| 355 |
-
attributes:
|
| 356 |
-
max_health: 80.0
|
| 357 |
-
takes-damage-from-water: false
|
| 358 |
-
always-drop-exp: false
|
| 359 |
-
iron_golem:
|
| 360 |
-
ridable: false
|
| 361 |
-
ridable-in-water: false
|
| 362 |
-
controllable: true
|
| 363 |
-
can-swim: false
|
| 364 |
-
attributes:
|
| 365 |
-
max_health: 100.0
|
| 366 |
-
takes-damage-from-water: false
|
| 367 |
-
poppy-calms-anger: false
|
| 368 |
-
healing-calms-anger: false
|
| 369 |
-
always-drop-exp: false
|
| 370 |
-
husk:
|
| 371 |
-
ridable: false
|
| 372 |
-
ridable-in-water: false
|
| 373 |
-
controllable: true
|
| 374 |
-
attributes:
|
| 375 |
-
max_health: 20.0
|
| 376 |
-
spawn_reinforcements: 0.1
|
| 377 |
-
jockey:
|
| 378 |
-
only-babies: true
|
| 379 |
-
chance: 0.05
|
| 380 |
-
try-existing-chickens: true
|
| 381 |
-
takes-damage-from-water: false
|
| 382 |
-
always-drop-exp: false
|
| 383 |
-
hoglin:
|
| 384 |
-
ridable: false
|
| 385 |
-
ridable-in-water: false
|
| 386 |
-
controllable: true
|
| 387 |
-
attributes:
|
| 388 |
-
max_health: 40.0
|
| 389 |
-
breeding-delay-ticks: 6000
|
| 390 |
-
takes-damage-from-water: false
|
| 391 |
-
always-drop-exp: false
|
| 392 |
-
horse:
|
| 393 |
-
ridable-in-water: false
|
| 394 |
-
attributes:
|
| 395 |
-
max_health:
|
| 396 |
-
min: 15.0
|
| 397 |
-
max: 30.0
|
| 398 |
-
jump_strength:
|
| 399 |
-
min: 0.4
|
| 400 |
-
max: 1.0
|
| 401 |
-
movement_speed:
|
| 402 |
-
min: 0.1125
|
| 403 |
-
max: 0.3375
|
| 404 |
-
breeding-delay-ticks: 6000
|
| 405 |
-
takes-damage-from-water: false
|
| 406 |
-
stand-with-rider: true
|
| 407 |
-
stand-when-hurt: true
|
| 408 |
-
always-drop-exp: false
|
| 409 |
-
illusioner:
|
| 410 |
-
ridable: false
|
| 411 |
-
ridable-in-water: false
|
| 412 |
-
controllable: true
|
| 413 |
-
movement-speed: 0.5
|
| 414 |
-
follow-range: 18.0
|
| 415 |
-
attributes:
|
| 416 |
-
max_health: 32.0
|
| 417 |
-
takes-damage-from-water: false
|
| 418 |
-
always-drop-exp: false
|
| 419 |
-
mule:
|
| 420 |
-
ridable-in-water: false
|
| 421 |
-
attributes:
|
| 422 |
-
max_health:
|
| 423 |
-
min: 15.0
|
| 424 |
-
max: 30.0
|
| 425 |
-
jump_strength:
|
| 426 |
-
min: 0.5
|
| 427 |
-
max: 0.5
|
| 428 |
-
movement_speed:
|
| 429 |
-
min: 0.175
|
| 430 |
-
max: 0.175
|
| 431 |
-
breeding-delay-ticks: 6000
|
| 432 |
-
takes-damage-from-water: false
|
| 433 |
-
always-drop-exp: false
|
| 434 |
-
magma_cube:
|
| 435 |
-
ridable: false
|
| 436 |
-
ridable-in-water: false
|
| 437 |
-
controllable: true
|
| 438 |
-
attributes:
|
| 439 |
-
max_health: size * size
|
| 440 |
-
attack_damage: size
|
| 441 |
-
takes-damage-from-water: false
|
| 442 |
-
always-drop-exp: false
|
| 443 |
-
mooshroom:
|
| 444 |
-
ridable: false
|
| 445 |
-
ridable-in-water: false
|
| 446 |
-
controllable: true
|
| 447 |
-
attributes:
|
| 448 |
-
max_health: 10.0
|
| 449 |
-
breeding-delay-ticks: 6000
|
| 450 |
-
takes-damage-from-water: false
|
| 451 |
-
always-drop-exp: false
|
| 452 |
-
llama:
|
| 453 |
-
ridable: false
|
| 454 |
-
ridable-in-water: false
|
| 455 |
-
controllable: true
|
| 456 |
-
attributes:
|
| 457 |
-
max_health:
|
| 458 |
-
min: 15.0
|
| 459 |
-
max: 30.0
|
| 460 |
-
jump_strength:
|
| 461 |
-
min: 0.5
|
| 462 |
-
max: 0.5
|
| 463 |
-
movement_speed:
|
| 464 |
-
min: 0.175
|
| 465 |
-
max: 0.175
|
| 466 |
-
breeding-delay-ticks: 6000
|
| 467 |
-
takes-damage-from-water: false
|
| 468 |
-
join-caravans: true
|
| 469 |
-
always-drop-exp: false
|
| 470 |
-
panda:
|
| 471 |
-
ridable: false
|
| 472 |
-
ridable-in-water: false
|
| 473 |
-
controllable: true
|
| 474 |
-
attributes:
|
| 475 |
-
max_health: 20.0
|
| 476 |
-
breeding-delay-ticks: 6000
|
| 477 |
-
takes-damage-from-water: false
|
| 478 |
-
always-drop-exp: false
|
| 479 |
-
ocelot:
|
| 480 |
-
ridable: false
|
| 481 |
-
ridable-in-water: false
|
| 482 |
-
controllable: true
|
| 483 |
-
attributes:
|
| 484 |
-
max_health: 10.0
|
| 485 |
-
breeding-delay-ticks: 6000
|
| 486 |
-
takes-damage-from-water: false
|
| 487 |
-
always-drop-exp: false
|
| 488 |
-
pig:
|
| 489 |
-
ridable: false
|
| 490 |
-
ridable-in-water: false
|
| 491 |
-
controllable: true
|
| 492 |
-
attributes:
|
| 493 |
-
max_health: 10.0
|
| 494 |
-
give-saddle-back: false
|
| 495 |
-
breeding-delay-ticks: 6000
|
| 496 |
-
takes-damage-from-water: false
|
| 497 |
-
always-drop-exp: false
|
| 498 |
-
phantom:
|
| 499 |
-
ridable: false
|
| 500 |
-
ridable-in-water: false
|
| 501 |
-
controllable: true
|
| 502 |
-
ridable-max-y: 320.0
|
| 503 |
-
flames:
|
| 504 |
-
damage: 1.0
|
| 505 |
-
fire-time: 8
|
| 506 |
-
allow-griefing: false
|
| 507 |
-
attributes:
|
| 508 |
-
max_health: '20.0'
|
| 509 |
-
attack_damage: 6 + size
|
| 510 |
-
attacked-by-crystal-range: 0.0
|
| 511 |
-
attacked-by-crystal-damage: 1.0
|
| 512 |
-
orbit-crystal-radius: 0.0
|
| 513 |
-
spawn:
|
| 514 |
-
min-sky-darkness: 5
|
| 515 |
-
only-above-sea-level: true
|
| 516 |
-
only-with-visible-sky: true
|
| 517 |
-
local-difficulty-chance: 3.0
|
| 518 |
-
per-attempt:
|
| 519 |
-
min: 1
|
| 520 |
-
max: -1
|
| 521 |
-
burn-in-light: 0
|
| 522 |
-
burn-in-daylight: true
|
| 523 |
-
ignore-players-with-torch: false
|
| 524 |
-
flames-on-swoop: false
|
| 525 |
-
takes-damage-from-water: false
|
| 526 |
-
always-drop-exp: false
|
| 527 |
-
size:
|
| 528 |
-
min: 0
|
| 529 |
-
max: 0
|
| 530 |
-
parrot:
|
| 531 |
-
ridable: false
|
| 532 |
-
ridable-in-water: false
|
| 533 |
-
controllable: true
|
| 534 |
-
ridable-max-y: 320.0
|
| 535 |
-
attributes:
|
| 536 |
-
max_health: 6.0
|
| 537 |
-
takes-damage-from-water: false
|
| 538 |
-
can-breed: false
|
| 539 |
-
always-drop-exp: false
|
| 540 |
-
piglin:
|
| 541 |
-
ridable: false
|
| 542 |
-
ridable-in-water: false
|
| 543 |
-
controllable: true
|
| 544 |
-
attributes:
|
| 545 |
-
max_health: 16.0
|
| 546 |
-
bypass-mob-griefing: false
|
| 547 |
-
takes-damage-from-water: false
|
| 548 |
-
portal-spawn-modifier: 2000
|
| 549 |
-
always-drop-exp: false
|
| 550 |
-
rabbit:
|
| 551 |
-
ridable: false
|
| 552 |
-
ridable-in-water: false
|
| 553 |
-
controllable: true
|
| 554 |
-
attributes:
|
| 555 |
-
max_health: 3.0
|
| 556 |
-
spawn-toast-chance: 0.0
|
| 557 |
-
spawn-killer-rabbit-chance: 0.0
|
| 558 |
-
breeding-delay-ticks: 6000
|
| 559 |
-
bypass-mob-griefing: false
|
| 560 |
-
takes-damage-from-water: false
|
| 561 |
-
always-drop-exp: false
|
| 562 |
-
polar_bear:
|
| 563 |
-
ridable: false
|
| 564 |
-
ridable-in-water: false
|
| 565 |
-
controllable: true
|
| 566 |
-
attributes:
|
| 567 |
-
max_health: 30.0
|
| 568 |
-
breedable-item: ''
|
| 569 |
-
breeding-delay-ticks: 6000
|
| 570 |
-
takes-damage-from-water: false
|
| 571 |
-
always-drop-exp: false
|
| 572 |
-
pufferfish:
|
| 573 |
-
ridable: false
|
| 574 |
-
controllable: true
|
| 575 |
-
attributes:
|
| 576 |
-
max_health: 3.0
|
| 577 |
-
takes-damage-from-water: false
|
| 578 |
-
always-drop-exp: false
|
| 579 |
-
pillager:
|
| 580 |
-
ridable: false
|
| 581 |
-
ridable-in-water: false
|
| 582 |
-
controllable: true
|
| 583 |
-
attributes:
|
| 584 |
-
max_health: 24.0
|
| 585 |
-
bypass-mob-griefing: false
|
| 586 |
-
takes-damage-from-water: false
|
| 587 |
-
always-drop-exp: false
|
| 588 |
-
shulker:
|
| 589 |
-
ridable: false
|
| 590 |
-
ridable-in-water: false
|
| 591 |
-
controllable: true
|
| 592 |
-
attributes:
|
| 593 |
-
max_health: 30.0
|
| 594 |
-
takes-damage-from-water: false
|
| 595 |
-
spawn-from-bullet:
|
| 596 |
-
base-chance: 1.0
|
| 597 |
-
require-open-lid: true
|
| 598 |
-
nearby-range: 8.0
|
| 599 |
-
nearby-equation: (nearby - 1) / 5.0
|
| 600 |
-
random-color: false
|
| 601 |
-
change-color-with-dye: false
|
| 602 |
-
always-drop-exp: false
|
| 603 |
-
sheep:
|
| 604 |
-
ridable: false
|
| 605 |
-
ridable-in-water: false
|
| 606 |
-
controllable: true
|
| 607 |
-
attributes:
|
| 608 |
-
max_health: 8.0
|
| 609 |
-
breeding-delay-ticks: 6000
|
| 610 |
-
bypass-mob-griefing: false
|
| 611 |
-
takes-damage-from-water: false
|
| 612 |
-
always-drop-exp: false
|
| 613 |
-
jeb-shear-random-color: false
|
| 614 |
-
silverfish:
|
| 615 |
-
ridable: false
|
| 616 |
-
ridable-in-water: false
|
| 617 |
-
controllable: true
|
| 618 |
-
attributes:
|
| 619 |
-
max_health: 8.0
|
| 620 |
-
bypass-mob-griefing: false
|
| 621 |
-
takes-damage-from-water: false
|
| 622 |
-
always-drop-exp: false
|
| 623 |
-
salmon:
|
| 624 |
-
ridable: false
|
| 625 |
-
controllable: true
|
| 626 |
-
attributes:
|
| 627 |
-
max_health: 3.0
|
| 628 |
-
takes-damage-from-water: false
|
| 629 |
-
always-drop-exp: false
|
| 630 |
-
ravager:
|
| 631 |
-
ridable: false
|
| 632 |
-
ridable-in-water: false
|
| 633 |
-
controllable: true
|
| 634 |
-
attributes:
|
| 635 |
-
max_health: 100.0
|
| 636 |
-
bypass-mob-griefing: false
|
| 637 |
-
takes-damage-from-water: false
|
| 638 |
-
griefable-blocks:
|
| 639 |
-
- minecraft:oak_leaves
|
| 640 |
-
- minecraft:spruce_leaves
|
| 641 |
-
- minecraft:birch_leaves
|
| 642 |
-
- minecraft:jungle_leaves
|
| 643 |
-
- minecraft:acacia_leaves
|
| 644 |
-
- minecraft:dark_oak_leaves
|
| 645 |
-
- minecraft:beetroots
|
| 646 |
-
- minecraft:carrots
|
| 647 |
-
- minecraft:potatoes
|
| 648 |
-
- minecraft:wheat
|
| 649 |
-
always-drop-exp: false
|
| 650 |
-
squid:
|
| 651 |
-
ridable: false
|
| 652 |
-
controllable: true
|
| 653 |
-
attributes:
|
| 654 |
-
max_health: 10.0
|
| 655 |
-
immune-to-EAR: true
|
| 656 |
-
water-offset-check: 0.0
|
| 657 |
-
can-fly: false
|
| 658 |
-
takes-damage-from-water: false
|
| 659 |
-
always-drop-exp: false
|
| 660 |
-
slime:
|
| 661 |
-
ridable: false
|
| 662 |
-
ridable-in-water: false
|
| 663 |
-
controllable: true
|
| 664 |
-
attributes:
|
| 665 |
-
max_health: size * size
|
| 666 |
-
attack_damage: size
|
| 667 |
-
takes-damage-from-water: false
|
| 668 |
-
always-drop-exp: false
|
| 669 |
-
skeleton:
|
| 670 |
-
ridable: false
|
| 671 |
-
ridable-in-water: false
|
| 672 |
-
controllable: true
|
| 673 |
-
attributes:
|
| 674 |
-
max_health: 20.0
|
| 675 |
-
takes-damage-from-water: false
|
| 676 |
-
always-drop-exp: false
|
| 677 |
-
head-visibility-percent: 0.5
|
| 678 |
-
feed-wither-roses: 0
|
| 679 |
-
bow-accuracy: 14 - difficulty * 4
|
| 680 |
-
snow_golem:
|
| 681 |
-
ridable: false
|
| 682 |
-
ridable-in-water: false
|
| 683 |
-
controllable: true
|
| 684 |
-
leave-trail-when-ridden: false
|
| 685 |
-
attributes:
|
| 686 |
-
max_health: 4.0
|
| 687 |
-
drop-pumpkin-when-sheared: true
|
| 688 |
-
pumpkin-can-be-added-back: false
|
| 689 |
-
min-shoot-interval-ticks: 20
|
| 690 |
-
max-shoot-interval-ticks: 20
|
| 691 |
-
snow-ball-modifier: 10.0
|
| 692 |
-
attack-distance: 1.25
|
| 693 |
-
bypass-mob-griefing: false
|
| 694 |
-
takes-damage-from-water: true
|
| 695 |
-
always-drop-exp: false
|
| 696 |
-
turtle:
|
| 697 |
-
ridable: false
|
| 698 |
-
ridable-in-water: false
|
| 699 |
-
controllable: true
|
| 700 |
-
attributes:
|
| 701 |
-
max_health: 30.0
|
| 702 |
-
breeding-delay-ticks: 6000
|
| 703 |
-
takes-damage-from-water: false
|
| 704 |
-
always-drop-exp: false
|
| 705 |
-
stray:
|
| 706 |
-
ridable: false
|
| 707 |
-
ridable-in-water: false
|
| 708 |
-
controllable: true
|
| 709 |
-
attributes:
|
| 710 |
-
max_health: 20.0
|
| 711 |
-
takes-damage-from-water: false
|
| 712 |
-
always-drop-exp: false
|
| 713 |
-
tadpole:
|
| 714 |
-
ridable: false
|
| 715 |
-
ridable-in-water: false
|
| 716 |
-
controllable: true
|
| 717 |
-
strider:
|
| 718 |
-
ridable: false
|
| 719 |
-
ridable-in-water: false
|
| 720 |
-
controllable: true
|
| 721 |
-
attributes:
|
| 722 |
-
max_health: 20.0
|
| 723 |
-
breeding-delay-ticks: 6000
|
| 724 |
-
give-saddle-back: false
|
| 725 |
-
takes-damage-from-water: true
|
| 726 |
-
always-drop-exp: false
|
| 727 |
-
spider:
|
| 728 |
-
ridable: false
|
| 729 |
-
ridable-in-water: false
|
| 730 |
-
controllable: true
|
| 731 |
-
attributes:
|
| 732 |
-
max_health: 16.0
|
| 733 |
-
takes-damage-from-water: false
|
| 734 |
-
always-drop-exp: false
|
| 735 |
-
can-climb-world-border: true
|
| 736 |
-
vindicator:
|
| 737 |
-
ridable: false
|
| 738 |
-
ridable-in-water: false
|
| 739 |
-
controllable: true
|
| 740 |
-
attributes:
|
| 741 |
-
max_health: 24.0
|
| 742 |
-
johnny:
|
| 743 |
-
spawn-chance: 0.0
|
| 744 |
-
takes-damage-from-water: false
|
| 745 |
-
always-drop-exp: false
|
| 746 |
-
vex:
|
| 747 |
-
ridable: false
|
| 748 |
-
ridable-in-water: false
|
| 749 |
-
controllable: true
|
| 750 |
-
ridable-max-y: 320.0
|
| 751 |
-
attributes:
|
| 752 |
-
max_health: 14.0
|
| 753 |
-
takes-damage-from-water: false
|
| 754 |
-
always-drop-exp: false
|
| 755 |
-
villager:
|
| 756 |
-
ridable: false
|
| 757 |
-
ridable-in-water: false
|
| 758 |
-
controllable: true
|
| 759 |
-
attributes:
|
| 760 |
-
max_health: 20.0
|
| 761 |
-
brain-ticks: 1
|
| 762 |
-
use-brain-ticks-only-when-lagging: true
|
| 763 |
-
follow-emerald-blocks: false
|
| 764 |
-
can-be-leashed: false
|
| 765 |
-
can-breed: true
|
| 766 |
-
breeding-delay-ticks: 6000
|
| 767 |
-
clerics-farm-warts: false
|
| 768 |
-
cleric-wart-farmers-throw-warts-at-villagers: true
|
| 769 |
-
bypass-mob-griefing: false
|
| 770 |
-
takes-damage-from-water: false
|
| 771 |
-
allow-trading: true
|
| 772 |
-
always-drop-exp: false
|
| 773 |
-
minimum-demand: 0
|
| 774 |
-
lobotomize:
|
| 775 |
-
enabled: false
|
| 776 |
-
check-interval: 100
|
| 777 |
-
display-trade-item: true
|
| 778 |
-
spawn-iron-golem:
|
| 779 |
-
radius: 0
|
| 780 |
-
limit: 0
|
| 781 |
-
zoglin:
|
| 782 |
-
ridable: false
|
| 783 |
-
ridable-in-water: false
|
| 784 |
-
controllable: true
|
| 785 |
-
attributes:
|
| 786 |
-
max_health: 40.0
|
| 787 |
-
takes-damage-from-water: false
|
| 788 |
-
always-drop-exp: false
|
| 789 |
-
warden:
|
| 790 |
-
ridable: false
|
| 791 |
-
ridable-in-water: false
|
| 792 |
-
controllable: true
|
| 793 |
-
wither:
|
| 794 |
-
ridable: false
|
| 795 |
-
ridable-in-water: false
|
| 796 |
-
controllable: true
|
| 797 |
-
ridable-max-y: 320.0
|
| 798 |
-
attributes:
|
| 799 |
-
max_health: 300.0
|
| 800 |
-
health-regen-amount: 1.0
|
| 801 |
-
health-regen-delay: 20
|
| 802 |
-
bypass-mob-griefing: false
|
| 803 |
-
takes-damage-from-water: false
|
| 804 |
-
can-ride-vehicles: false
|
| 805 |
-
explosion-radius: 1.0
|
| 806 |
-
play-spawn-sound: true
|
| 807 |
-
always-drop-exp: false
|
| 808 |
-
witch:
|
| 809 |
-
ridable: false
|
| 810 |
-
ridable-in-water: false
|
| 811 |
-
controllable: true
|
| 812 |
-
attributes:
|
| 813 |
-
max_health: 26.0
|
| 814 |
-
takes-damage-from-water: false
|
| 815 |
-
always-drop-exp: false
|
| 816 |
-
wolf:
|
| 817 |
-
ridable: false
|
| 818 |
-
ridable-in-water: false
|
| 819 |
-
controllable: true
|
| 820 |
-
attributes:
|
| 821 |
-
max_health: 8.0
|
| 822 |
-
default-collar-color: RED
|
| 823 |
-
milk-cures-rabid-wolves: true
|
| 824 |
-
spawn-rabid-chance: 0.0
|
| 825 |
-
breeding-delay-ticks: 6000
|
| 826 |
-
takes-damage-from-water: false
|
| 827 |
-
always-drop-exp: false
|
| 828 |
-
zombie:
|
| 829 |
-
ridable: false
|
| 830 |
-
ridable-in-water: false
|
| 831 |
-
controllable: true
|
| 832 |
-
attributes:
|
| 833 |
-
max_health: 20.0
|
| 834 |
-
spawn_reinforcements: 0.1
|
| 835 |
-
jockey:
|
| 836 |
-
only-babies: true
|
| 837 |
-
chance: 0.05
|
| 838 |
-
try-existing-chickens: true
|
| 839 |
-
aggressive-towards-villager-when-lagging: true
|
| 840 |
-
bypass-mob-griefing: false
|
| 841 |
-
takes-damage-from-water: false
|
| 842 |
-
always-drop-exp: false
|
| 843 |
-
head-visibility-percent: 0.5
|
| 844 |
-
zombie_villager:
|
| 845 |
-
ridable: false
|
| 846 |
-
ridable-in-water: false
|
| 847 |
-
controllable: true
|
| 848 |
-
attributes:
|
| 849 |
-
max_health: 20.0
|
| 850 |
-
spawn_reinforcements: 0.1
|
| 851 |
-
jockey:
|
| 852 |
-
only-babies: true
|
| 853 |
-
chance: 0.05
|
| 854 |
-
try-existing-chickens: true
|
| 855 |
-
takes-damage-from-water: false
|
| 856 |
-
curing_time:
|
| 857 |
-
min: 3600
|
| 858 |
-
max: 6000
|
| 859 |
-
cure:
|
| 860 |
-
enabled: true
|
| 861 |
-
always-drop-exp: false
|
| 862 |
-
zombie_horse:
|
| 863 |
-
ridable-in-water: false
|
| 864 |
-
can-swim: false
|
| 865 |
-
attributes:
|
| 866 |
-
max_health:
|
| 867 |
-
min: 15.0
|
| 868 |
-
max: 15.0
|
| 869 |
-
jump_strength:
|
| 870 |
-
min: 0.4
|
| 871 |
-
max: 1.0
|
| 872 |
-
movement_speed:
|
| 873 |
-
min: 0.2
|
| 874 |
-
max: 0.2
|
| 875 |
-
spawn-chance: 0.0
|
| 876 |
-
takes-damage-from-water: false
|
| 877 |
-
always-drop-exp: false
|
| 878 |
-
zombified_piglin:
|
| 879 |
-
ridable: false
|
| 880 |
-
ridable-in-water: false
|
| 881 |
-
controllable: true
|
| 882 |
-
attributes:
|
| 883 |
-
max_health: 20.0
|
| 884 |
-
spawn_reinforcements: 0.0
|
| 885 |
-
jockey:
|
| 886 |
-
only-babies: true
|
| 887 |
-
chance: 0.05
|
| 888 |
-
try-existing-chickens: true
|
| 889 |
-
count-as-player-kill-when-angry: true
|
| 890 |
-
takes-damage-from-water: false
|
| 891 |
-
always-drop-exp: false
|
| 892 |
-
piglin_brute:
|
| 893 |
-
ridable: false
|
| 894 |
-
ridable-in-water: false
|
| 895 |
-
controllable: true
|
| 896 |
-
attributes:
|
| 897 |
-
max_health: 50.0
|
| 898 |
-
takes-damage-from-water: false
|
| 899 |
-
always-drop-exp: false
|
| 900 |
-
tropical_fish:
|
| 901 |
-
ridable: false
|
| 902 |
-
controllable: true
|
| 903 |
-
attributes:
|
| 904 |
-
max_health: 3.0
|
| 905 |
-
takes-damage-from-water: false
|
| 906 |
-
always-drop-exp: false
|
| 907 |
-
skeleton_horse:
|
| 908 |
-
ridable-in-water: true
|
| 909 |
-
can-swim: false
|
| 910 |
-
attributes:
|
| 911 |
-
max_health:
|
| 912 |
-
min: 15.0
|
| 913 |
-
max: 15.0
|
| 914 |
-
jump_strength:
|
| 915 |
-
min: 0.4
|
| 916 |
-
max: 1.0
|
| 917 |
-
movement_speed:
|
| 918 |
-
min: 0.2
|
| 919 |
-
max: 0.2
|
| 920 |
-
takes-damage-from-water: false
|
| 921 |
-
always-drop-exp: false
|
| 922 |
-
trader_llama:
|
| 923 |
-
ridable: false
|
| 924 |
-
ridable-in-water: false
|
| 925 |
-
controllable: true
|
| 926 |
-
attributes:
|
| 927 |
-
max_health:
|
| 928 |
-
min: 15.0
|
| 929 |
-
max: 30.0
|
| 930 |
-
jump_strength:
|
| 931 |
-
min: 0.5
|
| 932 |
-
max: 0.5
|
| 933 |
-
movement_speed:
|
| 934 |
-
min: 0.175
|
| 935 |
-
max: 0.175
|
| 936 |
-
breeding-delay-ticks: 6000
|
| 937 |
-
takes-damage-from-water: false
|
| 938 |
-
always-drop-exp: false
|
| 939 |
-
wither_skeleton:
|
| 940 |
-
ridable: false
|
| 941 |
-
ridable-in-water: false
|
| 942 |
-
controllable: true
|
| 943 |
-
attributes:
|
| 944 |
-
max_health: 20.0
|
| 945 |
-
takes-damage-from-water: false
|
| 946 |
-
always-drop-exp: false
|
| 947 |
-
wandering_trader:
|
| 948 |
-
ridable: false
|
| 949 |
-
ridable-in-water: false
|
| 950 |
-
controllable: true
|
| 951 |
-
attributes:
|
| 952 |
-
max_health: 20.0
|
| 953 |
-
follow-emerald-blocks: false
|
| 954 |
-
can-be-leashed: false
|
| 955 |
-
takes-damage-from-water: false
|
| 956 |
-
allow-trading: true
|
| 957 |
-
always-drop-exp: false
|
| 958 |
-
cat:
|
| 959 |
-
ridable: false
|
| 960 |
-
ridable-in-water: false
|
| 961 |
-
controllable: true
|
| 962 |
-
attributes:
|
| 963 |
-
max_health: 10.0
|
| 964 |
-
spawn-delay: 1200
|
| 965 |
-
scan-range-for-other-cats:
|
| 966 |
-
swamp-hut: 16
|
| 967 |
-
village: 48
|
| 968 |
-
breeding-delay-ticks: 6000
|
| 969 |
-
default-collar-color: RED
|
| 970 |
-
takes-damage-from-water: false
|
| 971 |
-
always-drop-exp: false
|
| 972 |
-
blaze:
|
| 973 |
-
ridable: false
|
| 974 |
-
ridable-in-water: false
|
| 975 |
-
controllable: true
|
| 976 |
-
ridable-max-y: 320.0
|
| 977 |
-
attributes:
|
| 978 |
-
max_health: 20.0
|
| 979 |
-
takes-damage-from-water: true
|
| 980 |
-
always-drop-exp: false
|
| 981 |
-
allay:
|
| 982 |
-
ridable: false
|
| 983 |
-
ridable-in-water: false
|
| 984 |
-
controllable: true
|
| 985 |
-
respect-nbt: []
|
| 986 |
-
axolotl:
|
| 987 |
-
ridable: false
|
| 988 |
-
controllable: true
|
| 989 |
-
attributes:
|
| 990 |
-
max_health: 14.0
|
| 991 |
-
breeding-delay-ticks: 6000
|
| 992 |
-
takes-damage-from-water: false
|
| 993 |
-
always-drop-exp: false
|
| 994 |
-
bee:
|
| 995 |
-
ridable: false
|
| 996 |
-
ridable-in-water: false
|
| 997 |
-
controllable: true
|
| 998 |
-
ridable-max-y: 320.0
|
| 999 |
-
attributes:
|
| 1000 |
-
max_health: 10.0
|
| 1001 |
-
breeding-delay-ticks: 6000
|
| 1002 |
-
takes-damage-from-water: false
|
| 1003 |
-
can-work-at-night: false
|
| 1004 |
-
can-work-in-rain: false
|
| 1005 |
-
always-drop-exp: false
|
| 1006 |
-
dies-after-sting: true
|
| 1007 |
-
bat:
|
| 1008 |
-
ridable: false
|
| 1009 |
-
ridable-in-water: false
|
| 1010 |
-
controllable: true
|
| 1011 |
-
ridable-max-y: 320.0
|
| 1012 |
-
attributes:
|
| 1013 |
-
max_health: 6.0
|
| 1014 |
-
takes-damage-from-water: false
|
| 1015 |
-
always-drop-exp: false
|
| 1016 |
-
cod:
|
| 1017 |
-
ridable: false
|
| 1018 |
-
controllable: true
|
| 1019 |
-
attributes:
|
| 1020 |
-
max_health: 3.0
|
| 1021 |
-
takes-damage-from-water: false
|
| 1022 |
-
always-drop-exp: false
|
| 1023 |
-
cow:
|
| 1024 |
-
ridable: false
|
| 1025 |
-
ridable-in-water: false
|
| 1026 |
-
controllable: true
|
| 1027 |
-
attributes:
|
| 1028 |
-
max_health: 10.0
|
| 1029 |
-
feed-mushrooms-for-mooshroom: 0
|
| 1030 |
-
breeding-delay-ticks: 6000
|
| 1031 |
-
takes-damage-from-water: false
|
| 1032 |
-
naturally-aggressive-to-players:
|
| 1033 |
-
chance: 0.0
|
| 1034 |
-
damage: 2.0
|
| 1035 |
-
always-drop-exp: false
|
| 1036 |
-
cave_spider:
|
| 1037 |
-
ridable: false
|
| 1038 |
-
ridable-in-water: false
|
| 1039 |
-
controllable: true
|
| 1040 |
-
attributes:
|
| 1041 |
-
max_health: 12.0
|
| 1042 |
-
takes-damage-from-water: false
|
| 1043 |
-
always-drop-exp: false
|
| 1044 |
-
chicken:
|
| 1045 |
-
ridable: false
|
| 1046 |
-
ridable-in-water: false
|
| 1047 |
-
controllable: true
|
| 1048 |
-
attributes:
|
| 1049 |
-
max_health: 4.0
|
| 1050 |
-
retaliate: false
|
| 1051 |
-
breeding-delay-ticks: 6000
|
| 1052 |
-
takes-damage-from-water: false
|
| 1053 |
-
always-drop-exp: false
|
| 1054 |
-
creeper:
|
| 1055 |
-
ridable: false
|
| 1056 |
-
ridable-in-water: false
|
| 1057 |
-
controllable: true
|
| 1058 |
-
attributes:
|
| 1059 |
-
max_health: 20.0
|
| 1060 |
-
naturally-charged-chance: 0.0
|
| 1061 |
-
allow-griefing: true
|
| 1062 |
-
bypass-mob-griefing: false
|
| 1063 |
-
takes-damage-from-water: false
|
| 1064 |
-
explode-when-killed: false
|
| 1065 |
-
health-impacts-explosion: false
|
| 1066 |
-
always-drop-exp: false
|
| 1067 |
-
head-visibility-percent: 0.5
|
| 1068 |
-
encircle-target: false
|
| 1069 |
-
donkey:
|
| 1070 |
-
ridable-in-water: false
|
| 1071 |
-
attributes:
|
| 1072 |
-
max_health:
|
| 1073 |
-
min: 15.0
|
| 1074 |
-
max: 30.0
|
| 1075 |
-
jump_strength:
|
| 1076 |
-
min: 0.5
|
| 1077 |
-
max: 0.5
|
| 1078 |
-
movement_speed:
|
| 1079 |
-
min: 0.175
|
| 1080 |
-
max: 0.175
|
| 1081 |
-
breeding-delay-ticks: 6000
|
| 1082 |
-
takes-damage-from-water: false
|
| 1083 |
-
always-drop-exp: false
|
| 1084 |
-
drowned:
|
| 1085 |
-
ridable: false
|
| 1086 |
-
ridable-in-water: false
|
| 1087 |
-
controllable: true
|
| 1088 |
-
attributes:
|
| 1089 |
-
max_health: 20.0
|
| 1090 |
-
spawn_reinforcements: 0.1
|
| 1091 |
-
jockey:
|
| 1092 |
-
only-babies: true
|
| 1093 |
-
chance: 0.05
|
| 1094 |
-
try-existing-chickens: true
|
| 1095 |
-
takes-damage-from-water: false
|
| 1096 |
-
can-break-doors: false
|
| 1097 |
-
always-drop-exp: false
|
| 1098 |
-
dolphin:
|
| 1099 |
-
ridable: false
|
| 1100 |
-
controllable: true
|
| 1101 |
-
spit:
|
| 1102 |
-
cooldown: 20
|
| 1103 |
-
speed: 1.0
|
| 1104 |
-
damage: 2.0
|
| 1105 |
-
attributes:
|
| 1106 |
-
max_health: 10.0
|
| 1107 |
-
disable-treasure-searching: true
|
| 1108 |
-
takes-damage-from-water: false
|
| 1109 |
-
naturally-aggressive-to-players-chance: 0.0
|
| 1110 |
-
always-drop-exp: false
|
| 1111 |
-
fox:
|
| 1112 |
-
ridable: false
|
| 1113 |
-
ridable-in-water: false
|
| 1114 |
-
controllable: true
|
| 1115 |
-
attributes:
|
| 1116 |
-
max_health: 10.0
|
| 1117 |
-
tulips-change-type: false
|
| 1118 |
-
breeding-delay-ticks: 6000
|
| 1119 |
-
bypass-mob-griefing: false
|
| 1120 |
-
takes-damage-from-water: false
|
| 1121 |
-
always-drop-exp: false
|
| 1122 |
-
enderman:
|
| 1123 |
-
ridable: false
|
| 1124 |
-
ridable-in-water: false
|
| 1125 |
-
controllable: true
|
| 1126 |
-
attributes:
|
| 1127 |
-
max_health: 40.0
|
| 1128 |
-
allow-griefing: true
|
| 1129 |
-
can-despawn-with-held-block: false
|
| 1130 |
-
bypass-mob-griefing: false
|
| 1131 |
-
takes-damage-from-water: true
|
| 1132 |
-
aggressive-towards-endermites: true
|
| 1133 |
-
aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls: false
|
| 1134 |
-
ignore-players-wearing-dragon-head: false
|
| 1135 |
-
disable-player-stare-aggression: false
|
| 1136 |
-
ignore-projectiles: false
|
| 1137 |
-
always-drop-exp: false
|
| 1138 |
-
evoker:
|
| 1139 |
-
ridable: false
|
| 1140 |
-
ridable-in-water: false
|
| 1141 |
-
controllable: true
|
| 1142 |
-
attributes:
|
| 1143 |
-
max_health: 24.0
|
| 1144 |
-
bypass-mob-griefing: false
|
| 1145 |
-
takes-damage-from-water: false
|
| 1146 |
-
always-drop-exp: false
|
| 1147 |
-
frog:
|
| 1148 |
-
ridable: false
|
| 1149 |
-
ridable-in-water: false
|
| 1150 |
-
controllable: true
|
| 1151 |
-
ridable-jump-height: 0.6499999761581421
|
| 1152 |
-
breeding-delay-ticks: 6000
|
| 1153 |
-
endermite:
|
| 1154 |
-
ridable: false
|
| 1155 |
-
ridable-in-water: false
|
| 1156 |
-
controllable: true
|
| 1157 |
-
attributes:
|
| 1158 |
-
max_health: 8.0
|
| 1159 |
-
takes-damage-from-water: false
|
| 1160 |
-
always-drop-exp: false
|
| 1161 |
-
goat:
|
| 1162 |
-
ridable: false
|
| 1163 |
-
ridable-in-water: false
|
| 1164 |
-
controllable: true
|
| 1165 |
-
attributes:
|
| 1166 |
-
max_health: 10.0
|
| 1167 |
-
breeding-delay-ticks: 6000
|
| 1168 |
-
takes-damage-from-water: false
|
| 1169 |
-
always-drop-exp: false
|
| 1170 |
-
glow_squid:
|
| 1171 |
-
ridable: false
|
| 1172 |
-
controllable: true
|
| 1173 |
-
attributes:
|
| 1174 |
-
max_health: 10.0
|
| 1175 |
-
can-fly: false
|
| 1176 |
-
takes-damage-from-water: false
|
| 1177 |
-
always-drop-exp: false
|
| 1178 |
-
rainglow-mode: rainbow
|
| 1179 |
-
guardian:
|
| 1180 |
-
ridable: false
|
| 1181 |
-
controllable: true
|
| 1182 |
-
attributes:
|
| 1183 |
-
max_health: 30.0
|
| 1184 |
-
takes-damage-from-water: false
|
| 1185 |
-
always-drop-exp: false
|
| 1186 |
-
ghast:
|
| 1187 |
-
ridable: false
|
| 1188 |
-
ridable-in-water: false
|
| 1189 |
-
controllable: true
|
| 1190 |
-
ridable-max-y: 320.0
|
| 1191 |
-
attributes:
|
| 1192 |
-
max_health: 10.0
|
| 1193 |
-
takes-damage-from-water: false
|
| 1194 |
-
always-drop-exp: false
|
| 1195 |
-
giant:
|
| 1196 |
-
ridable: false
|
| 1197 |
-
ridable-in-water: false
|
| 1198 |
-
controllable: true
|
| 1199 |
-
movement-speed: 0.5
|
| 1200 |
-
attack-damage: 50.0
|
| 1201 |
-
attributes:
|
| 1202 |
-
max_health: 100.0
|
| 1203 |
-
step-height: 2.0
|
| 1204 |
-
jump-height: 1.0
|
| 1205 |
-
have-ai: false
|
| 1206 |
-
have-hostile-ai: false
|
| 1207 |
-
takes-damage-from-water: false
|
| 1208 |
-
always-drop-exp: false
|
| 1209 |
-
hunger:
|
| 1210 |
-
starvation-damage: 1.0
|
| 1211 |
-
settings:
|
| 1212 |
-
entity:
|
| 1213 |
-
shared-random: true
|
| 1214 |
-
tools:
|
| 1215 |
-
axe:
|
| 1216 |
-
strippables:
|
| 1217 |
-
minecraft:mangrove_log:
|
| 1218 |
-
into: minecraft:stripped_mangrove_log
|
| 1219 |
-
drops: {}
|
| 1220 |
-
minecraft:birch_log:
|
| 1221 |
-
into: minecraft:stripped_birch_log
|
| 1222 |
-
drops: {}
|
| 1223 |
-
minecraft:warped_hyphae:
|
| 1224 |
-
into: minecraft:stripped_warped_hyphae
|
| 1225 |
-
drops: {}
|
| 1226 |
-
minecraft:acacia_log:
|
| 1227 |
-
into: minecraft:stripped_acacia_log
|
| 1228 |
-
drops: {}
|
| 1229 |
-
minecraft:jungle_wood:
|
| 1230 |
-
into: minecraft:stripped_jungle_wood
|
| 1231 |
-
drops: {}
|
| 1232 |
-
minecraft:dark_oak_log:
|
| 1233 |
-
into: minecraft:stripped_dark_oak_log
|
| 1234 |
-
drops: {}
|
| 1235 |
-
minecraft:jungle_log:
|
| 1236 |
-
into: minecraft:stripped_jungle_log
|
| 1237 |
-
drops: {}
|
| 1238 |
-
minecraft:crimson_stem:
|
| 1239 |
-
into: minecraft:stripped_crimson_stem
|
| 1240 |
-
drops: {}
|
| 1241 |
-
minecraft:acacia_wood:
|
| 1242 |
-
into: minecraft:stripped_acacia_wood
|
| 1243 |
-
drops: {}
|
| 1244 |
-
minecraft:crimson_hyphae:
|
| 1245 |
-
into: minecraft:stripped_crimson_hyphae
|
| 1246 |
-
drops: {}
|
| 1247 |
-
minecraft:oak_wood:
|
| 1248 |
-
into: minecraft:stripped_oak_wood
|
| 1249 |
-
drops: {}
|
| 1250 |
-
minecraft:birch_wood:
|
| 1251 |
-
into: minecraft:stripped_birch_wood
|
| 1252 |
-
drops: {}
|
| 1253 |
-
minecraft:spruce_wood:
|
| 1254 |
-
into: minecraft:stripped_spruce_wood
|
| 1255 |
-
drops: {}
|
| 1256 |
-
minecraft:spruce_log:
|
| 1257 |
-
into: minecraft:stripped_spruce_log
|
| 1258 |
-
drops: {}
|
| 1259 |
-
minecraft:oak_log:
|
| 1260 |
-
into: minecraft:stripped_oak_log
|
| 1261 |
-
drops: {}
|
| 1262 |
-
minecraft:mangrove_wood:
|
| 1263 |
-
into: minecraft:stripped_mangrove_wood
|
| 1264 |
-
drops: {}
|
| 1265 |
-
minecraft:dark_oak_wood:
|
| 1266 |
-
into: minecraft:stripped_dark_oak_wood
|
| 1267 |
-
drops: {}
|
| 1268 |
-
minecraft:warped_stem:
|
| 1269 |
-
into: minecraft:stripped_warped_stem
|
| 1270 |
-
drops: {}
|
| 1271 |
-
waxables:
|
| 1272 |
-
minecraft:waxed_exposed_cut_copper:
|
| 1273 |
-
into: minecraft:exposed_cut_copper
|
| 1274 |
-
drops: {}
|
| 1275 |
-
minecraft:waxed_cut_copper:
|
| 1276 |
-
into: minecraft:cut_copper
|
| 1277 |
-
drops: {}
|
| 1278 |
-
minecraft:waxed_cut_copper_stairs:
|
| 1279 |
-
into: minecraft:cut_copper_stairs
|
| 1280 |
-
drops: {}
|
| 1281 |
-
minecraft:waxed_exposed_copper:
|
| 1282 |
-
into: minecraft:exposed_copper
|
| 1283 |
-
drops: {}
|
| 1284 |
-
minecraft:waxed_weathered_cut_copper_slab:
|
| 1285 |
-
into: minecraft:weathered_cut_copper_slab
|
| 1286 |
-
drops: {}
|
| 1287 |
-
minecraft:waxed_oxidized_cut_copper_slab:
|
| 1288 |
-
into: minecraft:oxidized_cut_copper_slab
|
| 1289 |
-
drops: {}
|
| 1290 |
-
minecraft:waxed_exposed_cut_copper_stairs:
|
| 1291 |
-
into: minecraft:exposed_cut_copper_stairs
|
| 1292 |
-
drops: {}
|
| 1293 |
-
minecraft:waxed_weathered_cut_copper:
|
| 1294 |
-
into: minecraft:weathered_cut_copper
|
| 1295 |
-
drops: {}
|
| 1296 |
-
minecraft:waxed_oxidized_cut_copper:
|
| 1297 |
-
into: minecraft:oxidized_cut_copper
|
| 1298 |
-
drops: {}
|
| 1299 |
-
minecraft:waxed_weathered_copper:
|
| 1300 |
-
into: minecraft:weathered_copper
|
| 1301 |
-
drops: {}
|
| 1302 |
-
minecraft:waxed_oxidized_copper:
|
| 1303 |
-
into: minecraft:oxidized_copper
|
| 1304 |
-
drops: {}
|
| 1305 |
-
minecraft:waxed_copper_block:
|
| 1306 |
-
into: minecraft:copper_block
|
| 1307 |
-
drops: {}
|
| 1308 |
-
minecraft:waxed_cut_copper_slab:
|
| 1309 |
-
into: minecraft:cut_copper_slab
|
| 1310 |
-
drops: {}
|
| 1311 |
-
minecraft:waxed_exposed_cut_copper_slab:
|
| 1312 |
-
into: minecraft:exposed_cut_copper_slab
|
| 1313 |
-
drops: {}
|
| 1314 |
-
minecraft:waxed_weathered_cut_copper_stairs:
|
| 1315 |
-
into: minecraft:weathered_cut_copper_stairs
|
| 1316 |
-
drops: {}
|
| 1317 |
-
minecraft:waxed_oxidized_cut_copper_stairs:
|
| 1318 |
-
into: minecraft:oxidized_cut_copper_stairs
|
| 1319 |
-
drops: {}
|
| 1320 |
-
weatherables:
|
| 1321 |
-
minecraft:weathered_cut_copper_slab:
|
| 1322 |
-
into: minecraft:exposed_cut_copper_slab
|
| 1323 |
-
drops: {}
|
| 1324 |
-
minecraft:oxidized_cut_copper_slab:
|
| 1325 |
-
into: minecraft:weathered_cut_copper_slab
|
| 1326 |
-
drops: {}
|
| 1327 |
-
minecraft:weathered_cut_copper:
|
| 1328 |
-
into: minecraft:exposed_cut_copper
|
| 1329 |
-
drops: {}
|
| 1330 |
-
minecraft:exposed_cut_copper_slab:
|
| 1331 |
-
into: minecraft:cut_copper_slab
|
| 1332 |
-
drops: {}
|
| 1333 |
-
minecraft:oxidized_cut_copper_stairs:
|
| 1334 |
-
into: minecraft:weathered_cut_copper_stairs
|
| 1335 |
-
drops: {}
|
| 1336 |
-
minecraft:oxidized_copper:
|
| 1337 |
-
into: minecraft:weathered_copper
|
| 1338 |
-
drops: {}
|
| 1339 |
-
minecraft:exposed_cut_copper_stairs:
|
| 1340 |
-
into: minecraft:cut_copper_stairs
|
| 1341 |
-
drops: {}
|
| 1342 |
-
minecraft:weathered_copper:
|
| 1343 |
-
into: minecraft:exposed_copper
|
| 1344 |
-
drops: {}
|
| 1345 |
-
minecraft:exposed_cut_copper:
|
| 1346 |
-
into: minecraft:cut_copper
|
| 1347 |
-
drops: {}
|
| 1348 |
-
minecraft:oxidized_cut_copper:
|
| 1349 |
-
into: minecraft:weathered_cut_copper
|
| 1350 |
-
drops: {}
|
| 1351 |
-
minecraft:exposed_copper:
|
| 1352 |
-
into: minecraft:copper_block
|
| 1353 |
-
drops: {}
|
| 1354 |
-
minecraft:weathered_cut_copper_stairs:
|
| 1355 |
-
into: minecraft:exposed_cut_copper_stairs
|
| 1356 |
-
drops: {}
|
| 1357 |
-
hoe:
|
| 1358 |
-
tillables:
|
| 1359 |
-
minecraft:coarse_dirt:
|
| 1360 |
-
into: minecraft:dirt
|
| 1361 |
-
drops: {}
|
| 1362 |
-
condition: air_above
|
| 1363 |
-
minecraft:dirt_path:
|
| 1364 |
-
into: minecraft:farmland
|
| 1365 |
-
drops: {}
|
| 1366 |
-
condition: air_above
|
| 1367 |
-
minecraft:rooted_dirt:
|
| 1368 |
-
into: minecraft:dirt
|
| 1369 |
-
drops:
|
| 1370 |
-
minecraft:hanging_roots: 1.0
|
| 1371 |
-
condition: always
|
| 1372 |
-
minecraft:dirt:
|
| 1373 |
-
into: minecraft:farmland
|
| 1374 |
-
drops: {}
|
| 1375 |
-
condition: air_above
|
| 1376 |
-
minecraft:grass_block:
|
| 1377 |
-
into: minecraft:farmland
|
| 1378 |
-
drops: {}
|
| 1379 |
-
condition: air_above
|
| 1380 |
-
replant-crops: false
|
| 1381 |
-
replant-nether-warts: false
|
| 1382 |
-
ridable-settings:
|
| 1383 |
-
babies-are-ridable: true
|
| 1384 |
-
untamed-tamables-are-ridable: true
|
| 1385 |
-
use-night-vision: false
|
| 1386 |
-
gameplay-mechanics:
|
| 1387 |
-
player:
|
| 1388 |
-
netherite-fire-resistance:
|
| 1389 |
-
duration: 0
|
| 1390 |
-
amplifier: 0
|
| 1391 |
-
ambient: false
|
| 1392 |
-
show-particles: false
|
| 1393 |
-
show-icon: true
|
| 1394 |
-
idle-timeout:
|
| 1395 |
-
kick-if-idle: true
|
| 1396 |
-
tick-nearby-entities: true
|
| 1397 |
-
count-as-sleeping: false
|
| 1398 |
-
update-tab-list: false
|
| 1399 |
-
mobs-target: true
|
| 1400 |
-
spawn-invulnerable-ticks: 60
|
| 1401 |
-
invulnerable-while-accepting-resource-pack: false
|
| 1402 |
-
exp-dropped-on-death:
|
| 1403 |
-
equation: expLevel * 7
|
| 1404 |
-
maximum: 100
|
| 1405 |
-
teleport-if-outside-border: true
|
| 1406 |
-
teleport-on-nether-ceiling-damage: false
|
| 1407 |
-
totem-of-undying-works-in-inventory: false
|
| 1408 |
-
fix-stuck-in-portal: false
|
| 1409 |
-
one-punch-in-creative: false
|
| 1410 |
-
sleep-ignore-nearby-mobs: false
|
| 1411 |
-
can-skip-night: true
|
| 1412 |
-
critical-damage-multiplier: 1.5
|
| 1413 |
-
burp-delay: 10
|
| 1414 |
-
burp-when-full: false
|
| 1415 |
-
armor-click-equip:
|
| 1416 |
-
allow-hot-swapping: false
|
| 1417 |
-
creative-makes-copy: true
|
| 1418 |
-
ridable-in-water: false
|
| 1419 |
-
curse-of-binding:
|
| 1420 |
-
remove-with-weakness: false
|
| 1421 |
-
shift-right-click-repairs-mending-points: 0
|
| 1422 |
-
exp-pickup-delay-ticks: 2
|
| 1423 |
-
allow-void-trading: false
|
| 1424 |
-
use-better-mending: false
|
| 1425 |
-
always-tame-in-creative: false
|
| 1426 |
-
boat:
|
| 1427 |
-
eject-players-on-land: false
|
| 1428 |
-
do-fall-damage: true
|
| 1429 |
-
disable-drops-on-cramming-death: false
|
| 1430 |
-
entities-can-use-portals: false
|
| 1431 |
-
entities-pick-up-loot-bypass-mob-griefing: false
|
| 1432 |
-
fireballs-bypass-mob-griefing: false
|
| 1433 |
-
impose-teleport-restrictions-on-gateways: false
|
| 1434 |
-
milk-cures-bad-omen: true
|
| 1435 |
-
milk-clears-beneficial-effects: true
|
| 1436 |
-
note-block-ignore-above: false
|
| 1437 |
-
persistent-tileentity-display-names-and-lore: false
|
| 1438 |
-
persistent-droppable-entity-display-names: false
|
| 1439 |
-
projectiles-bypass-mob-griefing: false
|
| 1440 |
-
tick-fluids: true
|
| 1441 |
-
entity-blindness-multiplier: 1.0
|
| 1442 |
-
trident-loyalty-void-return-height: 0.0
|
| 1443 |
-
void-damage-height: -64.0
|
| 1444 |
-
void-damage-dealt: 4.0
|
| 1445 |
-
raid-cooldown-seconds: 0
|
| 1446 |
-
animal-breeding-cooldown-seconds: 0
|
| 1447 |
-
mobs-ignore-rails: false
|
| 1448 |
-
rain-stops-after-sleep: true
|
| 1449 |
-
thunder-stops-after-sleep: true
|
| 1450 |
-
mob-last-hurt-by-player-time: 100
|
| 1451 |
-
infinity-bow:
|
| 1452 |
-
works-without-arrows: false
|
| 1453 |
-
normal-arrows: true
|
| 1454 |
-
spectral-arrows: false
|
| 1455 |
-
tipped-arrows: false
|
| 1456 |
-
daylight-cycle-ticks:
|
| 1457 |
-
daytime: 12000
|
| 1458 |
-
nighttime: 12000
|
| 1459 |
-
projectile-offset:
|
| 1460 |
-
bow: 1.0
|
| 1461 |
-
crossbow: 1.0
|
| 1462 |
-
egg: 1.0
|
| 1463 |
-
ender-pearl: 1.0
|
| 1464 |
-
throwable-potion: 1.0
|
| 1465 |
-
trident: 1.0
|
| 1466 |
-
snowball: 1.0
|
| 1467 |
-
halloween:
|
| 1468 |
-
force: false
|
| 1469 |
-
head-chance: 0.25
|
| 1470 |
-
entity-lifespan: 0
|
| 1471 |
-
entity-left-handed-chance: 0.05000000074505806
|
| 1472 |
-
arrow:
|
| 1473 |
-
movement-resets-despawn-counter: true
|
| 1474 |
-
armorstand:
|
| 1475 |
-
step-height: 0.0
|
| 1476 |
-
set-name-visible-when-placing-with-custom-name: false
|
| 1477 |
-
fix-nametags: false
|
| 1478 |
-
can-movement-tick: true
|
| 1479 |
-
can-move-in-water: true
|
| 1480 |
-
can-move-in-water-over-fence: true
|
| 1481 |
-
place-with-arms-visible: false
|
| 1482 |
-
drowning:
|
| 1483 |
-
air-ticks: 300
|
| 1484 |
-
ticks-per-damage: 20
|
| 1485 |
-
damage-from-drowning: 2.0
|
| 1486 |
-
elytra:
|
| 1487 |
-
damage-per-second: 1
|
| 1488 |
-
damage-multiplied-by-speed: 0.0
|
| 1489 |
-
ignore-unbreaking: false
|
| 1490 |
-
damage-per-boost:
|
| 1491 |
-
firework: 0
|
| 1492 |
-
trident: 0
|
| 1493 |
-
kinetic-damage: true
|
| 1494 |
-
item:
|
| 1495 |
-
immune:
|
| 1496 |
-
cactus: []
|
| 1497 |
-
explosion: []
|
| 1498 |
-
fire: []
|
| 1499 |
-
lightning: []
|
| 1500 |
-
shears:
|
| 1501 |
-
damage-if-sprinting: false
|
| 1502 |
-
sprinting-damage: 1.0
|
| 1503 |
-
ender-pearl:
|
| 1504 |
-
damage: 5.0
|
| 1505 |
-
cooldown: 20
|
| 1506 |
-
creative-cooldown: 20
|
| 1507 |
-
endermite-spawn-chance: 0.05000000074505806
|
| 1508 |
-
glow_berries:
|
| 1509 |
-
eat-glow-duration: 0
|
| 1510 |
-
shulker_box:
|
| 1511 |
-
drop-contents-when-destroyed: true
|
| 1512 |
-
compass:
|
| 1513 |
-
holding-shows-bossbar: false
|
| 1514 |
-
snowball:
|
| 1515 |
-
extinguish:
|
| 1516 |
-
fire: false
|
| 1517 |
-
candles: false
|
| 1518 |
-
campfires: false
|
| 1519 |
-
mob-effects:
|
| 1520 |
-
health-regen-amount: 1.0
|
| 1521 |
-
minimal-health-poison-amount: 1.0
|
| 1522 |
-
poison-degeneration-amount: 1.0
|
| 1523 |
-
wither-degeneration-amount: 1.0
|
| 1524 |
-
hunger-exhaustion-amount: 0.004999999888241291
|
| 1525 |
-
saturation-regen-amount: 1.0
|
| 1526 |
-
mob-spawning:
|
| 1527 |
-
village-cats: default
|
| 1528 |
-
raid-patrols: default
|
| 1529 |
-
phantoms: default
|
| 1530 |
-
wandering-traders: default
|
| 1531 |
-
village-sieges: default
|
| 1532 |
-
ignore-creative-players: false
|
| 1533 |
-
projectile-damage:
|
| 1534 |
-
snowball: -1
|
| 1535 |
-
silk-touch:
|
| 1536 |
-
enabled: false
|
| 1537 |
-
spawner-name: <reset><white>Spawner
|
| 1538 |
-
minimal-level: 1
|
| 1539 |
-
spawner-lore:
|
| 1540 |
-
- Spawns a <mob>
|
| 1541 |
-
tools:
|
| 1542 |
-
- minecraft:iron_pickaxe
|
| 1543 |
-
- minecraft:golden_pickaxe
|
| 1544 |
-
- minecraft:diamond_pickaxe
|
| 1545 |
-
- minecraft:netherite_pickaxe
|
| 1546 |
-
shovel-turns-block-to-grass-path:
|
| 1547 |
-
- minecraft:coarse_dirt
|
| 1548 |
-
- minecraft:dirt
|
| 1549 |
-
- minecraft:grass_block
|
| 1550 |
-
- minecraft:mycelium
|
| 1551 |
-
- minecraft:podzol
|
| 1552 |
-
- minecraft:rooted_dirt
|
| 1553 |
-
minecart:
|
| 1554 |
-
max-speed: 0.4
|
| 1555 |
-
place-anywhere: false
|
| 1556 |
-
powered-rail:
|
| 1557 |
-
boost-modifier: 0.06
|
| 1558 |
-
controllable:
|
| 1559 |
-
enabled: false
|
| 1560 |
-
step-height: 1.0
|
| 1561 |
-
hop-boost: 0.5
|
| 1562 |
-
fall-damage: true
|
| 1563 |
-
base-speed: 0.1
|
| 1564 |
-
block-speed:
|
| 1565 |
-
grass_block: 0.3
|
| 1566 |
-
stone: 0.5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
requirements.in
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
--extra-index-url https://download.pytorch.org/whl/cu113
|
| 2 |
+
torch
|
| 3 |
+
gradio
|
| 4 |
+
Pillow
|
| 5 |
+
lxml
|
| 6 |
+
transformers
|
| 7 |
+
spaces
|
| 8 |
+
hf-transfer
|
| 9 |
+
hf-xet
|
requirements.txt
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
--extra-index-url https://download.pytorch.org/whl/cu113
|
| 2 |
+
torch
|
| 3 |
+
gradio
|
| 4 |
+
Pillow
|
| 5 |
+
lxml
|
| 6 |
+
transformers>=4.49.0
|
| 7 |
+
qwen-vl-utils
|
| 8 |
+
spaces
|
| 9 |
+
torchvision
|
| 10 |
+
accelerate
|
| 11 |
+
hf-transfer
|
| 12 |
+
hf-xet
|
server.properties
DELETED
|
@@ -1,59 +0,0 @@
|
|
| 1 |
-
#Minecraft server properties
|
| 2 |
-
#Mon Apr 10 06:12:17 MSK 2023
|
| 3 |
-
allow-flight=false
|
| 4 |
-
allow-nether=true
|
| 5 |
-
broadcast-console-to-ops=true
|
| 6 |
-
broadcast-rcon-to-ops=true
|
| 7 |
-
debug=false
|
| 8 |
-
difficulty=easy
|
| 9 |
-
enable-command-block=false
|
| 10 |
-
enable-jmx-monitoring=false
|
| 11 |
-
enable-query=false
|
| 12 |
-
enable-rcon=false
|
| 13 |
-
enable-status=true
|
| 14 |
-
enforce-secure-profile=true
|
| 15 |
-
enforce-whitelist=false
|
| 16 |
-
entity-broadcast-range-percentage=100
|
| 17 |
-
force-gamemode=false
|
| 18 |
-
function-permission-level=2
|
| 19 |
-
gamemode=survival
|
| 20 |
-
generate-structures=true
|
| 21 |
-
generator-settings={}
|
| 22 |
-
hardcore=false
|
| 23 |
-
hide-online-players=false
|
| 24 |
-
level-name=world
|
| 25 |
-
level-seed=8486672581758651406
|
| 26 |
-
level-type=minecraft\:normal
|
| 27 |
-
max-chained-neighbor-updates=1000000
|
| 28 |
-
max-players=25
|
| 29 |
-
max-tick-time=60000
|
| 30 |
-
max-world-size=29999984
|
| 31 |
-
motd=\u00A76NewWorld\u00A7r\n\u00A7fReseting all data every few days\!
|
| 32 |
-
network-compression-threshold=256
|
| 33 |
-
online-mode=false
|
| 34 |
-
op-permission-level=4
|
| 35 |
-
player-idle-timeout=0
|
| 36 |
-
prevent-proxy-connections=false
|
| 37 |
-
previews-chat=false
|
| 38 |
-
pvp=true
|
| 39 |
-
query.port=7860
|
| 40 |
-
rate-limit=0
|
| 41 |
-
rcon.password=
|
| 42 |
-
rcon.port=25575
|
| 43 |
-
require-resource-pack=false
|
| 44 |
-
resource-pack=
|
| 45 |
-
resource-pack-prompt=
|
| 46 |
-
resource-pack-sha1=
|
| 47 |
-
server-ip=
|
| 48 |
-
server-name=testserver
|
| 49 |
-
server-port=7860
|
| 50 |
-
simulation-distance=5
|
| 51 |
-
spawn-animals=true
|
| 52 |
-
spawn-monsters=true
|
| 53 |
-
spawn-npcs=true
|
| 54 |
-
spawn-protection=0
|
| 55 |
-
sync-chunk-writes=false
|
| 56 |
-
text-filtering-config=
|
| 57 |
-
use-native-transport=true
|
| 58 |
-
view-distance=4
|
| 59 |
-
white-list=false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
spigot.yml
DELETED
|
@@ -1,173 +0,0 @@
|
|
| 1 |
-
# This is the main configuration file for Spigot.
|
| 2 |
-
# As you can see, there's tons to configure. Some options may impact gameplay, so use
|
| 3 |
-
# with caution, and make sure you know what each option does before configuring.
|
| 4 |
-
# For a reference for any variable inside this file, check out the Spigot wiki at
|
| 5 |
-
# http://www.spigotmc.org/wiki/spigot-configuration/
|
| 6 |
-
#
|
| 7 |
-
# If you need help with the configuration or have any questions related to Spigot,
|
| 8 |
-
# join us at the Discord or drop by our forums and leave a post.
|
| 9 |
-
#
|
| 10 |
-
# Discord: https://www.spigotmc.org/go/discord
|
| 11 |
-
# Forums: http://www.spigotmc.org/
|
| 12 |
-
|
| 13 |
-
settings:
|
| 14 |
-
debug: false
|
| 15 |
-
timeout-time: 60
|
| 16 |
-
restart-on-crash: true
|
| 17 |
-
restart-script: ./start.sh
|
| 18 |
-
save-user-cache-on-stop-only: false
|
| 19 |
-
moved-too-quickly-multiplier: 10.0
|
| 20 |
-
moved-wrongly-threshold: 0.0625
|
| 21 |
-
bungeecord: false
|
| 22 |
-
sample-count: 12
|
| 23 |
-
player-shuffle: 0
|
| 24 |
-
user-cache-size: 1000
|
| 25 |
-
log-villager-deaths: true
|
| 26 |
-
log-named-deaths: true
|
| 27 |
-
attribute:
|
| 28 |
-
maxHealth:
|
| 29 |
-
max: 2048.0
|
| 30 |
-
movementSpeed:
|
| 31 |
-
max: 2048.0
|
| 32 |
-
attackDamage:
|
| 33 |
-
max: 2048.0
|
| 34 |
-
netty-threads: 4
|
| 35 |
-
messages:
|
| 36 |
-
whitelist: You are not whitelisted on this server!
|
| 37 |
-
unknown-command: Unknown command. Type "/help" for help.
|
| 38 |
-
server-full: The server is full!
|
| 39 |
-
outdated-client: Outdated client! Please use {0}
|
| 40 |
-
outdated-server: Outdated server! I'm still on {0}
|
| 41 |
-
restart: Server is restarting
|
| 42 |
-
advancements:
|
| 43 |
-
disable-saving: false
|
| 44 |
-
disabled:
|
| 45 |
-
- minecraft:story/disabled
|
| 46 |
-
commands:
|
| 47 |
-
silent-commandblock-console: false
|
| 48 |
-
tab-complete: 0
|
| 49 |
-
send-namespaced: true
|
| 50 |
-
log: true
|
| 51 |
-
replace-commands:
|
| 52 |
-
- setblock
|
| 53 |
-
- summon
|
| 54 |
-
- testforblock
|
| 55 |
-
- tellraw
|
| 56 |
-
spam-exclusions:
|
| 57 |
-
- /skill
|
| 58 |
-
players:
|
| 59 |
-
disable-saving: false
|
| 60 |
-
world-settings:
|
| 61 |
-
default:
|
| 62 |
-
below-zero-generation-in-existing-chunks: true
|
| 63 |
-
merge-radius:
|
| 64 |
-
item: 3.5
|
| 65 |
-
exp: 4.0
|
| 66 |
-
item-despawn-rate: 6000
|
| 67 |
-
mob-spawn-range: 3
|
| 68 |
-
wither-spawn-sound-radius: 0
|
| 69 |
-
hanging-tick-frequency: 100
|
| 70 |
-
enable-zombie-pigmen-portal-spawns: true
|
| 71 |
-
view-distance: default
|
| 72 |
-
simulation-distance: default
|
| 73 |
-
thunder-chance: 100000
|
| 74 |
-
zombie-aggressive-towards-villager: true
|
| 75 |
-
arrow-despawn-rate: 1200
|
| 76 |
-
trident-despawn-rate: 1200
|
| 77 |
-
nerf-spawner-mobs: false
|
| 78 |
-
end-portal-sound-radius: 0
|
| 79 |
-
growth:
|
| 80 |
-
cactus-modifier: 100
|
| 81 |
-
cane-modifier: 100
|
| 82 |
-
melon-modifier: 100
|
| 83 |
-
mushroom-modifier: 100
|
| 84 |
-
pumpkin-modifier: 100
|
| 85 |
-
sapling-modifier: 100
|
| 86 |
-
beetroot-modifier: 100
|
| 87 |
-
carrot-modifier: 100
|
| 88 |
-
potato-modifier: 100
|
| 89 |
-
wheat-modifier: 100
|
| 90 |
-
netherwart-modifier: 100
|
| 91 |
-
vine-modifier: 100
|
| 92 |
-
cocoa-modifier: 100
|
| 93 |
-
bamboo-modifier: 100
|
| 94 |
-
sweetberry-modifier: 100
|
| 95 |
-
kelp-modifier: 100
|
| 96 |
-
twistingvines-modifier: 100
|
| 97 |
-
weepingvines-modifier: 100
|
| 98 |
-
cavevines-modifier: 100
|
| 99 |
-
glowberry-modifier: 100
|
| 100 |
-
entity-tracking-range:
|
| 101 |
-
players: 48
|
| 102 |
-
animals: 48
|
| 103 |
-
monsters: 48
|
| 104 |
-
misc: 32
|
| 105 |
-
other: 64
|
| 106 |
-
ticks-per:
|
| 107 |
-
hopper-transfer: 8
|
| 108 |
-
hopper-check: 1
|
| 109 |
-
hopper-amount: 1
|
| 110 |
-
hopper-can-load-chunks: false
|
| 111 |
-
entity-activation-range:
|
| 112 |
-
animals: 24
|
| 113 |
-
monsters: 24
|
| 114 |
-
raiders: 48
|
| 115 |
-
misc: 16
|
| 116 |
-
water: 16
|
| 117 |
-
villagers: 32
|
| 118 |
-
flying-monsters: 32
|
| 119 |
-
wake-up-inactive:
|
| 120 |
-
animals-max-per-tick: 4
|
| 121 |
-
animals-every: 1200
|
| 122 |
-
animals-for: 100
|
| 123 |
-
monsters-max-per-tick: 8
|
| 124 |
-
monsters-every: 400
|
| 125 |
-
monsters-for: 100
|
| 126 |
-
villagers-max-per-tick: 4
|
| 127 |
-
villagers-every: 600
|
| 128 |
-
villagers-for: 100
|
| 129 |
-
flying-monsters-max-per-tick: 8
|
| 130 |
-
flying-monsters-every: 200
|
| 131 |
-
flying-monsters-for: 100
|
| 132 |
-
villagers-work-immunity-after: 100
|
| 133 |
-
villagers-work-immunity-for: 20
|
| 134 |
-
villagers-active-for-panic: true
|
| 135 |
-
tick-inactive-villagers: true
|
| 136 |
-
ignore-spectators: false
|
| 137 |
-
seed-village: 10387312
|
| 138 |
-
seed-desert: 14357617
|
| 139 |
-
seed-igloo: 14357618
|
| 140 |
-
seed-jungle: 14357619
|
| 141 |
-
seed-swamp: 14357620
|
| 142 |
-
seed-monument: 10387313
|
| 143 |
-
seed-shipwreck: 165745295
|
| 144 |
-
seed-ocean: 14357621
|
| 145 |
-
seed-outpost: 165745296
|
| 146 |
-
seed-endcity: 10387313
|
| 147 |
-
seed-slime: 987234911
|
| 148 |
-
seed-nether: 30084232
|
| 149 |
-
seed-mansion: 10387319
|
| 150 |
-
seed-fossil: 14357921
|
| 151 |
-
seed-portal: 34222645
|
| 152 |
-
seed-ancientcity: 20083232
|
| 153 |
-
seed-buriedtreasure: 10387320
|
| 154 |
-
seed-mineshaft: default
|
| 155 |
-
seed-stronghold: default
|
| 156 |
-
max-tick-time:
|
| 157 |
-
tile: 50
|
| 158 |
-
entity: 50
|
| 159 |
-
hunger:
|
| 160 |
-
jump-walk-exhaustion: 0.05
|
| 161 |
-
jump-sprint-exhaustion: 0.2
|
| 162 |
-
combat-exhaustion: 0.1
|
| 163 |
-
regen-exhaustion: 6.0
|
| 164 |
-
swim-multiplier: 0.01
|
| 165 |
-
sprint-multiplier: 0.1
|
| 166 |
-
other-multiplier: 0.0
|
| 167 |
-
max-tnt-per-tick: 100
|
| 168 |
-
dragon-death-sound-radius: 0
|
| 169 |
-
verbose: false
|
| 170 |
-
config-version: 12
|
| 171 |
-
stats:
|
| 172 |
-
disable-saving: false
|
| 173 |
-
forced-stats: {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
start.sh
DELETED
|
@@ -1,7 +0,0 @@
|
|
| 1 |
-
#!/bin/bash
|
| 2 |
-
export HOME=/root
|
| 3 |
-
export USER=root
|
| 4 |
-
|
| 5 |
-
./ngrok config add-authtoken 31mik7FlKqvnSQ22n3dBopz1tMV_2oHR4gTCgt5U15qmStb49
|
| 6 |
-
./ngrok tcp 7860 > /dev/null &
|
| 7 |
-
java -Xmx14336M -Xms14336M -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=50 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=15 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=20 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Daikars.new.flags=true -Dusing.aikars.flags=https://mcflags.emc.gs -jar purpur.jar --nogui
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|