94 Commits
Author SHA1 Message Date
adman 69e230a79c add 'version' subcommand to display build information 2026-05-02 16:07:31 +02:00
adman 1a5f4f4f8e remove unused address parameter from LoginRaw and fix biome palette length calculation 2026-05-02 15:52:06 +02:00
adman d0844dd6b5 anvil chunk to real chunk conversion things 2026-05-02 01:36:29 +02:00
adman d8e36aa6fa make login server respect online mode settings 2026-05-02 00:21:26 +02:00
adman 6781e4c16d support upsizing storage on import if bpe not available 2026-05-02 00:21:17 +02:00
adman fccba0248a this makes errors that happen during login display 2026-05-01 22:17:51 +02:00
adman 52b3c1ce17 Revert "add export-ignore rules for proto_generator and tools directories in .gitattributes"
This reverts commit 3511cd2699.
2026-05-01 16:49:10 +02:00
adman 3511cd2699 add export-ignore rules for proto_generator and tools directories in .gitattributes 2026-05-01 16:48:26 +02:00
adman 6dddccab7f fix gitattributes 2026-05-01 16:45:58 +02:00
adman 9109d77f98 add export-ignore rules for test files in .gitattributes 2026-05-01 16:44:08 +02:00
adman 9eec1e8370 clone only needed minecraft-data 2026-05-01 16:33:28 +02:00
adman 96481da0a4 refactor: add context propagation to connection and event systems 2026-04-29 23:38:24 +02:00
adman 159437c1ca fix: handle empty kick status message properly in Status protocol state 2026-04-29 18:48:10 +02:00
adman 3d34ad59e9 allow for custom kick status message 2026-04-29 18:31:36 +02:00
adman 4878c6cc7b fix logger not being and other thing maybe 2026-04-28 22:25:36 +02:00
adman 719a3bacd8 Add fuzz testing for Section encoding/decoding with multiple edge cases 2026-04-28 09:31:35 +02:00
adman ce0c58e7c5 refactor shit 2026-04-27 01:50:45 +02:00
adman 8a4e44760e fix: TestRealStorageResizeDirect and TestRealStorageDirectModeNoPalette bugs
- resize() was writing to wrong array (r.data instead of newData) and using
  wrong elementsPerLong during resize loop
- TestRealStorageDirectModeNoPalette had invalid test data (0x1FFFF needs
  bpe>=17 but test used bpe=9)
2026-04-27 01:45:41 +02:00
adman e810a60848 111111 2026-04-27 01:26:56 +02:00
adman 0981339028 1111 2026-04-27 01:03:47 +02:00
adman 7746dd8ee9 real storage 2026-04-27 00:17:56 +02:00
adman 378b78312e storage=????? 2026-04-25 18:00:10 +02:00
adman bd3139754d add import storage and test 2026-04-23 22:36:34 +02:00
adman 841d91b91d storage 2026-04-23 21:30:17 +02:00
adman 895ec53698 parse the world 2026-04-21 22:24:12 +02:00
adman f6001c8b22 mojang cant get their cases straight
i had to implement like 4 cases just  to parse that file
2026-04-21 09:38:14 +02:00
adman d87c362270 anvil testdata 2026-04-21 08:35:40 +02:00
adman 236e414242 anvil start 2026-04-21 08:35:24 +02:00
adman 5222390b65 nbt changes 2026-04-21 08:35:18 +02:00
adman dc04fdc7d0 remove redundant bool arg 2026-04-20 23:38:02 +02:00
adman 8de34dfda1 mapstructure 2026-04-20 23:16:01 +02:00
adman 997594d7c3 fix chunk sections being one 2026-04-20 20:23:25 +02:00
adman c83a777eac mojang is weird i tell them 1 and they turn it into 4 2026-04-20 18:12:25 +02:00
adman 65fea61667 chunk builder 2026-04-19 17:41:13 +02:00
adman c2777f2ca9 chunk serialization fixes and fuzzies 2026-04-19 16:10:09 +02:00
adman dcb42f1970 chunk serialization 2026-04-19 11:04:37 +02:00
adman 7a2081f0a0 support kicker status 2026-04-17 21:51:47 +02:00
adman acc583f694 more logging 2026-04-14 09:20:00 +02:00
adman 76409d07a3 fix smart convert panic 2026-04-12 23:16:36 +02:00
adman bb89730781 fix bug with treshold 0 never compressing instead of always compressing 2026-04-12 23:16:19 +02:00
adman 9f6b1f6bcf more logging for status cli so you can debug address resolution 2026-04-12 23:15:50 +02:00
adman 1b8a9677c6 reduce binary size by not bundling bedrock data 2026-04-12 23:15:16 +02:00
adman 79ab13ca4b server encryption and online mode 2026-04-10 17:28:13 +02:00
adman 3cc414185a implement compression threshold setting 2026-04-10 14:30:35 +02:00
adman fe4a17dce2 Shutdownserver error 2026-04-08 00:31:05 +02:00
adman 891551f9dd simple api cli 2026-04-06 00:34:28 +02:00
adman 8fb48c6ea9 add version flag to status cmd 2026-04-05 23:39:08 +02:00
adman ec25c28061 Remove unused import 2026-04-05 23:38:57 +02:00
adman 45287f47d2 Expose lower register functions
Added RegisterLow and RegisterUntilLow

this gives more power to the user
2026-04-05 16:07:05 +02:00
adman 4cc4b6af5b fix earlies version
It was the latest version i dunno what i was thinking?
2026-04-05 16:05:33 +02:00
adman 09e6760d61 fix timer drifting off and delte old code 2026-04-05 16:04:53 +02:00
adman ca74a3c3d4 more explicit asyncPackets switch 2026-04-04 19:32:46 +02:00
adman fbc3693219 Revert "Send event"
This reverts commit abb0fa4d37.
2026-04-04 15:31:30 +02:00
Admin Else fb69fd93ec my code broke after i changed this last time and this fixed it 2026-04-03 19:01:33 +02:00
Admin Else a3a3c3714e Maybe fix contex done err 2026-04-03 19:00:52 +02:00
Admin Else 9294631c6c fix race condition 2026-04-03 09:05:24 +02:00
Admin Else 293f0b1eed this makes debugging easier trust me 2026-04-03 09:05:10 +02:00
Admin Else 272dcb4d36 warn instead of crash on unexpected packet 2026-04-02 18:49:50 +02:00
Admin Else abb0fa4d37 Send event 2026-04-02 18:49:30 +02:00
Admin Else e5212624af text components prints with tags 2026-04-01 16:43:47 +02:00
Admin Else 35772aca03 Cancle and signal errors shouldnt be voided 2026-03-31 21:57:04 +02:00
Admin Else 819d89b26e Delte schematic server 2026-03-31 17:04:44 +02:00
Admin Else 958102e43c fixes for config in 1.21.11 2026-03-31 16:51:07 +02:00
Admin Else f749d3bfc5 Add support for empty registry serving 2026-03-29 21:16:28 +02:00
Admin Else d207cf52cf 1.21.11 data registry 2026-03-29 21:09:05 +02:00
Admin Else 420ec5611c Fix register(critical)?untilLatest being inverted 2026-03-29 21:08:48 +02:00
Admin Else 4bfaf9b7c5 Remove redundant return 2026-03-29 21:07:23 +02:00
Admin Else 48beb861e8 Add vscode folder to gitignore 2026-03-29 17:50:33 +02:00
Admin Else 9fd2f517d9 Fix SmartConver for slices 2026-03-29 17:34:41 +02:00
Admin Else 1b5af63b75 Fix packet inspector 2026-03-29 17:13:11 +02:00
Admin Else dfb847eb3e Fix registry hunter 2026-03-29 17:11:40 +02:00
Admin Else 322bd77f7f Remove redundant return statement 2026-03-29 14:35:46 +02:00
Admin Else aefe850281 Fix send debug message 2026-03-29 14:21:54 +02:00
Admin Else 57f88f2176 Fix debug message 2026-03-29 14:20:02 +02:00
Admin Else 8dd566c0da Add DebugPrintPackets and fix not translating packet id 2026-03-29 14:15:31 +02:00
Admin Else e386a45d96 Add basic README.md 2026-03-28 18:14:41 +01:00
adman 8f771166a6 better unknown command text 2026-03-27 13:16:16 +01:00
adman 5d6a1a25ea fix packet spy 2026-03-27 13:09:07 +01:00
adman ca33185f20 fix LookupPacketInfoByType for undecoable 2026-03-27 12:59:10 +01:00
adman e921e9e9d2 fix routine thing 2026-03-27 00:03:01 +01:00
adman 7337068d86 more performance 2026-03-26 23:34:30 +01:00
adman 9983062522 fix timer 2026-03-26 22:39:48 +01:00
adman 4fd5324064 new event system (again) 2026-03-26 22:19:03 +01:00
adman df0e5e354b more srv stuff and packet inspetor 2026-03-25 19:00:18 +01:00
adman 23b5a5d9b7 move cmd to more sensible location 2026-03-25 14:53:38 +01:00
adman 46770ed980 Account changes
- now supports custom enviorments/servers
- cleaner code imo
2026-03-25 14:48:42 +01:00
adman 6179c5f6b6 fix proxy 2026-03-24 22:36:14 +01:00
adman f758a10575 performance fix 2026-03-24 21:50:52 +01:00
adman 41d1ab4c45 performance 2026-03-24 17:46:23 +01:00
adman 032fa26927 fix some race conditions 2026-03-22 22:51:29 +01:00
adman f7401a287e minecraft data raw code 2026-03-22 19:49:37 +01:00
adman 2d1e8ef4f6 go get does not support git submodules 2026-03-22 19:48:21 +01:00
adman 2802cc36ce litematic format 2026-03-22 19:45:05 +01:00
adman ea024fe808 look at the code if you want to know what i did 2026-03-22 00:35:07 +01:00
925 changed files with 5304403 additions and 825 deletions
+2
View File
@@ -0,0 +1,2 @@
**/*_test.go export-ignore
**/testdata export-ignore
+1
View File
@@ -2,3 +2,4 @@
.idea/
.failed_packets/
tools/.*/
.vscode/
-3
View File
@@ -1,3 +0,0 @@
[submodule "data/minecraft-data"]
path = data/minecraft-data
url = git@github.com:PrismarineJS/minecraft-data.git
+5
View File
@@ -0,0 +1,5 @@
# STROM
# THIS IS WORK IN PROGRESS AND THE API WILL BREAK AS LONG AS THE THE PACKAGE VERSION IS v0.x.x
feel free to contact me on [discord](https://discord.gg/n2Vjc2vcMf)
+64 -37
View File
@@ -9,32 +9,40 @@ import (
"strings"
"time"
"github.com/admin-else/strom/crypto"
"github.com/google/uuid"
)
type Servers struct {
ServicesHost string
SessionHost string
ProfilesHost string
}
var DefaultServers = &Servers{
ServicesHost: "https://api.minecraftservices.com",
SessionHost: "https://sessionserver.mojang.com",
ProfilesHost: "https://api.mojang.com",
}
type Account struct {
*Servers
Name string
Uuid uuid.UUID
Ygg string
}
const (
BaseUrlApi = "https://api.minecraftservices.com"
)
func (a *Account) doMcApiRequest(method string, url string, from any, to any) (err error) {
var b []byte
if method != "GET" {
b, err = json.Marshal(from)
if err != nil {
return err
return
}
}
r, err := http.NewRequest(method, url, bytes.NewReader(b))
if err != nil {
return err
return
}
r.Header.Set("Content-Type", "application/json")
@@ -44,21 +52,22 @@ func (a *Account) doMcApiRequest(method string, url string, from any, to any) (e
resp, err := http.DefaultClient.Do(r)
if err != nil {
return err
return
}
defer resp.Body.Close()
if !(resp.StatusCode >= 200 && resp.StatusCode <= 299) {
return fmt.Errorf("bad status code %v", resp.StatusCode)
}
b, err = io.ReadAll(resp.Body)
if err != nil {
return err
return
}
err = json.Unmarshal(b, to)
if err != nil {
return err
return
}
return nil
return
}
type PlayerKeys struct {
@@ -73,7 +82,7 @@ type PlayerKeys struct {
}
func (a *Account) FetchKeys() (keys PlayerKeys, err error) {
err = a.doMcApiRequest("POST", BaseUrlApi+"/player/certificates", nil, &keys)
err = a.doMcApiRequest("POST", a.ServicesHost+"/player/certificates", nil, &keys)
return
}
@@ -90,10 +99,12 @@ func (a *Account) JoinServer(serverId string) (err error) {
if err != nil {
return
}
resp, err := http.Post("https://sessionserver.mojang.com/session/minecraft/join", "application/json", bytes.NewReader(body))
resp, err := http.Post(a.SessionHost+"/session/minecraft/join", "application/json", bytes.NewReader(body))
if err != nil {
return
}
defer resp.Body.Close()
if resp.StatusCode != 204 {
body, err = io.ReadAll(resp.Body)
if err != nil {
@@ -112,17 +123,10 @@ type NameChangResp struct {
}
func (a *Account) NameChangeInfo() (r NameChangResp, err error) {
err = a.doMcApiRequest("GET", "https://api.minecraftservices.com/minecraft/profile/namechange", nil, &r)
err = a.doMcApiRequest("GET", a.ServicesHost+"/minecraft/profile/namechange", nil, &r)
return
}
func NewOfflineAccount(name string) *Account {
return &Account{
Name: name,
Uuid: crypto.FromOfflinePlayer(name),
}
}
// PlayerProfile represents the player's profile information
type PlayerProfile struct {
ID string `json:"id"`
@@ -143,7 +147,7 @@ type PlayerProfile struct {
// QueryProfile queries the player's profile
func (a *Account) QueryProfile() (profile PlayerProfile, err error) {
err = a.doMcApiRequest("GET", BaseUrlApi+"/minecraft/profile", nil, &profile)
err = a.doMcApiRequest("GET", a.ServicesHost+"/minecraft/profile", nil, &profile)
return
}
@@ -181,7 +185,7 @@ type PlayerAttributes struct {
// QueryAttributes queries the player's attributes
func (a *Account) QueryAttributes() (attrs PlayerAttributes, err error) {
err = a.doMcApiRequest("GET", BaseUrlApi+"/player/attributes", nil, &attrs)
err = a.doMcApiRequest("GET", a.ServicesHost+"/player/attributes", nil, &attrs)
return
}
@@ -194,7 +198,7 @@ type ModifyAttributesRequest struct {
// ModifyAttributes modifies the player's attributes
func (a *Account) ModifyAttributes(req ModifyAttributesRequest) (attrs PlayerAttributes, err error) {
err = a.doMcApiRequest("POST", BaseUrlApi+"/player/attributes", req, &attrs)
err = a.doMcApiRequest("POST", a.ServicesHost+"/player/attributes", req, &attrs)
return
}
@@ -205,24 +209,23 @@ type BlockedUsers struct {
// GetBlocklist gets the list of blocked users
func (a *Account) GetBlocklist() (blocklist BlockedUsers, err error) {
err = a.doMcApiRequest("GET", BaseUrlApi+"/privacy/blocklist", nil, &blocklist)
err = a.doMcApiRequest("GET", a.ServicesHost+"/privacy/blocklist", nil, &blocklist)
return
}
// CheckNameAvailability checks if a name is available
type NameAvailability struct {
Status string `json:"status"` // DUPLICATE, AVAILABLE, NOT_ALLOWED
}
// CheckNameAvailability checks if a name is available
func (a *Account) CheckNameAvailability(name string) (avail NameAvailability, err error) {
err = a.doMcApiRequest("GET", BaseUrlApi+"/minecraft/profile/name/"+name+"/available", nil, &avail)
err = a.doMcApiRequest("GET", a.ServicesHost+"/minecraft/profile/name/"+name+"/available", nil, &avail)
return
}
// ChangeName changes the player's name
func (a *Account) ChangeName(newName string) (profile PlayerProfile, err error) {
err = a.doMcApiRequest("PUT", BaseUrlApi+"/minecraft/profile/name/"+newName, nil, &profile)
err = a.doMcApiRequest("PUT", a.ServicesHost+"/minecraft/profile/name/"+newName, nil, &profile)
return
}
@@ -234,19 +237,19 @@ type ChangeSkinRequest struct {
// ChangeSkin changes the player's skin
func (a *Account) ChangeSkin(req ChangeSkinRequest) (profile PlayerProfile, err error) {
err = a.doMcApiRequest("POST", BaseUrlApi+"/minecraft/profile/skins", req, &profile)
err = a.doMcApiRequest("POST", a.ServicesHost+"/minecraft/profile/skins", req, &profile)
return
}
// ResetSkin resets the player's skin to default
func (a *Account) ResetSkin() (profile PlayerProfile, err error) {
err = a.doMcApiRequest("DELETE", BaseUrlApi+"/minecraft/profile/skins/active", nil, &profile)
err = a.doMcApiRequest("DELETE", a.ServicesHost+"/minecraft/profile/skins/active", nil, &profile)
return
}
// HideCape hides the player's active cape
func (a *Account) HideCape() (profile PlayerProfile, err error) {
err = a.doMcApiRequest("DELETE", BaseUrlApi+"/minecraft/profile/capes/active", nil, &profile)
err = a.doMcApiRequest("DELETE", a.ServicesHost+"/minecraft/profile/capes/active", nil, &profile)
return
}
@@ -258,29 +261,53 @@ type ShowCapeRequest struct {
// ShowCape shows a specific cape
func (a *Account) ShowCape(capeID string) (profile PlayerProfile, err error) {
req := ShowCapeRequest{CapeID: capeID}
err = a.doMcApiRequest("PUT", BaseUrlApi+"/minecraft/profile/capes/active", req, &profile)
err = a.doMcApiRequest("PUT", a.ServicesHost+"/minecraft/profile/capes/active", req, &profile)
return
}
// CheckGiftCodeValidity checks if a gift code is valid
func (a *Account) CheckGiftCodeValidity(giftCode string) (valid bool, err error) {
url := BaseUrlApi + "/productvoucher/giftcode"
url := a.ServicesHost + "/productvoucher/" + giftCode
r, err := http.NewRequest("GET", url, nil)
if err != nil {
return false, err
return
}
r.Header.Set("Authorization", "Bearer "+a.Ygg)
resp, err := http.DefaultClient.Do(r)
if err != nil {
return false, err
return
}
defer resp.Body.Close()
// Returns HTTP 200 or 204 if valid, 404 if invalid
if resp.StatusCode == 200 || resp.StatusCode == 204 {
return true, nil
valid = true
return
}
return
}
func NewAccountFromYGG(ygg string) (a *Account, err error) {
a = &Account{
Ygg: ygg,
Servers: DefaultServers,
}
p, err := a.QueryProfile()
if err != nil {
return
}
a.Name = p.Name
a.Uuid, err = uuid.Parse(strings.ReplaceAll(p.ID, "-", ""))
return
}
func NewAccount(name string, uuid uuid.UUID, ygg string) (a *Account) {
return &Account{
Name: name,
Uuid: uuid,
Ygg: ygg,
Servers: DefaultServers,
}
return false, nil
}
+10
View File
@@ -0,0 +1,10 @@
package api
import "github.com/admin-else/strom/crypto"
func NewOfflineAccount(name string) *Account {
return &Account{
Name: name,
Uuid: crypto.FromOfflinePlayer(name),
}
}
+130
View File
@@ -0,0 +1,130 @@
package api
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"strings"
)
func BlockedServers() (s []string, err error) {
resp, err := http.Get("https://sessionserver.mojang.com/blockedservers")
if err != nil {
return
}
defer resp.Body.Close()
d, err := io.ReadAll(resp.Body)
if err != nil {
return
}
s = strings.Split(string(d), "\n")
return
}
type ProfileProperty struct {
Name string `json:"name"`
Signature string `json:"signature,omitempty"`
Value string `json:"value"`
}
type ProfileResp struct {
Id string `json:"id"`
Name string `json:"name"`
Legacy bool `json:"legacy"`
Properties []ProfileProperty `json:"properties"`
}
func HasJoined(name, server, ip string) (p ProfileResp, err error) {
url := "https://sessionserver.mojang.com/session/minecraft/hasJoined?username=" + name + "&serverId=" + server
if ip != "" {
url += "&ip=" + ip
}
resp, err := http.Get(url)
if err != nil {
return
}
defer resp.Body.Close()
if resp.StatusCode != 200 {
err = fmt.Errorf("bad status code %v", resp.StatusCode)
return
}
err = json.NewDecoder(resp.Body).Decode(&p)
return
}
type MojangPublicKeysResp struct {
ProfilePropertyKeys []string `json:"profilePropertyKeys"`
PlayerCertificateKeys []string `json:"playerCertificateKeys"`
// AuthenticationKeys are undocumented by wiki.vg but they exist as of the time of writing so ill include them
AuthenticationKeys []string `json:"authenticationKeys"`
}
func MojangPublicKeys() (keys MojangPublicKeysResp, err error) {
resp, err := http.Get("https://sessionserver.mojang.com/session/minecraft/profile/public_key_by_token")
if err != nil {
return
}
defer resp.Body.Close()
err = json.NewDecoder(resp.Body).Decode(&keys)
return
}
func Profile(id string, unsinged bool) (p ProfileResp, err error) {
url := "https://sessionserver.mojang.com/session/minecraft/profile/" + id
if !unsinged {
url += "?unsigned=false"
}
resp, err := http.Get(url)
if err != nil {
return
}
defer resp.Body.Close()
err = json.NewDecoder(resp.Body).Decode(&p)
return
}
type IdName struct {
Id string `json:"id"`
Name string `json:"name"`
}
func NameToId(name string) (idName IdName, err error) {
// may also use these:
//https://api.mojang.com/users/profiles/minecraft/<player name>
//https://api.minecraftservices.com/minecraft/profile/lookup/name/<player name>
//https://api.mojang.com/minecraft/profile/lookup/name/<player name>
resp, err := http.Get("https://api.minecraftservices.com/minecraft/profile/lookup/name/" + name)
if err != nil {
return
}
defer resp.Body.Close()
err = json.NewDecoder(resp.Body).Decode(&idName)
return
}
func NameToIdBulk(names []string) (idNames []IdName, err error) {
b := bytes.NewBuffer(nil)
err = json.NewEncoder(b).Encode(names)
if err != nil {
return
}
// may also use these:
//https://api.mojang.com/profiles/minecraft
//https://api.minecraftservices.com/minecraft/profile/lookup/bulk/byname
//https://api.mojang.com/minecraft/profile/lookup/bulk/byname
r, err := http.NewRequest("POST", "https://api.minecraftservices.com/minecraft/profile/lookup/bulk/byname", b)
if err != nil {
return
}
r.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(r)
if err != nil {
return
}
defer resp.Body.Close()
err = json.NewDecoder(resp.Body).Decode(&idNames)
return
}
+8 -5
View File
@@ -1,6 +1,7 @@
package client
import (
"context"
"net"
"github.com/admin-else/strom/proto"
@@ -22,15 +23,17 @@ func Connect(addr string) (ret *proto.Conn, err error) {
return
}
func ConnectVersionLess(addr string) (ret *proto.Conn, err error) {
return ConnectVersionLessCtx(context.Background(), addr)
}
// ConnectVersionLess connects to the given address without setting the version you should set it
// when using this function.
// You must close the connection when you're done with it
func ConnectVersionLess(addr string) (ret *proto.Conn, err error) {
ret = &proto.Conn{}
ret.SetState(proto_base.Handshaking)
ret.SetCompressionThreshold(-1)
func ConnectVersionLessCtx(ctx context.Context, addr string) (ret *proto.Conn, err error) {
ret = proto.NewConnCtx(ctx)
ret.Actor = proto_base.Client
ret.Conn, err = net.Dial("tcp", addr)
ret.Conn, err = (&net.Dialer{}).DialContext(ctx, "tcp", addr)
if err != nil {
return
}
+3 -4
View File
@@ -3,7 +3,6 @@ package client
import (
"errors"
"fmt"
"log/slog"
"github.com/admin-else/strom/event"
"github.com/admin-else/strom/proto"
@@ -19,8 +18,8 @@ func (c *ConfigIgnorer) OnStart() (err error) {
return
}
func (c *ConfigIgnorer) Default(event event.Anything) (err error) {
slog.Debug("Config ignorer", "packet", fmt.Sprintf("%#v", event))
func (c *ConfigIgnorer) Default(e event.Anything) (err error) {
c.Log.Debug("Config ignorer", "packet", fmt.Sprintf("%#v", e))
return
}
@@ -56,7 +55,7 @@ func IgnoreConfig(c *proto.Conn) (err error) {
ci.RegisterUntilLatest(ci.OnPing)
ci.RegisterUntilLatest(ci.OnKeepAlive)
err = ci.Start()
err = ci.StartConn()
if err != nil {
err = errors.Join(err, errors.New("failed to ignore config"))
}
+1 -1
View File
@@ -106,7 +106,7 @@ func DoDnsSimple(in string) (out string, err error) {
if err != nil {
return
}
out = in
out = host + ":" + strconv.Itoa(int(portN))
if portN != 25565 {
return
}
+1
View File
@@ -13,6 +13,7 @@ func MakeHandshakePacket(c *proto.Conn, nextState proto_base.State) (p *v1_21_8.
return MakeHandshakePacketAddr(c, nextState, c.RemoteAddr().String())
}
// MakeHandshakePacketAddr gets a custom addr
func MakeHandshakePacketAddr(s *proto.Conn, nextState proto_base.State, addr string) (p *v1_21_8.HandshakingToServerPacketSetProtocol, err error) {
p = &v1_21_8.HandshakingToServerPacketSetProtocol{NextState: int32(nextState), ProtocolVersion: s.ProtocolVersion}
var portStr string
+21 -14
View File
@@ -6,7 +6,6 @@ import (
"crypto/x509"
"encoding/json"
"errors"
"fmt"
"github.com/admin-else/strom/api"
"github.com/admin-else/strom/crypto"
@@ -42,11 +41,10 @@ func (k KickedDuringLoginErr) Error() string {
}
func (s *LoginClient) OnDefault(event event.Unhandled) (err error) {
err = fmt.Errorf("unexpected event: %#v", event)
if _, ok := event.Val.(proto_base.EncodeDecodeAble); !ok {
return
}
func (s *LoginClient) OnCycle(_ event.Tick) (err error) {
s.Log.Warn("unexpected packet during login client", "packet", event.Val)
return
}
@@ -127,18 +125,17 @@ func (s *LoginClient) OnStart() (err error) {
return
}
func Login(c *proto.Conn, account *api.Account) (err error) {
func LoginRaw(c *proto.Conn, account *api.Account) (err error) {
lc := &LoginClient{
Conn: c,
Account: account,
}
lc.RegisterCritical(lc.OnDefault)
lc.RegisterCritical(lc.OnCycle)
lc.RegisterCritical(lc.OnClose)
lc.RegisterUntilLatest(lc.OnCompress)
lc.RegisterUntilLatest(lc.OnEncrypt)
lc.RegisterUntilLatest(lc.OnDisconnect)
lc.RegisterUntilLatest(lc.OnSuccess)
lc.RegisterCriticalUntilLatest(lc.OnCompress)
lc.RegisterCriticalUntilLatest(lc.OnEncrypt)
lc.RegisterCriticalUntilLatest(lc.OnDisconnect)
lc.RegisterCriticalUntilLatest(lc.OnSuccess)
p, err := MakeHandshakePacket(lc.Conn, proto_base.Login)
if err != nil {
@@ -152,21 +149,31 @@ func Login(c *proto.Conn, account *api.Account) (err error) {
lc.SetState(proto_base.Login)
err = lc.Send(&v1_21_8.LoginToServerPacketLoginStart{Username: lc.Account.Name, PlayerUUID: lc.Account.Uuid})
err = lc.Start()
err = lc.StartConn()
if err != nil {
err = errors.Join(FailedToLoginErr, err)
}
return
}
func ConnectAndLogin(connectTo string, account *api.Account) (c *proto.Conn, err error) {
func LoginNoSrv(connectTo string, account *api.Account) (c *proto.Conn, err error) {
c, err = Connect(connectTo)
if err != nil {
return
}
err = Login(c, account)
err = LoginRaw(c, account)
return
}
func Login(connectTo string, account *api.Account) (c *proto.Conn, err error) {
connectTo, err = DoDnsSimple(connectTo)
if err != nil {
return
}
c, err = Connect(connectTo)
if err != nil {
err = errors.Join(FailedToLoginErr, err)
return
}
err = LoginRaw(c, account)
return
}
+18 -11
View File
@@ -1,6 +1,7 @@
package client
import (
"context"
"encoding/json"
"time"
@@ -19,10 +20,6 @@ type StatusClient struct {
DoPingRoundTripTime bool
}
func (s *StatusClient) OnStart() (err error) {
return
}
func (s *StatusClient) OnStatus(p *v1_21_8.StatusToClientPacketServerInfo) (err error) {
s.Status = p.Response
s.PingSendTime = time.Now()
@@ -41,8 +38,9 @@ func (s *StatusClient) OnPong(p *v1_21_8.StatusToClientPacketPing) (err error) {
}
// StatusRaw returns a StatusClient that is not connected to a server.
// So ignore the resource leak warning. And maybe attach a warn ignore comment
func StatusRaw(addr string) (s *StatusClient, err error) {
// So ignore the resource leak warning. And maybe attach a warn ignore comment.
// It does not resolve SRV records.
func StatusRaw(ctx context.Context, addr string) (s *StatusClient, err error) {
c, err := ConnectVersionLess(addr)
if err != nil {
return
@@ -55,9 +53,8 @@ func StatusRaw(addr string) (s *StatusClient, err error) {
s = &StatusClient{
Conn: c,
}
s.Loop = event.NewLoop()
s.RegisterUntilLatest(s.OnStatus)
s.RegisterUntilLatest(s.OnPong)
s.RegisterCriticalUntilLatest(s.OnStatus)
s.RegisterCriticalUntilLatest(s.OnPong)
p, err := MakeHandshakePacketAddr(s.Conn, proto_base.Status, addr)
if err != nil {
@@ -74,11 +71,21 @@ func StatusRaw(addr string) (s *StatusClient, err error) {
return
}
func Status(addr string) (status server.StatusResponse, err error) {
s, err := StatusRaw(addr)
// StatusNoDns is like Status but does not resolve SRV records.
func StatusNoDns(addr string) (status server.StatusResponse, err error) {
s, err := StatusRaw(context.Background(), addr)
if err != nil {
return
}
err = json.Unmarshal([]byte(s.Status), &status)
return
}
// Status resolves the status of the minecraft server at the given address.
func Status(addr string) (status server.StatusResponse, err error) {
addr, err = DoDnsSimple(addr)
if err != nil {
return
}
return StatusNoDns(addr)
}
+60
View File
@@ -0,0 +1,60 @@
package api
import (
"encoding/json"
"errors"
"flag"
"os"
"github.com/admin-else/strom/api"
)
var cmd = flag.NewFlagSet("api", flag.ContinueOnError)
var tokenFlag = cmd.String("token", os.Getenv("MC_TOKEN"), "token to use")
var renameFlag = cmd.String("rename", "", "rename the player")
var uuidFlag = cmd.String("uuid", "", "get data about player with uuid")
var nameFlag = cmd.String("name", "", "get data about player with name")
var unsignedFlag = cmd.Bool("unsigned", true, "use unsigned mode for properties signatures")
var PleaseProvideArgumentErr = errors.New("please provide an argument")
func Run(args []string) (err error) {
err = cmd.Parse(args)
if err != nil {
return
}
a := &api.Account{}
if *tokenFlag != "" {
a, err = api.NewAccountFromYGG(*tokenFlag)
if err != nil {
return
}
}
var data any
if *renameFlag != "" {
data, err = a.ChangeName(*renameFlag)
if err != nil {
return
}
} else if *uuidFlag != "" || *nameFlag != "" {
if *nameFlag != "" {
var idName api.IdName
idName, err = api.NameToId(*nameFlag)
if err != nil {
return
}
*uuidFlag = idName.Id
}
data, err = api.Profile(*uuidFlag, *unsignedFlag)
if err != nil {
return
}
} else {
err = PleaseProvideArgumentErr
return
}
err = json.NewEncoder(os.Stdout).Encode(data)
return
}
+25 -6
View File
@@ -1,6 +1,7 @@
package main
import (
"debug/buildinfo"
"errors"
"fmt"
"log/slog"
@@ -8,18 +9,36 @@ import (
"os"
"slices"
"github.com/admin-else/strom/tools/cli/offline_uuid"
"github.com/admin-else/strom/tools/cli/print_nbt"
"github.com/admin-else/strom/tools/cli/status"
"github.com/admin-else/strom/cmd/strom/api"
"github.com/admin-else/strom/cmd/strom/offline_uuid"
"github.com/admin-else/strom/cmd/strom/packet_inspector"
"github.com/admin-else/strom/cmd/strom/print_nbt"
"github.com/admin-else/strom/cmd/strom/status"
)
var ExpectedASubcommandErr = errors.New("expected a subcommand")
var UnknownSubcommandErr = errors.New("unknown subcommand")
var UnknownSubcommandErr = errors.New("unknown subcommand try 'strom help' for a list of subcommands")
func Version(args []string) (err error) {
selfPath, err := os.Executable()
if err != nil {
return
}
info, err := buildinfo.ReadFile(selfPath)
if err != nil {
return
}
fmt.Println("strom cli ", info.Main.Version, " (", info.Main.Sum, ")")
return
}
var subcommands = map[string]func(args []string) error{
"offline-uuid": offline_uuid.Run,
"print-nbt": print_nbt.Run,
"status": status.Run,
"packet-spy": packet_inspector.Run,
"api": api.Run,
"version": Version,
}
func Help(args []string) (err error) {
@@ -34,8 +53,8 @@ func mainE() (err error) {
args := os.Args
// Debug stuff
//slog.SetLogLoggerLevel(slog.LevelDebug)
//args = []string{"TEST", "status", "-srv", "-addr", "tcpshield.1f2d.net:25565"}
slog.SetLogLoggerLevel(slog.LevelDebug)
//args = []string{"TEST", "version"}
if len(args) < 2 {
err = ExpectedASubcommandErr
+129
View File
@@ -0,0 +1,129 @@
package packet_inspector
import (
"flag"
"log/slog"
"github.com/admin-else/strom/api"
"github.com/admin-else/strom/client"
"github.com/admin-else/strom/event"
"github.com/admin-else/strom/nbt"
"github.com/admin-else/strom/proto"
"github.com/admin-else/strom/proto_base"
"github.com/admin-else/strom/proto_generated/v1_21_11"
"github.com/admin-else/strom/server"
"github.com/admin-else/strom/text"
)
var Cmd = flag.NewFlagSet("packet-inspector", flag.ContinueOnError)
var OfflineNameFlag = Cmd.String("name", "packet_inspector", "offline player name")
var Token = Cmd.String("token", "", "token to use")
var TargetAddr = Cmd.String("addr", "127.0.0.1:25565", "address to connect to")
var ListenAddr = Cmd.String("listen", "127.0.0.1:25566", "address to listen on")
type Proxy struct {
Client, Servee *proto.Conn
Data nbt.Tag
}
func (p *Proxy) Start() (err error) {
p.Client.RegisterCritical(p.OnAnything)
p.Servee.RegisterCritical(p.OnAnything)
p.Servee.RegisterCriticalUntilLatest(p.OnFinishConfiguration)
errChan := make(chan error)
go func() {
errChan <- p.Client.StartConn()
}()
go func() {
errChan <- p.Servee.StartConn()
}()
err = <-errChan
return
}
func (p *Proxy) OnAnything(e event.Anything) (err error) {
packet, ok := e.Val.(proto_base.EncodeDecodeAble)
if !ok {
return
}
packetInfo, ok := proto.LookupPacketInfoByType(packet)
if !ok {
return
}
switch packetInfo.Direction {
case proto_base.ToServer:
err = p.Client.Send(packet)
case proto_base.ToClient:
err = p.Servee.Send(packet)
}
return
}
func (p *Proxy) OnFinishConfiguration(packet *v1_21_11.ConfigurationToServerPacketFinishConfiguration) (err error) {
err = p.Client.Send(packet)
if err != nil {
return
}
p.Servee.SetState(proto_base.Play)
p.Client.SetState(proto_base.Play)
err = event.DontForwardErr
return
}
var StatusResponse = server.StatusResponse{
Version: server.StatusResponseVersion{
Name: text.Pretty("STROM"),
Protocol: 772,
},
Players: server.StatusResponsePlayers{},
Description: text.Pretty("Packet spy forwards to " + *TargetAddr),
Favicon: "",
EnforcesSecureChat: false,
}
func Run(args []string) (err error) {
err = Cmd.Parse(args)
if err != nil {
return
}
slog.SetLogLoggerLevel(slog.LevelDebug)
slog.Info("Starting packet inspector", "listen", *ListenAddr)
err = server.StartServerWithOnConn(*ListenAddr, func(serveeConn *proto.Conn) (err error) {
serveeConn.DebugPrintPackets = []string{""}
p := &Proxy{Servee: serveeConn, Client: nil}
var acc = api.NewOfflineAccount(*OfflineNameFlag)
if *Token != "" {
acc, err = api.NewAccountFromYGG(*Token)
if err != nil {
return
}
}
_, err = server.ServeLogin(serveeConn, server.WithOtherAccount(acc), server.WithStatus(StatusResponse))
if err != nil {
return
}
*TargetAddr, err = client.DoDnsSimple(*TargetAddr)
if err != nil {
return
}
c, err := client.Connect(*TargetAddr)
if err != nil {
return
}
c.DebugPrintPackets = []string{""}
err = client.LoginRaw(c, acc)
if err != nil {
return
}
defer c.Close()
p.Client = c
err = p.Start()
return
})
return
}
+49
View File
@@ -0,0 +1,49 @@
package print_nbt
import (
"bytes"
"encoding/json"
"flag"
"os"
"github.com/admin-else/strom/nbt"
)
var (
cmd = flag.NewFlagSet("print-nbt", flag.ContinueOnError)
FileFlag = cmd.String("file", "", "The NBT file to print")
HashFormatFlag = cmd.Bool("snbt", false, "will print with go %#v")
)
func Run(args []string) (err error) {
err = cmd.Parse(args)
if err != nil {
return
}
f, err := os.Open(*FileFlag)
if err != nil {
return
}
defer f.Close()
n, err := nbt.ReadUnstructuredFile(f)
if err != nil {
return
}
var b []byte
if *HashFormatFlag {
bb := bytes.NewBuffer(nil)
err = nbt.PrintSNBTAny(n.Value, bb)
if err != nil {
return
}
b = bb.Bytes()
//b = []byte(strings.ReplaceAll(string(b), ",", ",\n"))
} else {
b, err = json.MarshalIndent(n, "", " ")
}
if err != nil {
return
}
_, err = os.Stdout.Write(b)
return
}
+98
View File
@@ -0,0 +1,98 @@
package status
import (
"flag"
"fmt"
"log/slog"
"time"
"github.com/admin-else/strom/client"
"github.com/admin-else/strom/event"
"github.com/admin-else/strom/proto"
"github.com/admin-else/strom/proto_base"
"github.com/admin-else/strom/proto_generated/v1_21_8"
)
var cmd = flag.NewFlagSet("status", flag.ContinueOnError)
var addrFlag = cmd.String("addr", "localhost:25565", "address to connect to")
var srvFlag = cmd.Bool("srv", false, "use SRV records to resolve the address")
var versionFlag = cmd.String("version", "1.21.8", "version to use")
type StatusClient struct {
*proto.Conn
Status string
PingSendTime, PingReceiveTime time.Time
DoPingRoundTripTime bool
}
func (s *StatusClient) OnStatus(p *v1_21_8.StatusToClientPacketServerInfo) (err error) {
s.Status = p.Response
s.PingSendTime = time.Now()
if s.DoPingRoundTripTime {
err = s.Send(&v1_21_8.StatusToServerPacketPing{Time: s.PingSendTime.UnixMilli()})
} else {
err = event.HandlerDoneErr{}
}
return
}
func (s *StatusClient) OnPong(p *v1_21_8.StatusToClientPacketPing) (err error) {
s.PingReceiveTime = time.Now()
err = event.HandlerDoneErr{}
return
}
// StatusRaw returns a StatusClient that is not connected to a server.
// So ignore the resource leak warning. And maybe attach a warn ignore comment.
// It does not resolve SRV records.
func StatusRaw(addr string) (s *StatusClient, err error) {
c, err := client.ConnectVersionLess(addr)
if err != nil {
return
}
defer c.Close()
err = c.SetVersion(*versionFlag)
if err != nil {
return
}
s = &StatusClient{
Conn: c,
}
s.RegisterCriticalUntilLatest(s.OnStatus)
s.RegisterCriticalUntilLatest(s.OnPong)
p, err := client.MakeHandshakePacketAddr(s.Conn, proto_base.Status, addr)
if err != nil {
return
}
err = s.Send(p)
if err != nil {
return
}
s.SetState(proto_base.Status)
err = s.Send(&v1_21_8.StatusToServerPacketPingStart{})
err = s.StartConn()
return
}
func Run(args []string) (err error) {
err = cmd.Parse(args)
if err != nil {
return
}
if *srvFlag {
*addrFlag, err = client.DoDnsSimple(*addrFlag)
if err != nil {
return
}
}
slog.Debug("resolved address to ", "addr", *addrFlag)
status, err := StatusRaw(*addrFlag)
if err != nil {
return
}
fmt.Println(status.Status)
return
}
+21 -6
View File
@@ -1,5 +1,7 @@
package data
import "errors"
// [
//
// {
@@ -14,7 +16,7 @@ package data
// },
type Biome struct {
Id int
Id int32
Name string
Category string
Temperature float64
@@ -24,22 +26,35 @@ type Biome struct {
Color int
}
var BiomesCache = make(map[string][]Biome)
var BiomesCache = make(map[string][]*Biome)
func BiomesForVersion(v string) (ret []Biome) {
func BiomesForVersion(v string) (ret []*Biome) {
var ok bool
if ret, ok = BiomesCache[v]; ok {
return
}
var b []Biome
var b []*Biome
must(LoadVersionedJson(v, "biomes", &b))
BiomesCache[v] = b
return b
}
func LookupBiomeById(version string, id int32) (biome Biome, ok bool) {
func LookupBiomeById(version string, id int32) (biome *Biome, ok bool) {
for _, b := range BiomesForVersion(version) {
if b.Id == int(id) {
if b.Id == id {
biome = b
ok = true
return
}
}
return
}
var UnknownBiomeNameErr = errors.New("unknown biome Name")
func LookupBiomeByName(version string, name string) (biome *Biome, ok bool) {
for _, b := range BiomesForVersion(version) {
if b.Name == name {
biome = b
ok = true
return
+49 -31
View File
@@ -2,6 +2,7 @@ package data
import (
"errors"
"strconv"
)
// {
@@ -52,6 +53,7 @@ type BlockState struct {
}
var BlocksCache = make(map[string][]*Block)
var BlocksCacheIdMap = make(map[string]map[int32]*Block)
func BlocksForVersion(v string) (ret []*Block) {
var ok bool
@@ -65,23 +67,44 @@ func BlocksForVersion(v string) (ret []*Block) {
}
func LookupBlockByStateId(version string, stateId int32) (block *Block, ok bool) {
idmap, found := BlocksCacheIdMap[version]
if !found {
idmap = make(map[int32]*Block)
for _, b := range BlocksForVersion(version) {
if b.MinStateId <= stateId && stateId <= b.MaxStateId {
for i := range b.MaxStateId - b.MinStateId + 1 {
idmap[b.MinStateId+i] = b
}
}
BlocksCacheIdMap[version] = idmap
}
block, ok = idmap[stateId]
return
}
var UnknownBlockNameErr = errors.New("unknown block Name")
func LookupBlockByName(version string, name string) (block *Block, ok bool) {
for _, b := range BlocksForVersion(version) {
if b.Name == name {
block = b
ok = true
return
}
}
return
}
func LookupBlockByName(version string, stateId int32) (block *Block, ok bool) {
for _, b := range BlocksForVersion(version) {
if b.MinStateId <= stateId && stateId <= b.MaxStateId {
block = b
ok = true
func StateIdFromBlocKAndStateMap(version string, name string, stateMap map[string]string) (stateId int32, err error) {
b, ok := LookupBlockByName(version, name)
if !ok {
err = BlockNotFoundErr
return
}
if stateMap == nil {
stateId = b.DefaultState
} else {
stateId, err = b.IdFromStateMap(stateMap)
}
return
}
@@ -92,7 +115,7 @@ var BadBlockStateTypeErr = errors.New("bad block state type")
var BadEnumErr = errors.New("bad enum")
var SupplyAllStatesErr = errors.New("supply all states")
func FromBlockState(version string, stateId int32) (b *Block, stateData map[string]any, err error) {
func FromBlockState(version string, stateId int32) (b *Block, stateData map[string]string, err error) {
b, ok := LookupBlockByStateId(version, stateId)
if !ok {
err = BlockNotFoundErr
@@ -101,19 +124,17 @@ func FromBlockState(version string, stateId int32) (b *Block, stateData map[stri
return
}
// TODO: mc stores these as strings so we will do the same
func mcDataBlockStateTypeParse(n int32, s *BlockState) (v any, err error) {
func mcDataBlockStateTypeParse(n int32, s *BlockState) (v string, err error) {
switch s.Type {
case "int":
v = n
v = strconv.Itoa(int(n))
case "enum":
v = s.Values[n]
case "bool":
if n == 0 { // MOJANK: 0 is true, 1 is false
v = true
v = "true"
} else if n == 1 {
v = false
v = "false"
} else {
err = InvalidBoolValueErr
}
@@ -123,35 +144,32 @@ func mcDataBlockStateTypeParse(n int32, s *BlockState) (v any, err error) {
return
}
func mcDataBlockStateTypeSerialize(v any, s *BlockState) (n int32, err error) {
switch t := v.(type) {
case int32:
n = t
case bool:
if t {
n = 0
} else {
n = 1
func mcDataBlockStateTypeSerialize(v string, s *BlockState) (n int32, err error) {
if v == "true" {
return 0, nil
}
if v == "false" {
return 1, nil
}
n1, errMabye := strconv.Atoi(v)
if errMabye == nil {
return int32(n1), nil
}
case string:
for i, enumValue := range s.Values {
if enumValue == t {
if enumValue == v {
return int32(i), nil
}
}
err = BadEnumErr
default:
err = BadBlockStateTypeErr
}
return
}
func (b *Block) StateMapFromId(stateId int32) (ret map[string]any, err error) {
func (b *Block) StateMapFromId(stateId int32) (ret map[string]string, err error) {
if stateId < b.MinStateId || stateId > b.MaxStateId {
err = BlockStateOutOfRangeErr
return
}
ret = make(map[string]any)
ret = make(map[string]string)
stateId -= b.MinStateId
a := int32(1)
@@ -166,7 +184,7 @@ func (b *Block) StateMapFromId(stateId int32) (ret map[string]any, err error) {
return
}
func (b *Block) IdFromStateMap(m map[string]any) (ret int32, err error) {
func (b *Block) IdFromStateMap(m map[string]string) (ret int32, err error) {
a := int32(1)
for i := range len(b.States) {
s := b.States[len(b.States)-1-i]
+2 -2
View File
@@ -6,7 +6,7 @@ import (
"errors"
)
//go:embed minecraft-data/data
//go:embed minecraft-data/pc minecraft-data/dataPaths.json
var MinecraftData embed.FS
func LoadJson(path string, data any) (err error) {
@@ -19,7 +19,7 @@ func LoadJson(path string, data any) (err error) {
}
func LoadVersionedJson(version, dataName string, data any) (err error) {
b, err := MinecraftData.ReadFile("minecraft-data/data/" + Paths.Data[version][dataName] + "/" + dataName + ".json")
b, err := MinecraftData.ReadFile("minecraft-data/" + Paths.Data[version][dataName] + "/" + dataName + ".json")
if err != nil {
return
}
+1 -1
View File
@@ -9,5 +9,5 @@ var Paths struct {
}
func init() {
must(LoadJson("minecraft-data/data/dataPaths.json", &Paths))
must(LoadJson("minecraft-data/dataPaths.json", &Paths))
}
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/env sh
# Go get / install does not clone git submodules so we have to do it like this
rm -rf minecraft-data/
git clone --depth 1 git@github.com:PrismarineJS/minecraft-data.git
mv minecraft-data/data data
rm -rf minecraft-data
mv data minecraft-data
rm -rf minecraft-data/bedrock
+8
View File
@@ -1,5 +1,7 @@
package data
import "sync"
// {
// "id": 2,
// "name": "granite",
@@ -15,15 +17,21 @@ type Item struct {
}
var ItemsCache = make(map[string][]*Item)
var ItemsCacheMutex = &sync.RWMutex{}
func ItemsForVersion(v string) (ret []*Item) {
var ok bool
ItemsCacheMutex.RLock()
if ret, ok = ItemsCache[v]; ok {
ItemsCacheMutex.RUnlock()
return
}
ItemsCacheMutex.RUnlock()
var b []*Item
must(LoadVersionedJson(v, "items", &b))
ItemsCacheMutex.Lock()
ItemsCache[v] = b
ItemsCacheMutex.Unlock()
return b
}
File diff suppressed because it is too large Load Diff
+652
View File
@@ -0,0 +1,652 @@
[
{
"id": 0,
"displayName": "Air",
"name": "air",
"hardness": 0,
"stackSize": 0,
"diggable": false,
"boundingBox": "empty",
"drops": [],
"transparent": true,
"emitLight": 0,
"filterLight": 0
},
{
"id": 1,
"displayName": "Stone",
"name": "stone",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 2,
"displayName": "Grass Block",
"name": "grass block",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 3,
"displayName": "Dirt",
"name": "dirt",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 4,
"displayName": "Cobblestone",
"name": "cobblestone",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 5,
"displayName": "Wood Planks",
"name": "wood planks",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 6,
"displayName": "Sapling",
"name": "sapling",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 7,
"displayName": "Bedrock",
"name": "bedrock",
"hardness": 0,
"stackSize": 0,
"diggable": false,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 8,
"displayName": "Flowing Water",
"name": "flowing water",
"hardness": 0,
"stackSize": 0,
"diggable": false,
"boundingBox": "empty",
"drops": [],
"transparent": true,
"emitLight": 0,
"filterLight": 0
},
{
"id": 9,
"displayName": "Stationary Water",
"name": "stationary water",
"hardness": 0,
"stackSize": 0,
"diggable": false,
"boundingBox": "empty",
"drops": [],
"transparent": true,
"emitLight": 0,
"filterLight": 0
},
{
"id": 10,
"displayName": "Flowing Lava",
"name": "flowing lava",
"hardness": 0,
"stackSize": 0,
"diggable": false,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 11,
"displayName": "Stationary Lava",
"name": "stationary lava",
"hardness": 0,
"stackSize": 0,
"diggable": false,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 12,
"displayName": "Sand",
"name": "sand",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 13,
"displayName": "Gravel",
"name": "gravel",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 14,
"displayName": "Gold Ore",
"name": "gold ore",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 15,
"displayName": "Iron Ore",
"name": "iron ore",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 16,
"displayName": "Coal Ore",
"name": "coal ore",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 17,
"displayName": "Wood",
"name": "wood",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 18,
"displayName": "Leaves",
"name": "leaves",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 19,
"displayName": "Sponge",
"name": "sponge",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 20,
"displayName": "Glass",
"name": "glass",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": true,
"emitLight": 0,
"filterLight": 0
},
{
"id": 21,
"displayName": "Red Cloth",
"name": "red cloth",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 22,
"displayName": "Orange Cloth",
"name": "orange cloth",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 23,
"displayName": "Yellow Cloth",
"name": "yellow cloth",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 24,
"displayName": "Lime Cloth",
"name": "lime cloth",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 25,
"displayName": "Green Cloth",
"name": "green cloth",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 26,
"displayName": "Aqua Green Cloth",
"name": "aqua green cloth",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 27,
"displayName": "Cyan Cloth",
"name": "cyan cloth",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 28,
"displayName": "Blue Cloth",
"name": "blue cloth",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 29,
"displayName": "Purple Cloth",
"name": "purple cloth",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 30,
"displayName": "Indigo Cloth",
"name": "indigo cloth",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 31,
"displayName": "Violet Cloth",
"name": "violet cloth",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 32,
"displayName": "Magenta Cloth",
"name": "magenta cloth",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 33,
"displayName": "Pink Cloth",
"name": "pink cloth",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 34,
"displayName": "Black Cloth",
"name": "black cloth",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 35,
"displayName": "Gray Cloth",
"name": "gray cloth",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 36,
"displayName": "White Cloth",
"name": "white cloth",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 37,
"displayName": "Dandelion",
"name": "dandelion",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 38,
"displayName": "Rose",
"name": "rose",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 39,
"displayName": "Brown Mushroom",
"name": "brown mushroom",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 40,
"displayName": "Red Mushroom",
"name": "red mushroom",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 41,
"displayName": "Block of Gold",
"name": "block of gold",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 42,
"displayName": "Block of Iron",
"name": "block of iron",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 43,
"displayName": "Double Slab",
"name": "double slab",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 44,
"displayName": "Slab",
"name": "slab",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 45,
"displayName": "Brick",
"name": "brick",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 46,
"displayName": "TNT",
"name": "tnt",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 47,
"displayName": "Bookshelf",
"name": "bookshelf",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 48,
"displayName": "Moss Stone",
"name": "moss stone",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
},
{
"id": 49,
"displayName": "Obsidian",
"name": "obsidian",
"hardness": 0,
"stackSize": 0,
"diggable": true,
"boundingBox": "empty",
"drops": [],
"transparent": false,
"emitLight": 0,
"filterLight": 0
}
]
+138
View File
@@ -0,0 +1,138 @@
!version: 0.30c
^types:
u8: native
string: native
i8: native
i16: native
byte_array: native
^toServer.types:
packet_player_identification:
protocol_version: u8
username: string
verification_key: string
unused: i8
packet_set_block:
x: i16
y: i16
z: i16
mode: u8
block_type: u8
packet_position:
player_id: u8
x: i16
y: i16
z: i16
yaw: u8
pitch: u8
packet_message:
unused: u8
message: string
packet:
name: u8 =>
0x00: player_identification
0x05: set_block
0x08: position
0x0d: message
params: name ?
if player_identification: packet_player_identification
if set_block: packet_set_block
if position: packet_position
if message: packet_message
^toClient.types:
packet_server_identification:
protocol_version: u8
server_name: string
server_motd: string
user_type: i8
packet_ping:
# Empty
packet_level_initialize:
# Empty
packet_level_data_chunk:
chunk_data: byte_array
percent_complete: u8
packet_level_finalize:
x_size: i16
y_size: i16
z_size: i16
packet_set_block:
x: i16
y: i16
z: i16
block_type: u8
packet_spawn_player:
player_id: i8
player_name: string
x: i16
y: i16
z: i16
yaw: u8
pitch: u8
packet_player_teleport:
player_id: i8
x: i16
y: i16
z: i16
yaw: u8
pitch: u8
packet_position_and_orientation_update:
player_id: i8
change_in_x: i8
change_in_y: i8
change_in_z: i8
yaw: i8
pitch: i8
packet_position_update:
player_id: i8
change_in_x: i8
change_in_y: i8
change_in_z: i8
packet_orientation_update:
player_id: i8
yaw: u8
pitch: u8
packet_despawn_player:
player_id: i8
packet_message:
player_id: i8
message: string
packet_disconnect_player:
disconnect_reason: string
packet_update_user_type:
user_type: u8
packet:
name: u8 =>
0x00: server_identification
0x01: ping
0x02: level_initialize
0x03: level_data_chunk
0x04: level_finalize
0x06: set_block
0x07: spawn_player
0x08: player_teleport
0x09: position_and_orientation_update
0x0a: position_update
0x0b: orientation_update
0x0c: despawn_player
0x0d: message
0x0e: disconnect_player
0x0f: update_user_type
params: name ?
if server_identification: packet_server_identification
if ping: packet_ping
if level_initialize: packet_level_initialize
if level_data_chunk: packet_level_data_chunk
if level_finalize: packet_level_finalize
if set_block: packet_set_block
if spawn_player: packet_spawn_player
if player_teleport: packet_player_teleport
if position_and_orientation_update: packet_position_and_orientation_update
if position_update: packet_position_update
if orientation_update: packet_orientation_update
if despawn_player: packet_despawn_player
if message: packet_message
if disconnect_player: packet_disconnect_player
if update_user_type: packet_update_user_type
+446
View File
@@ -0,0 +1,446 @@
{
"types": {
"u8": "native",
"string": "native",
"i8": "native",
"i16": "native",
"byte_array": "native"
},
"toServer": {
"types": {
"packet_player_identification": [
"container",
[
{
"name": "protocol_version",
"type": "u8"
},
{
"name": "username",
"type": "string"
},
{
"name": "verification_key",
"type": "string"
},
{
"name": "unused",
"type": "i8"
}
]
],
"packet_set_block": [
"container",
[
{
"name": "x",
"type": "i16"
},
{
"name": "y",
"type": "i16"
},
{
"name": "z",
"type": "i16"
},
{
"name": "mode",
"type": "u8"
},
{
"name": "block_type",
"type": "u8"
}
]
],
"packet_position": [
"container",
[
{
"name": "player_id",
"type": "u8"
},
{
"name": "x",
"type": "i16"
},
{
"name": "y",
"type": "i16"
},
{
"name": "z",
"type": "i16"
},
{
"name": "yaw",
"type": "u8"
},
{
"name": "pitch",
"type": "u8"
}
]
],
"packet_message": [
"container",
[
{
"name": "unused",
"type": "u8"
},
{
"name": "message",
"type": "string"
}
]
],
"packet": [
"container",
[
{
"name": "name",
"type": [
"mapper",
{
"type": "u8",
"mappings": {
"0x00": "player_identification",
"0x05": "set_block",
"0x08": "position",
"0x0d": "message"
}
}
]
},
{
"name": "params",
"type": [
"switch",
{
"compareTo": "name",
"fields": {
"player_identification": "packet_player_identification",
"set_block": "packet_set_block",
"position": "packet_position",
"message": "packet_message"
}
}
]
}
]
]
}
},
"toClient": {
"types": {
"packet_server_identification": [
"container",
[
{
"name": "protocol_version",
"type": "u8"
},
{
"name": "server_name",
"type": "string"
},
{
"name": "server_motd",
"type": "string"
},
{
"name": "user_type",
"type": "i8"
}
]
],
"packet_ping": [
"container",
[]
],
"packet_level_initialize": [
"container",
[]
],
"packet_level_data_chunk": [
"container",
[
{
"name": "chunk_data",
"type": "byte_array"
},
{
"name": "percent_complete",
"type": "u8"
}
]
],
"packet_level_finalize": [
"container",
[
{
"name": "x_size",
"type": "i16"
},
{
"name": "y_size",
"type": "i16"
},
{
"name": "z_size",
"type": "i16"
}
]
],
"packet_set_block": [
"container",
[
{
"name": "x",
"type": "i16"
},
{
"name": "y",
"type": "i16"
},
{
"name": "z",
"type": "i16"
},
{
"name": "block_type",
"type": "u8"
}
]
],
"packet_spawn_player": [
"container",
[
{
"name": "player_id",
"type": "i8"
},
{
"name": "player_name",
"type": "string"
},
{
"name": "x",
"type": "i16"
},
{
"name": "y",
"type": "i16"
},
{
"name": "z",
"type": "i16"
},
{
"name": "yaw",
"type": "u8"
},
{
"name": "pitch",
"type": "u8"
}
]
],
"packet_player_teleport": [
"container",
[
{
"name": "player_id",
"type": "i8"
},
{
"name": "x",
"type": "i16"
},
{
"name": "y",
"type": "i16"
},
{
"name": "z",
"type": "i16"
},
{
"name": "yaw",
"type": "u8"
},
{
"name": "pitch",
"type": "u8"
}
]
],
"packet_position_and_orientation_update": [
"container",
[
{
"name": "player_id",
"type": "i8"
},
{
"name": "change_in_x",
"type": "i8"
},
{
"name": "change_in_y",
"type": "i8"
},
{
"name": "change_in_z",
"type": "i8"
},
{
"name": "yaw",
"type": "i8"
},
{
"name": "pitch",
"type": "i8"
}
]
],
"packet_position_update": [
"container",
[
{
"name": "player_id",
"type": "i8"
},
{
"name": "change_in_x",
"type": "i8"
},
{
"name": "change_in_y",
"type": "i8"
},
{
"name": "change_in_z",
"type": "i8"
}
]
],
"packet_orientation_update": [
"container",
[
{
"name": "player_id",
"type": "i8"
},
{
"name": "yaw",
"type": "u8"
},
{
"name": "pitch",
"type": "u8"
}
]
],
"packet_despawn_player": [
"container",
[
{
"name": "player_id",
"type": "i8"
}
]
],
"packet_message": [
"container",
[
{
"name": "player_id",
"type": "i8"
},
{
"name": "message",
"type": "string"
}
]
],
"packet_disconnect_player": [
"container",
[
{
"name": "disconnect_reason",
"type": "string"
}
]
],
"packet_update_user_type": [
"container",
[
{
"name": "user_type",
"type": "u8"
}
]
],
"packet": [
"container",
[
{
"name": "name",
"type": [
"mapper",
{
"type": "u8",
"mappings": {
"0x00": "server_identification",
"0x01": "ping",
"0x02": "level_initialize",
"0x03": "level_data_chunk",
"0x04": "level_finalize",
"0x06": "set_block",
"0x07": "spawn_player",
"0x08": "player_teleport",
"0x09": "position_and_orientation_update",
"0x0a": "position_update",
"0x0b": "orientation_update",
"0x0c": "despawn_player",
"0x0d": "message",
"0x0e": "disconnect_player",
"0x0f": "update_user_type"
}
}
]
},
{
"name": "params",
"type": [
"switch",
{
"compareTo": "name",
"fields": {
"server_identification": "packet_server_identification",
"ping": "packet_ping",
"level_initialize": "packet_level_initialize",
"level_data_chunk": "packet_level_data_chunk",
"level_finalize": "packet_level_finalize",
"set_block": "packet_set_block",
"spawn_player": "packet_spawn_player",
"player_teleport": "packet_player_teleport",
"position_and_orientation_update": "packet_position_and_orientation_update",
"position_update": "packet_position_update",
"orientation_update": "packet_orientation_update",
"despawn_player": "packet_despawn_player",
"message": "packet_message",
"disconnect_player": "packet_disconnect_player",
"update_user_type": "packet_update_user_type"
}
}
]
}
]
]
}
}
}
@@ -0,0 +1,5 @@
{
"version":7,
"minecraftVersion":"0.30c",
"majorVersion":"0.30c"
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,5 @@
{
"version":201,
"minecraftVersion":"16w20a",
"majorVersion":"1.10"
}
@@ -0,0 +1,5 @@
{
"version":210,
"minecraftVersion":"1.10.1",
"majorVersion":"1.10"
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,5 @@
{
"version":210,
"minecraftVersion":"1.10.2",
"majorVersion":"1.10"
}
@@ -0,0 +1,93 @@
[
{
"name": "maxHealth",
"resource": "generic.maxHealth",
"default": 20,
"min": 1,
"max": 1024
},
{
"name": "followRange",
"resource": "generic.followRange",
"default": 32,
"min": 0,
"max": 2048
},
{
"name": "knockbackResistance",
"resource": "generic.knockbackResistance",
"default": 0,
"min": 0,
"max": 1
},
{
"name": "movementSpeed",
"resource": "generic.movementSpeed",
"default": 0.7,
"min": 0,
"max": 1024
},
{
"name": "attackDamage",
"resource": "generic.attackDamage",
"default": 2,
"min": 0,
"max": 2048
},
{
"name": "horseJumpStrength",
"resource": "horse.jumpStrength",
"default": 0.7,
"min": 0,
"max": 2
},
{
"name": "zombieSpawnReinforcements",
"resource": "zombie.spawnReinforcements",
"default": 0,
"min": 0,
"max": 1
},
{
"name": "attackSpeed",
"resource": "generic.attackSpeed",
"default": 4,
"min": 0,
"max": 1024
},
{
"name": "flyingSpeed",
"resource": "generic.flyingSpeed",
"default": 0.4,
"min": 0,
"max": 1024
},
{
"name": "attackKnockback",
"resource": "generic.attackKnockback",
"default": 0,
"min": 0,
"max": 5
},
{
"name": "armorHealth",
"resource": "generic.armor",
"default": 0,
"min": 0,
"max": 30
},
{
"name": "armorToughness",
"resource": "generic.armorToughness",
"default": 0,
"min": 0,
"max": 20
},
{
"name": "luck",
"resource": "generic.luck",
"default": 0,
"min": -1024,
"max": 1024
}
]
+797
View File
@@ -0,0 +1,797 @@
[
{
"id": 0,
"name": "ocean",
"category": "ocean",
"temperature": 0.5,
"precipitation": "rain",
"depth": -1,
"dimension": "overworld",
"displayName": "Ocean",
"color": 112,
"rainfall": 0.5
},
{
"id": 1,
"name": "plains",
"category": "plains",
"temperature": 0.8,
"precipitation": "rain",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Plains",
"color": 9286496,
"rainfall": 0.4,
"child": 129
},
{
"id": 2,
"name": "desert",
"category": "desert",
"temperature": 2,
"precipitation": "none",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Desert",
"color": 16421912,
"rainfall": 0,
"child": 130
},
{
"id": 3,
"name": "mountains",
"category": "extreme_hills",
"temperature": 0.2,
"precipitation": "rain",
"depth": 1,
"dimension": "overworld",
"displayName": "Mountains",
"color": 6316128,
"rainfall": 0.3,
"child": 131
},
{
"id": 4,
"name": "forest",
"category": "forest",
"temperature": 0.7,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Forest",
"color": 353825,
"rainfall": 0.8,
"child": 132
},
{
"id": 5,
"name": "taiga",
"category": "taiga",
"temperature": 0.25,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Taiga",
"color": 747097,
"rainfall": 0.8,
"child": 133
},
{
"id": 6,
"name": "swamp",
"category": "swamp",
"temperature": 0.8,
"precipitation": "rain",
"depth": -0.2,
"dimension": "overworld",
"displayName": "Swamp",
"color": 522674,
"rainfall": 0.9,
"child": 134
},
{
"id": 7,
"name": "river",
"category": "river",
"temperature": 0.5,
"precipitation": "rain",
"depth": -0.5,
"dimension": "overworld",
"displayName": "River",
"color": 255,
"rainfall": 0.5
},
{
"id": 8,
"name": "nether_wastes",
"category": "nether",
"temperature": 2,
"precipitation": "none",
"depth": 0.1,
"climates": [
{
"temperature": 0,
"humidity": 0,
"altitude": 0,
"weirdness": 0,
"offset": 0
}
],
"dimension": "nether",
"displayName": "Nether Wastes",
"color": 12532539,
"rainfall": 0
},
{
"id": 9,
"name": "the_end",
"category": "the_end",
"temperature": 0.5,
"precipitation": "none",
"depth": 0.1,
"dimension": "end",
"displayName": "The End",
"color": 8421631,
"rainfall": 0.5
},
{
"id": 10,
"name": "frozen_ocean",
"category": "ocean",
"temperature": 0,
"precipitation": "snow",
"depth": -1,
"dimension": "overworld",
"displayName": "Frozen Ocean",
"color": 7368918,
"rainfall": 0.5
},
{
"id": 11,
"name": "frozen_river",
"category": "river",
"temperature": 0,
"precipitation": "snow",
"depth": -0.5,
"dimension": "overworld",
"displayName": "Frozen River",
"color": 10526975,
"rainfall": 0.5
},
{
"id": 12,
"name": "snowy_tundra",
"category": "icy",
"temperature": 0,
"precipitation": "snow",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Snowy Tundra",
"color": 16777215,
"rainfall": 0.5,
"child": 140
},
{
"id": 13,
"name": "snowy_mountains",
"category": "icy",
"temperature": 0,
"precipitation": "snow",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Snowy Mountains",
"color": 10526880,
"rainfall": 0.5
},
{
"id": 14,
"name": "mushroom_fields",
"category": "mushroom",
"temperature": 0.9,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Mushroom Fields",
"color": 16711935,
"rainfall": 1
},
{
"id": 15,
"name": "mushroom_field_shore",
"category": "mushroom",
"temperature": 0.9,
"precipitation": "rain",
"depth": 0,
"dimension": "overworld",
"displayName": "Mushroom Fields Shore",
"color": 10486015,
"rainfall": 1
},
{
"id": 16,
"name": "beach",
"category": "beach",
"temperature": 0.8,
"precipitation": "rain",
"depth": 0,
"dimension": "overworld",
"displayName": "Beach",
"color": 16440917,
"rainfall": 0.4
},
{
"id": 17,
"name": "desert_hills",
"category": "desert",
"temperature": 2,
"precipitation": "none",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Desert Hills",
"color": 13786898,
"rainfall": 0
},
{
"id": 18,
"name": "wooded_hills",
"category": "forest",
"temperature": 0.7,
"precipitation": "rain",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Wooded Hills",
"color": 2250012,
"rainfall": 0.8
},
{
"id": 19,
"name": "taiga_hills",
"category": "taiga",
"temperature": 0.25,
"precipitation": "rain",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Taiga Hills",
"color": 1456435,
"rainfall": 0.8
},
{
"id": 20,
"name": "mountain_edge",
"category": "extreme_hills",
"temperature": 0.2,
"precipitation": "rain",
"depth": 0.8,
"dimension": "overworld",
"displayName": "Mountain Edge",
"color": 7501978,
"rainfall": 0.3
},
{
"id": 21,
"name": "jungle",
"category": "jungle",
"temperature": 0.95,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Jungle",
"color": 5470985,
"rainfall": 0.9,
"child": 149
},
{
"id": 22,
"name": "jungle_hills",
"category": "jungle",
"temperature": 0.95,
"precipitation": "rain",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Jungle Hills",
"color": 2900485,
"rainfall": 0.9
},
{
"id": 23,
"name": "jungle_edge",
"category": "jungle",
"temperature": 0.95,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Jungle Edge",
"color": 6458135,
"rainfall": 0.8,
"child": 151
},
{
"id": 24,
"name": "deep_ocean",
"category": "ocean",
"temperature": 0.5,
"precipitation": "rain",
"depth": -1.8,
"dimension": "overworld",
"displayName": "Deep Ocean",
"color": 48,
"rainfall": 0.5
},
{
"id": 25,
"name": "stone_shore",
"category": "none",
"temperature": 0.2,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Stone Shore",
"color": 10658436,
"rainfall": 0.3
},
{
"id": 26,
"name": "snowy_beach",
"category": "beach",
"temperature": 0.05,
"precipitation": "snow",
"depth": 0,
"dimension": "overworld",
"displayName": "Snowy Beach",
"color": 16445632,
"rainfall": 0.3
},
{
"id": 27,
"name": "birch_forest",
"category": "forest",
"temperature": 0.6,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Birch Forest",
"color": 3175492,
"rainfall": 0.6,
"child": 155
},
{
"id": 28,
"name": "birch_forest_hills",
"category": "forest",
"temperature": 0.6,
"precipitation": "rain",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Birch Forest Hills",
"color": 2055986,
"rainfall": 0.6,
"child": 156
},
{
"id": 29,
"name": "dark_forest",
"category": "forest",
"temperature": 0.7,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Dark Forest",
"color": 4215066,
"rainfall": 0.8,
"child": 157
},
{
"id": 30,
"name": "snowy_taiga",
"category": "taiga",
"temperature": -0.5,
"precipitation": "snow",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Snowy Taiga",
"color": 3233098,
"rainfall": 0.4,
"child": 158
},
{
"id": 31,
"name": "snowy_taiga_hills",
"category": "taiga",
"temperature": -0.5,
"precipitation": "snow",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Snowy Taiga Hills",
"color": 2375478,
"rainfall": 0.4
},
{
"id": 32,
"name": "giant_tree_taiga",
"category": "taiga",
"temperature": 0.3,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Giant Tree Taiga",
"color": 5858897,
"rainfall": 0.8,
"child": 160
},
{
"id": 33,
"name": "giant_tree_taiga_hills",
"category": "taiga",
"temperature": 0.3,
"precipitation": "rain",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Giant Tree Taiga Hills",
"color": 4542270,
"rainfall": 0.8,
"child": 161
},
{
"id": 34,
"name": "wooded_mountains",
"category": "extreme_hills",
"temperature": 0.2,
"precipitation": "rain",
"depth": 1,
"dimension": "overworld",
"displayName": "Wooded Mountains",
"color": 5271632,
"rainfall": 0.3,
"child": 162
},
{
"id": 35,
"name": "savanna",
"category": "savanna",
"temperature": 1.2,
"precipitation": "none",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Savanna",
"color": 12431967,
"rainfall": 0,
"child": 163
},
{
"id": 36,
"name": "savanna_plateau",
"category": "savanna",
"temperature": 1,
"precipitation": "none",
"depth": 1.5,
"dimension": "overworld",
"displayName": "Savanna Plateau",
"color": 10984804,
"rainfall": 0,
"child": 164
},
{
"id": 37,
"name": "badlands",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Badlands",
"color": 14238997,
"rainfall": 0,
"child": 165
},
{
"id": 38,
"name": "wooded_badlands_plateau",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 1.5,
"dimension": "overworld",
"displayName": "Wooded Badlands Plateau",
"color": 11573093,
"rainfall": 0,
"child": 166
},
{
"id": 39,
"name": "badlands_plateau",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 1.5,
"dimension": "overworld",
"displayName": "Badlands Plateau",
"color": 13274213,
"rainfall": 0,
"child": 167
},
{
"id": 127,
"name": "the_void",
"category": "none",
"temperature": 0.5,
"precipitation": "none",
"depth": 0.1,
"dimension": "end",
"displayName": "the_void",
"rainfall": 0.5,
"color": 0
},
{
"id": 129,
"name": "sunflower_plains",
"category": "plains",
"temperature": 0.8,
"precipitation": "rain",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Sunflower Plains",
"color": 11918216,
"parent": "plains",
"rainfall": 0.4
},
{
"id": 130,
"name": "desert_lakes",
"category": "desert",
"temperature": 2,
"precipitation": "none",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Desert Lakes",
"color": 16759872,
"parent": "desert",
"rainfall": 0
},
{
"id": 131,
"name": "gravelly_mountains",
"category": "extreme_hills",
"temperature": 0.2,
"precipitation": "rain",
"depth": 1,
"dimension": "overworld",
"displayName": "Gravelly Mountains",
"color": 8947848,
"parent": "mountains",
"rainfall": 0.3
},
{
"id": 132,
"name": "flower_forest",
"category": "forest",
"temperature": 0.7,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Flower Forest",
"color": 2985545,
"parent": "forest",
"rainfall": 0.8
},
{
"id": 133,
"name": "taiga_mountains",
"category": "taiga",
"temperature": 0.25,
"precipitation": "rain",
"depth": 0.3,
"dimension": "overworld",
"displayName": "Taiga Mountains",
"color": 3378817,
"parent": "taiga",
"rainfall": 0.8
},
{
"id": 134,
"name": "swamp_hills",
"category": "swamp",
"temperature": 0.8,
"precipitation": "rain",
"depth": -0.1,
"dimension": "overworld",
"displayName": "Swamp Hills",
"color": 3145690,
"parent": "swamp",
"rainfall": 0.9
},
{
"id": 140,
"name": "ice_spikes",
"category": "icy",
"temperature": 0,
"precipitation": "snow",
"depth": 0.425,
"dimension": "overworld",
"displayName": "Ice Spikes",
"color": 11853020,
"parent": "snowy_tundra",
"rainfall": 0.5
},
{
"id": 149,
"name": "modified_jungle",
"category": "jungle",
"temperature": 0.95,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Modified Jungle",
"color": 8102705,
"parent": "jungle",
"rainfall": 0.9
},
{
"id": 151,
"name": "modified_jungle_edge",
"category": "jungle",
"temperature": 0.95,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Modified Jungle Edge",
"color": 9089855,
"parent": "jungle_edge",
"rainfall": 0.8
},
{
"id": 155,
"name": "tall_birch_forest",
"category": "forest",
"temperature": 0.6,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Tall Birch Forest",
"color": 5807212,
"parent": "birch_forest",
"rainfall": 0.6
},
{
"id": 156,
"name": "tall_birch_hills",
"category": "forest",
"temperature": 0.6,
"precipitation": "rain",
"depth": 0.55,
"dimension": "overworld",
"displayName": "Tall Birch Hills",
"color": 4687706,
"parent": "birch_forest_hills",
"rainfall": 0.6
},
{
"id": 157,
"name": "dark_forest_hills",
"category": "forest",
"temperature": 0.7,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Dark Forest Hills",
"color": 6846786,
"parent": "dark_forest",
"rainfall": 0.8
},
{
"id": 158,
"name": "snowy_taiga_mountains",
"category": "taiga",
"temperature": -0.5,
"precipitation": "snow",
"depth": 0.3,
"dimension": "overworld",
"displayName": "Snowy Taiga Mountains",
"color": 5864818,
"parent": "snowy_taiga",
"rainfall": 0.4
},
{
"id": 160,
"name": "giant_spruce_taiga",
"category": "taiga",
"temperature": 0.25,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Giant Spruce Taiga",
"color": 8490617,
"parent": "giant_tree_taiga",
"rainfall": 0.8
},
{
"id": 161,
"name": "giant_spruce_taiga_hills",
"category": "taiga",
"temperature": 0.25,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Giant Spruce Taiga Hills",
"color": 7173990,
"parent": "giant_tree_taiga_hills",
"rainfall": 0.8
},
{
"id": 162,
"name": "modified_gravelly_mountains",
"category": "extreme_hills",
"temperature": 0.2,
"precipitation": "rain",
"depth": 1,
"dimension": "overworld",
"displayName": "Gravelly Mountains+",
"color": 7903352,
"parent": "wooded_mountains",
"rainfall": 0.3
},
{
"id": 163,
"name": "shattered_savanna",
"category": "savanna",
"temperature": 1.1,
"precipitation": "none",
"depth": 0.3625,
"dimension": "overworld",
"displayName": "Shattered Savanna",
"color": 15063687,
"parent": "savanna",
"rainfall": 0
},
{
"id": 164,
"name": "shattered_savanna_plateau",
"category": "savanna",
"temperature": 1,
"precipitation": "none",
"depth": 1.05,
"dimension": "overworld",
"displayName": "Shattered Savanna Plateau",
"color": 13616524,
"parent": "savanna_plateau",
"rainfall": 0
},
{
"id": 165,
"name": "eroded_badlands",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Eroded Badlands",
"color": 16739645,
"parent": "badlands",
"rainfall": 0
},
{
"id": 166,
"name": "modified_wooded_badlands_plateau",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Modified Wooded Badlands Plateau",
"color": 14204813,
"parent": "wooded_badlands_plateau",
"rainfall": 0
},
{
"id": 167,
"name": "modified_badlands_plateau",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Modified Badlands Plateau",
"color": 15905933,
"parent": "badlands_plateau",
"rainfall": 0
}
]
@@ -0,0 +1,294 @@
{"blocks":{"air":0,
"stone":1,
"grass":1,
"dirt":1,
"cobblestone":1,
"planks":1,
"sapling":0,
"bedrock":1,
"flowing_water":0,
"water":0,
"flowing_lava":0,
"lava":0,
"sand":1,
"gravel":1,
"gold_ore":1,
"iron_ore":1,
"coal_ore":1,
"log":1,
"leaves":1,
"sponge":1,
"glass":1,
"lapis_ore":1,
"lapis_block":1,
"dispenser":1,
"sandstone":1,
"noteblock":1,
"bed":2,
"golden_rail":0,
"detector_rail":0,
"sticky_piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0],
"web":0,
"tallgrass":0,
"deadbush":0,
"piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0],
"piston_head":[10,11,9,12,13,14,0,0,10,11,9,12,13,14,0,0],
"wool":1,
"piston_extension":0,
"yellow_flower":0,
"red_flower":0,
"brown_mushroom":0,
"red_mushroom":0,
"gold_block":1,
"iron_block":1,
"double_stone_slab":1,
"stone_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16],
"brick_block":1,
"tnt":1,
"bookshelf":1,
"mossy_cobblestone":1,
"obsidian":1,
"torch":0,
"fire":0,
"mob_spawner":1,
"oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"chest":25,
"redstone_wire":0,
"diamond_ore":1,
"diamond_block":1,
"crafting_table":1,
"wheat":0,
"farmland":26,
"furnace":1,
"lit_furnace":1,
"standing_sign":0,
"wooden_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"ladder":[27,27,27,29,30,28,27,27,27,29,30,28,27,27,27,29],
"rail":0,
"stone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"wall_sign":0,
"lever":0,
"stone_pressure_plate":0,
"iron_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"wooden_pressure_plate":0,
"redstone_ore":1,
"lit_redstone_ore":1,
"unlit_redstone_torch":0,
"redstone_torch":0,
"stone_button":0,
"snow_layer":[0,31,32,33,15,34,4,35,0,31,32,33,15,34,4,35],
"ice":1,
"snow":1,
"cactus":36,
"clay":1,
"reeds":0,
"jukebox":1,
"fence":37,
"pumpkin":1,
"netherrack":1,
"soul_sand":35,
"glowstone":1,
"portal":0,
"lit_pumpkin":1,
"cake":[38,39,40,41,42,43,44,0,0,0,0,0,0,0,0,0],
"unpowered_repeater":31,
"powered_repeater":31,
"stained_glass":1,
"trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28],
"monster_egg":1,
"stonebrick":1,
"brown_mushroom_block":1,
"red_mushroom_block":1,
"iron_bars":47,
"glass_pane":47,
"melon_block":1,
"pumpkin_stem":0,
"melon_stem":0,
"vine":0,
"fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"stone_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"mycelium":1,
"waterlily":50,
"nether_brick":1,
"nether_brick_fence":37,
"nether_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"nether_wart":0,
"enchanting_table":4,
"brewing_stand":51,
"cauldron":52,
"end_portal":0,
"end_portal_frame":[81,81,81,81,82,82,82,82,81,81,81,81,82,82,82,82],
"end_stone":1,
"dragon_egg":53,
"redstone_lamp":1,
"lit_redstone_lamp":1,
"double_wooden_slab":1,
"wooden_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16],
"cocoa":[55,56,54,57,58,59,60,61,62,63,64,65,0,0,0,0],
"sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"emerald_ore":1,
"ender_chest":25,
"tripwire_hook":0,
"tripwire":0,
"emerald_block":1,
"spruce_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"birch_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"jungle_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"command_block":1,
"beacon":1,
"cobblestone_wall":66,
"flower_pot":67,
"carrots":0,
"potatoes":0,
"wooden_button":0,
"skull":[69,69,68,70,71,72,69,69,69,69,68,70,71,72,69,69],
"anvil":[73,74,73,74,73,74,73,74,73,74,73,74,0,0,0,0],
"trapped_chest":25,
"light_weighted_pressure_plate":0,
"heavy_weighted_pressure_plate":0,
"unpowered_comparator":31,
"powered_comparator":31,
"daylight_detector":33,
"redstone_block":1,
"quartz_ore":1,
"hopper":75,
"quartz_block":1,
"quartz_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"activator_rail":0,
"dropper":1,
"stained_hardened_clay":1,
"stained_glass_pane":47,
"leaves2":1,"log2":1,"acacia_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"dark_oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"slime":1,
"barrier":1,
"iron_trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28],
"prismarine":1,
"sea_lantern":1,
"hay_block":1,
"carpet":76,
"hardened_clay":1,
"coal_block":1,
"packed_ice":1,
"double_plant":0,
"standing_banner":0,
"wall_banner":0,
"daylight_detector_inverted":33,
"red_sandstone":1,
"red_sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"double_stone_slab2":1,"stone_slab2":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16],
"spruce_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"birch_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"jungle_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"dark_oak_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"acacia_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"spruce_fence":37,
"birch_fence":37,
"jungle_fence":37,
"dark_oak_fence":37,
"acacia_fence":37,
"spruce_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"birch_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"jungle_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"acacia_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"dark_oak_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"end_rod":[77,77,78,78,79,79,77,77,78,78,79,79,77,77,78,78],
"chorus_plant":80,
"chorus_flower":1,
"purpur_block":1,
"purpur_pillar":1,
"purpur_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"purpur_double_slab":1,
"purpur_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16],
"end_bricks":1,
"beetroots":0,
"grass_path":26,
"end_gateway":0,
"repeating_command_block":1,
"chain_command_block":1,
"frosted_ice":1,
"structure_block":1},
"shapes":{"0":[],
"1":[[0.0,0.0,0.0,1.0,1.0,1.0]],
"2":[[0.0,0.0,0.0,1.0,0.5625,1.0]],
"3":[[0.0,0.25,0.0,1.0,1.0,1.0]],
"4":[[0.0,0.0,0.0,1.0,0.75,1.0]],
"5":[[0.0,0.0,0.25,1.0,1.0,1.0]],
"6":[[0.0,0.0,0.0,1.0,1.0,0.75]],
"7":[[0.25,0.0,0.0,1.0,1.0,1.0]],
"8":[[0.0,0.0,0.0,0.75,1.0,1.0]],
"9":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.25]],
"10":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.25,0.625]],
"11":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,-0.25,0.375,0.625,0.75,0.625]],
"12":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,-0.25,0.625,0.625,0.75]],
"13":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.25,0.625,0.625]],
"14":[[0.75,0.0,0.0,1.0,1.0,1.0],[-0.25,0.375,0.375,0.75,0.625,0.625]],
"15":[[0.0,0.0,0.0,1.0,0.5,1.0]],
"16":[[0.0,0.5,0.0,1.0,1.0,1.0]],
"17":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]],
"18":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]],
"19":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0]],
"20":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0]],
"21":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,1.0]],
"22":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,0.5,0.5,1.0]],
"23":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.5,1.0,0.5,1.0]],
"24":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,0.5,0.5]],
"25":[[0.0625,0.0,0.0625,0.9375,0.875,0.9375]],
"26":[[0.0,0.0,0.0,1.0,0.9375,1.0]],
"27":[[0.0,0.0,0.8125,1.0,1.0,1.0]],
"28":[[0.0,0.0,0.0,0.1875,1.0,1.0]],
"29":[[0.0,0.0,0.0,1.0,1.0,0.1875]],
"30":[[0.8125,0.0,0.0,1.0,1.0,1.0]],
"31":[[0.0,0.0,0.0,1.0,0.125,1.0]],
"32":[[0.0,0.0,0.0,1.0,0.25,1.0]],
"33":[[0.0,0.0,0.0,1.0,0.375,1.0]],
"34":[[0.0,0.0,0.0,1.0,0.625,1.0]],
"35":[[0.0,0.0,0.0,1.0,0.875,1.0]],
"36":[[0.0625,0.0,0.0625,0.9375,0.9375,0.9375]],
"37":[[0.375,0.0,0.375,0.625,1.5,0.625]],
"38":[[0.0625,0.0,0.0625,0.9375,0.5,0.9375]],
"39":[[0.1875,0.0,0.0625,0.9375,0.5,0.9375]],
"40":[[0.3125,0.0,0.0625,0.9375,0.5,0.9375]],
"41":[[0.4375,0.0,0.0625,0.9375,0.5,0.9375]],
"42":[[0.5625,0.0,0.0625,0.9375,0.5,0.9375]],
"43":[[0.6875,0.0,0.0625,0.9375,0.5,0.9375]],
"44":[[0.8125,0.0,0.0625,0.9375,0.5,0.9375]],
"45":[[0.0,0.0,0.0,1.0,0.1875,1.0]],
"46":[[0.0,0.8125,0.0,1.0,1.0,1.0]],
"47":[[0.4375,0.0,0.4375,0.5625,1.0,0.5625]],
"48":[[0.0,0.0,0.375,1.0,1.5,0.625]],
"49":[[0.375,0.0,0.0,0.625,1.5,1.0]],
"50":[[0.0625,0.0,0.0625,0.9375,0.09375,0.9375]],
"51":[[0.4375,0.0,0.4375,0.5625,0.875,0.5625],[0.0,0.0,0.0,1.0,0.125,1.0]],
"52":[[0.0,0.0,0.0,1.0,0.3125,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.875,1.0,1.0,1.0]],
"53":[[0.0625,0.0,0.0625,0.9375,1.0,0.9375]],
"54":[[0.375,0.4375,0.0625,0.625,0.75,0.3125]],
"55":[[0.375,0.4375,0.6875,0.625,0.75,0.9375]],
"56":[[0.0625,0.4375,0.375,0.3125,0.75,0.625]],
"57":[[0.6875,0.4375,0.375,0.9375,0.75,0.625]],
"58":[[0.3125,0.3125,0.5625,0.6875,0.75,0.9375]],
"59":[[0.0625,0.3125,0.3125,0.4375,0.75,0.6875]],
"60":[[0.3125,0.3125,0.0625,0.6875,0.75,0.4375]],
"61":[[0.5625,0.3125,0.3125,0.9375,0.75,0.6875]],
"62":[[0.25,0.1875,0.4375,0.75,0.75,0.9375]],
"63":[[0.0625,0.1875,0.25,0.5625,0.75,0.75]],
"64":[[0.25,0.1875,0.0625,0.75,0.75,0.5625]],
"65":[[0.4375,0.1875,0.25,0.9375,0.75,0.75]],
"66":[[0.25,0.0,0.25,0.75,1.5,0.75]],
"67":[[0.3125,0.0,0.3125,0.6875,0.375,0.6875]],
"68":[[0.25,0.25,0.5,0.75,0.75,1.0]],
"69":[[0.25,0.0,0.25,0.75,0.5,0.75]],
"70":[[0.25,0.25,0.0,0.75,0.75,0.5]],
"71":[[0.5,0.25,0.25,1.0,0.75,0.75]],
"72":[[0.0,0.25,0.25,0.5,0.75,0.75]],
"73":[[0.125,0.0,0.0,0.875,1.0,1.0]],
"74":[[0.0,0.0,0.125,1.0,1.0,0.875]],
"75":[[0.0,0.0,0.0,1.0,0.625,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.0,0.0,0.875,1.0,1.0,1.0]],
"76":[[0.0,0.0,0.0,1.0,0.0625,1.0]],
"77":[[0.375,0.0,0.375,0.625,1.0,0.625]],
"78":[[0.375,0.375,0.0,0.625,0.625,1.0]],
"79":[[0.0,0.375,0.375,1.0,0.625,0.625]],
"80":[[0.1875,0.1875,0.1875,0.8125,0.8125,0.8125]],
"81":[[0.0,0.0,0.0,1.0,0.8125,1.0]],
"82":[[0.0,0.0,0.0,1.0,0.8125,1.0],[0.3125,0.8125,0.3125,0.6875,1.0,0.6875]]}}
File diff suppressed because it is too large Load Diff
+164
View File
@@ -0,0 +1,164 @@
[
{
"id": 1,
"name": "Speed",
"displayName": "Speed",
"type": "good"
},
{
"id": 2,
"name": "Slowness",
"displayName": "Slowness",
"type": "bad"
},
{
"id": 3,
"name": "Haste",
"displayName": "Haste",
"type": "good"
},
{
"id": 4,
"name": "MiningFatigue",
"displayName": "Mining Fatigue",
"type": "bad"
},
{
"id": 5,
"name": "Strength",
"displayName": "Strength",
"type": "good"
},
{
"id": 6,
"name": "InstantHealth",
"displayName": "Instant Health",
"type": "good"
},
{
"id": 7,
"name": "InstantDamage",
"displayName": "Instant Damage",
"type": "bad"
},
{
"id": 8,
"name": "JumpBoost",
"displayName": "Jump Boost",
"type": "good"
},
{
"id": 9,
"name": "Nausea",
"displayName": "Nausea",
"type": "bad"
},
{
"id": 10,
"name": "Regeneration",
"displayName": "Regeneration",
"type": "good"
},
{
"id": 11,
"name": "Resistance",
"displayName": "Resistance",
"type": "good"
},
{
"id": 12,
"name": "FireResistance",
"displayName": "Fire Resistance",
"type": "good"
},
{
"id": 13,
"name": "WaterBreathing",
"displayName": "Water Breathing",
"type": "good"
},
{
"id": 14,
"name": "Invisibility",
"displayName": "Invisibility",
"type": "good"
},
{
"id": 15,
"name": "Blindness",
"displayName": "Blindness",
"type": "bad"
},
{
"id": 16,
"name": "NightVision",
"displayName": "Night Vision",
"type": "good"
},
{
"id": 17,
"name": "Hunger",
"displayName": "Hunger",
"type": "bad"
},
{
"id": 18,
"name": "Weakness",
"displayName": "Weakness",
"type": "bad"
},
{
"id": 19,
"name": "Poison",
"displayName": "Poison",
"type": "bad"
},
{
"id": 20,
"name": "Wither",
"displayName": "Wither",
"type": "bad"
},
{
"id": 21,
"name": "HealthBoost",
"displayName": "Health Boost",
"type": "good"
},
{
"id": 22,
"name": "Absorption",
"displayName": "Absorption",
"type": "good"
},
{
"id": 23,
"name": "Saturation",
"displayName": "Saturation",
"type": "good"
},
{
"id": 24,
"name": "Glowing",
"displayName": "Glowing",
"type": "bad"
},
{
"id": 25,
"name": "Levitation",
"displayName": "Levitation",
"type": "bad"
},
{
"id": 26,
"name": "Luck",
"displayName": "Luck",
"type": "good"
},
{
"id": 27,
"name": "BadLuck",
"displayName": "Bad Luck",
"type": "bad"
}
]
@@ -0,0 +1,606 @@
[
{
"id": 0,
"name": "protection",
"displayName": "Protection",
"maxLevel": 4,
"minCost": {
"a": 11,
"b": -10
},
"maxCost": {
"a": 11,
"b": 1
},
"exclude": [
"blast_protection",
"fire_protection",
"projectile_protection"
],
"category": "armor",
"weight": 10,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 1,
"name": "fire_protection",
"displayName": "Fire Protection",
"maxLevel": 4,
"minCost": {
"a": 8,
"b": 2
},
"maxCost": {
"a": 8,
"b": 10
},
"exclude": [
"blast_protection",
"protection",
"projectile_protection"
],
"category": "armor",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 2,
"name": "feather_falling",
"displayName": "Feather Falling",
"maxLevel": 4,
"minCost": {
"a": 6,
"b": -1
},
"maxCost": {
"a": 6,
"b": 5
},
"exclude": [],
"category": "armor_feet",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 3,
"name": "blast_protection",
"displayName": "Blast Protection",
"maxLevel": 4,
"minCost": {
"a": 8,
"b": -3
},
"maxCost": {
"a": 8,
"b": 5
},
"exclude": [
"fire_protection",
"protection",
"projectile_protection"
],
"category": "armor",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 4,
"name": "projectile_protection",
"displayName": "Projectile Protection",
"maxLevel": 4,
"minCost": {
"a": 6,
"b": -3
},
"maxCost": {
"a": 6,
"b": 3
},
"exclude": [
"protection",
"blast_protection",
"fire_protection"
],
"category": "armor",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 5,
"name": "respiration",
"displayName": "Respiration",
"maxLevel": 3,
"minCost": {
"a": 10,
"b": 0
},
"maxCost": {
"a": 10,
"b": 30
},
"exclude": [],
"category": "armor_head",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 6,
"name": "aqua_affinity",
"displayName": "Aqua Affinity",
"maxLevel": 1,
"minCost": {
"a": 0,
"b": 1
},
"maxCost": {
"a": 0,
"b": 41
},
"exclude": [],
"category": "armor_head",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 7,
"name": "thorns",
"displayName": "Thorns",
"maxLevel": 3,
"minCost": {
"a": 20,
"b": -10
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "armor_chest",
"weight": 1,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 8,
"name": "depth_strider",
"displayName": "Depth Strider",
"maxLevel": 3,
"minCost": {
"a": 10,
"b": 0
},
"maxCost": {
"a": 10,
"b": 15
},
"exclude": [
"frost_walker"
],
"category": "armor_feet",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 9,
"name": "frost_walker",
"displayName": "Frost Walker",
"maxLevel": 2,
"minCost": {
"a": 10,
"b": 0
},
"maxCost": {
"a": 10,
"b": 15
},
"exclude": [
"depth_strider"
],
"category": "armor_feet",
"weight": 2,
"treasureOnly": true,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 16,
"name": "sharpness",
"displayName": "Sharpness",
"maxLevel": 5,
"minCost": {
"a": 11,
"b": -10
},
"maxCost": {
"a": 11,
"b": 10
},
"exclude": [
"smite",
"bane_of_arthropods"
],
"category": "weapon",
"weight": 10,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 17,
"name": "smite",
"displayName": "Smite",
"maxLevel": 5,
"minCost": {
"a": 8,
"b": -3
},
"maxCost": {
"a": 8,
"b": 17
},
"exclude": [
"sharpness",
"bane_of_arthropods"
],
"category": "weapon",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 18,
"name": "bane_of_arthropods",
"displayName": "Bane of Arthropods",
"maxLevel": 5,
"minCost": {
"a": 8,
"b": -3
},
"maxCost": {
"a": 8,
"b": 17
},
"exclude": [
"smite",
"sharpness"
],
"category": "weapon",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 19,
"name": "knockback",
"displayName": "Knockback",
"maxLevel": 2,
"minCost": {
"a": 20,
"b": -15
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "weapon",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 20,
"name": "fire_aspect",
"displayName": "Fire Aspect",
"maxLevel": 2,
"minCost": {
"a": 20,
"b": -10
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "weapon",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 21,
"name": "looting",
"displayName": "Looting",
"maxLevel": 3,
"minCost": {
"a": 9,
"b": 6
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "weapon",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 32,
"name": "efficiency",
"displayName": "Efficiency",
"maxLevel": 5,
"minCost": {
"a": 10,
"b": -9
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "digger",
"weight": 10,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 33,
"name": "silk_touch",
"displayName": "Silk Touch",
"maxLevel": 1,
"minCost": {
"a": 0,
"b": 15
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [
"fortune"
],
"category": "digger",
"weight": 1,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 34,
"name": "unbreaking",
"displayName": "Unbreaking",
"maxLevel": 3,
"minCost": {
"a": 8,
"b": -3
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "breakable",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 35,
"name": "fortune",
"displayName": "Fortune",
"maxLevel": 3,
"minCost": {
"a": 9,
"b": 6
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [
"silk_touch"
],
"category": "digger",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 48,
"name": "power",
"displayName": "Power",
"maxLevel": 5,
"minCost": {
"a": 10,
"b": -9
},
"maxCost": {
"a": 10,
"b": 6
},
"exclude": [],
"category": "bow",
"weight": 10,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 49,
"name": "punch",
"displayName": "Punch",
"maxLevel": 2,
"minCost": {
"a": 20,
"b": -8
},
"maxCost": {
"a": 20,
"b": 17
},
"exclude": [],
"category": "bow",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 50,
"name": "flame",
"displayName": "Flame",
"maxLevel": 1,
"minCost": {
"a": 0,
"b": 20
},
"maxCost": {
"a": 0,
"b": 50
},
"exclude": [],
"category": "bow",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 51,
"name": "infinity",
"displayName": "Infinity",
"maxLevel": 1,
"minCost": {
"a": 0,
"b": 20
},
"maxCost": {
"a": 0,
"b": 50
},
"exclude": [
"mending"
],
"category": "bow",
"weight": 1,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 61,
"name": "luck_of_the_sea",
"displayName": "Luck of the Sea",
"maxLevel": 3,
"minCost": {
"a": 9,
"b": 6
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "fishing_rod",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 62,
"name": "lure",
"displayName": "Lure",
"maxLevel": 3,
"minCost": {
"a": 9,
"b": 6
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "fishing_rod",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 70,
"name": "mending",
"displayName": "Mending",
"maxLevel": 1,
"minCost": {
"a": 25,
"b": 0
},
"maxCost": {
"a": 25,
"b": 50
},
"exclude": [
"infinity"
],
"category": "breakable",
"weight": 2,
"treasureOnly": true,
"curse": false,
"tradeable": true,
"discoverable": true
}
]
+638
View File
@@ -0,0 +1,638 @@
[
{
"id": 48,
"internalId": 48,
"name": "Mob",
"displayName": "Mob",
"type": "mob",
"width": null,
"height": null,
"category": "Generic"
},
{
"id": 49,
"internalId": 49,
"name": "Monster",
"displayName": "Monster",
"type": "mob",
"width": null,
"height": null,
"category": "Generic"
},
{
"id": 50,
"internalId": 50,
"name": "Creeper",
"displayName": "Creeper",
"type": "mob",
"width": 0.6,
"height": 1.8,
"category": "Hostile mobs"
},
{
"id": 51,
"internalId": 51,
"name": "Skeleton",
"displayName": "Skeleton",
"type": "mob",
"width": 0.6,
"height": 1.95,
"category": "Hostile mobs"
},
{
"id": 52,
"internalId": 52,
"name": "Spider",
"displayName": "Spider",
"type": "mob",
"width": 1.4,
"height": 0.9,
"category": "Hostile mobs"
},
{
"id": 53,
"internalId": 53,
"name": "Giant",
"displayName": "Giant",
"type": "mob",
"width": 3.5999999999999996,
"height": 10.8,
"category": "Hostile mobs"
},
{
"id": 54,
"internalId": 54,
"name": "Zombie",
"displayName": "Zombie",
"type": "mob",
"width": 0.6,
"height": 1.8,
"category": "Hostile mobs"
},
{
"id": 55,
"internalId": 55,
"name": "Slime",
"displayName": "Slime",
"type": "mob",
"width": 0.51000005,
"height": 0.51000005,
"category": "Hostile mobs"
},
{
"id": 56,
"internalId": 56,
"name": "Ghast",
"displayName": "Ghast",
"type": "mob",
"width": 4,
"height": 4,
"category": "Hostile mobs"
},
{
"id": 57,
"internalId": 57,
"name": "PigZombie",
"displayName": "Zombie Pigman",
"type": "mob",
"width": 0.6,
"height": 1.8,
"category": "Hostile mobs"
},
{
"id": 58,
"internalId": 58,
"name": "Enderman",
"displayName": "Enderman",
"type": "mob",
"width": 0.6,
"height": 2.9,
"category": "Hostile mobs"
},
{
"id": 59,
"internalId": 59,
"name": "CaveSpider",
"displayName": "Cave Spider",
"type": "mob",
"width": 0.7,
"height": 0.5,
"category": "Hostile mobs"
},
{
"id": 60,
"internalId": 60,
"name": "Silverfish",
"displayName": "Silverfish",
"type": "mob",
"width": 0.4,
"height": 0.3,
"category": "Hostile mobs"
},
{
"id": 61,
"internalId": 61,
"name": "Blaze",
"displayName": "Blaze",
"type": "mob",
"width": 0.6,
"height": 1.8,
"category": "Hostile mobs"
},
{
"id": 62,
"internalId": 62,
"name": "LavaSlime",
"displayName": "Magma Cube",
"type": "mob",
"width": 0.51000005,
"height": 0.51000005,
"category": "Hostile mobs"
},
{
"id": 63,
"internalId": 63,
"name": "EnderDragon",
"displayName": "Ender Dragon",
"type": "mob",
"width": 16,
"height": 8,
"category": "Hostile mobs"
},
{
"id": 64,
"internalId": 64,
"name": "WitherBoss",
"displayName": "Wither",
"type": "mob",
"width": 0.9,
"height": 3.5,
"category": "Hostile mobs"
},
{
"id": 65,
"internalId": 65,
"name": "Bat",
"displayName": "Bat",
"type": "mob",
"width": 0.5,
"height": 0.9,
"category": "Passive mobs"
},
{
"id": 66,
"internalId": 66,
"name": "Witch",
"displayName": "Witch",
"type": "mob",
"width": 0.6,
"height": 1.8,
"category": "Hostile mobs"
},
{
"id": 67,
"internalId": 67,
"name": "Endermite",
"displayName": "Endermite",
"type": "mob",
"width": 0.4,
"height": 0.3,
"category": "Hostile mobs"
},
{
"id": 68,
"internalId": 68,
"name": "Guardian",
"displayName": "Guardian",
"type": "mob",
"width": 0.85,
"height": 0.85,
"category": "Hostile mobs"
},
{
"id": 69,
"internalId": 69,
"name": "Shulker",
"displayName": "Shulker",
"type": "mob",
"width": 1,
"height": 1,
"category": "Hostile mobs"
},
{
"id": 90,
"internalId": 90,
"name": "Pig",
"displayName": "Pig",
"type": "mob",
"width": 0.9,
"height": 0.9,
"category": "Passive mobs"
},
{
"id": 91,
"internalId": 91,
"name": "Sheep",
"displayName": "Sheep",
"type": "mob",
"width": 0.9,
"height": 1.3,
"category": "Passive mobs"
},
{
"id": 92,
"internalId": 92,
"name": "Cow",
"displayName": "Cow",
"type": "mob",
"width": 0.9,
"height": 1.3,
"category": "Passive mobs"
},
{
"id": 93,
"internalId": 93,
"name": "Chicken",
"displayName": "Chicken",
"type": "mob",
"width": 0.4,
"height": 0.7,
"category": "Passive mobs"
},
{
"id": 94,
"internalId": 94,
"name": "Squid",
"displayName": "Squid",
"type": "mob",
"width": 0.95,
"height": 0.95,
"category": "Passive mobs"
},
{
"id": 95,
"internalId": 95,
"name": "Wolf",
"displayName": "Wolf",
"type": "mob",
"width": 0.6,
"height": 0.8,
"category": "Passive mobs"
},
{
"id": 96,
"internalId": 96,
"name": "MushroomCow",
"displayName": "Mooshroom",
"type": "mob",
"width": 0.9,
"height": 1.3,
"category": "Passive mobs"
},
{
"id": 97,
"internalId": 97,
"name": "SnowMan",
"displayName": "Snow Golem",
"type": "mob",
"width": 0.7,
"height": 1.9,
"category": "Passive mobs"
},
{
"id": 98,
"internalId": 98,
"name": "Ozelot",
"displayName": "Ocelot",
"type": "mob",
"width": 0.6,
"height": 0.8,
"category": "Passive mobs"
},
{
"id": 99,
"internalId": 99,
"name": "VillagerGolem",
"displayName": "Iron Golem",
"type": "mob",
"width": 1.4,
"height": 2.9,
"category": "Passive mobs"
},
{
"id": 100,
"internalId": 100,
"name": "EntityHorse",
"displayName": "Horse",
"type": "mob",
"width": 1.4,
"height": 1.6,
"category": "Passive mobs"
},
{
"id": 101,
"internalId": 101,
"name": "Rabbit",
"displayName": "Rabbit",
"type": "mob",
"width": 0.6,
"height": 0.7,
"category": "Passive mobs"
},
{
"id": 120,
"internalId": 120,
"name": "Villager",
"displayName": "Villager",
"type": "mob",
"width": 0.6,
"height": 1.8,
"category": "NPCs"
},
{
"id": 1,
"internalId": 41,
"name": "Boat",
"displayName": "Boat",
"type": "object",
"width": 1.5,
"height": 0.6,
"category": "Vehicles"
},
{
"id": 2,
"internalId": 1,
"name": "Item",
"displayName": "Dropped item",
"type": "object",
"width": 0.25,
"height": 0.25,
"category": "Drops"
},
{
"id": 3,
"internalId": 2,
"name": "XPOrb",
"displayName": "Experience Orb",
"type": "object",
"width": null,
"height": null,
"category": "Drops"
},
{
"id": 10,
"internalId": 42,
"name": "MinecartRideable",
"displayName": "Minecart",
"type": "object",
"width": 0.98,
"height": 0.7,
"category": "Vehicles"
},
{
"id": 11,
"internalId": 42,
"name": "MinecartRideable",
"displayName": "Minecart",
"type": "object",
"width": 0.98,
"height": 0.7,
"category": "Vehicles"
},
{
"id": 12,
"internalId": 42,
"name": "MinecartRideable",
"displayName": "Minecart",
"type": "object",
"width": 0.98,
"height": 0.7,
"category": "Vehicles"
},
{
"id": 50,
"internalId": 20,
"name": "PrimedTnt",
"displayName": "Primed TNT",
"type": "object",
"width": 0.98,
"height": 0.98,
"category": "Blocks"
},
{
"id": 51,
"internalId": 200,
"name": "EnderCrystal",
"displayName": "Ender Crystal",
"type": "object",
"width": 2,
"height": 2,
"category": "Immobile"
},
{
"id": 60,
"internalId": 10,
"name": "Arrow",
"displayName": "Shot arrow",
"type": "object",
"width": 0.5,
"height": 0.5,
"category": "Projectiles"
},
{
"id": 61,
"internalId": 11,
"name": "Snowball",
"displayName": "Thrown snowball",
"type": "object",
"width": 0.25,
"height": 0.25,
"category": "Projectiles"
},
{
"id": 62,
"internalId": 7,
"name": "ThrownEgg",
"displayName": "Thrown egg",
"type": "object",
"width": 0.25,
"height": 0.25,
"category": "Projectiles"
},
{
"id": 63,
"internalId": 12,
"name": "Fireball",
"displayName": "Ghast fireball",
"type": "object",
"width": 1,
"height": 1,
"category": "Projectiles"
},
{
"id": 64,
"internalId": 13,
"name": "SmallFireball",
"displayName": "Blaze fireball",
"type": "object",
"width": 0.3125,
"height": 0.3125,
"category": "Projectiles"
},
{
"id": 65,
"internalId": 14,
"name": "ThrownEnderpearl",
"displayName": "Thrown Ender Pearl",
"type": "object",
"width": 0.25,
"height": 0.25,
"category": "Projectiles"
},
{
"id": 66,
"internalId": 19,
"name": "WitherSkull",
"displayName": "Wither Skull",
"type": "object",
"width": 0.3125,
"height": 0.3125,
"category": "Projectiles"
},
{
"id": 67,
"internalId": 69,
"name": "Shulker",
"displayName": "Shulker",
"type": "object",
"width": 0.3125,
"height": 0.3125,
"category": "Hostile mobs"
},
{
"id": 70,
"internalId": 21,
"name": "FallingSand",
"displayName": "Falling block",
"type": "object",
"width": 0.98,
"height": 0.98,
"category": "Blocks"
},
{
"id": 71,
"internalId": 18,
"name": "ItemFrame",
"displayName": "Item Frame",
"type": "object",
"width": null,
"height": null,
"category": "Immobile"
},
{
"id": 72,
"internalId": 15,
"name": "EyeOfEnderSignal",
"displayName": "Thrown Eye of Ender",
"type": "object",
"width": 0.25,
"height": 0.25,
"category": "Projectiles"
},
{
"id": 73,
"internalId": 16,
"name": "ThrownPotion",
"displayName": "Thrown splash potion",
"type": "object",
"width": 0.25,
"height": 0.25,
"category": "Projectiles"
},
{
"id": 74,
"internalId": 21,
"name": "FallingSand",
"displayName": "Falling block",
"type": "object",
"width": 0.98,
"height": 0.98,
"category": "Blocks"
},
{
"id": 75,
"internalId": 17,
"name": "ThrownExpBottle",
"displayName": "Thrown Bottle o' Enchanting",
"type": "object",
"width": 0.25,
"height": 0.25,
"category": "Projectiles"
},
{
"id": 76,
"internalId": 22,
"name": "FireworksRocketEntity",
"displayName": "Firework Rocket",
"type": "object",
"width": 0.25,
"height": 0.25,
"category": "Projectiles"
},
{
"id": 77,
"internalId": 8,
"name": "LeashKnot",
"displayName": "Lead knot",
"type": "object",
"width": 0.5,
"height": 0.5,
"category": "Immobile"
},
{
"id": 78,
"internalId": 30,
"name": "ArmorStand",
"displayName": "Armor Stand",
"type": "object",
"width": 0.5,
"height": 2,
"category": "Immobile"
},
{
"id": 90,
"name": "Fishing Float",
"displayName": "Fishing Float",
"type": "object",
"width": 0.25,
"height": 0.25
},
{
"id": 91,
"internalId": 10,
"name": "Arrow",
"displayName": "Shot arrow",
"type": "object",
"width": 0.5,
"height": 0.5,
"category": "Projectiles"
},
{
"id": 92,
"internalId": 10,
"name": "Arrow",
"displayName": "Shot arrow",
"type": "object",
"width": 0.5,
"height": 0.5,
"category": "Projectiles"
},
{
"id": 93,
"name": "Dragon Fireball",
"displayName": "Dragon Fireball",
"type": "object",
"width": 0.3125,
"height": 0.3125
}
]
+340
View File
@@ -0,0 +1,340 @@
[
{
"id": 103,
"displayName": "Melon",
"name": "melon_block",
"stackSize": 64,
"foodPoints": 2,
"saturation": 1.2,
"effectiveQuality": 3.2,
"saturationRatio": 0.6
},
{
"id": 141,
"displayName": "Carrot",
"name": "carrots",
"stackSize": 64,
"foodPoints": 3,
"saturation": 3.6,
"effectiveQuality": 6.6,
"saturationRatio": 1.2
},
{
"id": 142,
"displayName": "Potato",
"name": "potatoes",
"stackSize": 64,
"foodPoints": 1,
"saturation": 0.6,
"effectiveQuality": 1.6,
"saturationRatio": 0.6
},
{
"id": 260,
"displayName": "Apple",
"stackSize": 64,
"name": "apple",
"foodPoints": 4,
"saturation": 2.4,
"effectiveQuality": 6.4,
"saturationRatio": 0.6
},
{
"id": 282,
"displayName": "Mushroom Stew",
"stackSize": 1,
"name": "mushroom_stew",
"foodPoints": 6,
"saturation": 7.2,
"effectiveQuality": 13.2,
"saturationRatio": 1.2
},
{
"id": 297,
"displayName": "Bread",
"stackSize": 64,
"name": "bread",
"foodPoints": 5,
"saturation": 6,
"effectiveQuality": 11,
"saturationRatio": 1.2
},
{
"id": 319,
"displayName": "Raw Porkchop",
"stackSize": 64,
"name": "porkchop",
"foodPoints": 3,
"saturation": 1.8,
"effectiveQuality": 4.8,
"saturationRatio": 0.6
},
{
"id": 320,
"displayName": "Cooked Porkchop",
"stackSize": 64,
"name": "cooked_porkchop",
"foodPoints": 8,
"saturation": 12.8,
"effectiveQuality": 20.8,
"saturationRatio": 1.6
},
{
"id": 322,
"displayName": "Golden Apple",
"stackSize": 64,
"name": "golden_apple",
"variations": [
{
"metadata": 0,
"displayName": "Golden Apple"
},
{
"metadata": 1,
"displayName": "Enchanted Golden Apple"
}
],
"foodPoints": 4,
"saturation": 9.6,
"effectiveQuality": 13.6,
"saturationRatio": 2.4
},
{
"id": 349,
"displayName": "Raw Fish",
"stackSize": 64,
"name": "fish",
"variations": [
{
"metadata": 0,
"displayName": "Raw Fish"
},
{
"metadata": 1,
"displayName": "Raw Salmon"
},
{
"metadata": 2,
"displayName": "Clownfish"
},
{
"metadata": 3,
"displayName": "Pufferfish"
}
],
"foodPoints": 2,
"saturation": 0.4,
"effectiveQuality": 2.4,
"saturationRatio": 0.2
},
{
"id": 350,
"displayName": "Cooked Fish",
"stackSize": 64,
"name": "cooked_fish",
"foodPoints": 5,
"saturation": 6,
"effectiveQuality": 11,
"saturationRatio": 1.2
},
{
"id": 354,
"displayName": "Cake",
"stackSize": 1,
"name": "cake",
"foodPoints": 2,
"saturation": 0.4,
"effectiveQuality": 2.4,
"saturationRatio": 0.2
},
{
"id": 357,
"displayName": "Cookie",
"stackSize": 64,
"name": "cookie",
"foodPoints": 2,
"saturation": 0.4,
"effectiveQuality": 2.4,
"saturationRatio": 0.2
},
{
"id": 363,
"displayName": "Raw Beef",
"stackSize": 64,
"name": "beef",
"foodPoints": 3,
"saturation": 1.8,
"effectiveQuality": 4.8,
"saturationRatio": 0.6
},
{
"id": 364,
"displayName": "Steak",
"stackSize": 64,
"name": "cooked_beef",
"foodPoints": 8,
"saturation": 12.8,
"effectiveQuality": 20.8,
"saturationRatio": 1.6
},
{
"id": 365,
"displayName": "Raw Chicken",
"stackSize": 64,
"name": "chicken",
"foodPoints": 2,
"saturation": 1.2,
"effectiveQuality": 3.2,
"saturationRatio": 0.6
},
{
"id": 366,
"displayName": "Cooked Chicken",
"stackSize": 64,
"name": "cooked_chicken",
"foodPoints": 6,
"saturation": 7.2,
"effectiveQuality": 13.2,
"saturationRatio": 1.2
},
{
"id": 367,
"displayName": "Rotten Flesh",
"stackSize": 64,
"name": "rotten_flesh",
"foodPoints": 4,
"saturation": 0.8,
"effectiveQuality": 4.8,
"saturationRatio": 0.2
},
{
"id": 375,
"displayName": "Spider Eye",
"stackSize": 64,
"name": "spider_eye",
"foodPoints": 2,
"saturation": 3.2,
"effectiveQuality": 5.2,
"saturationRatio": 1.6
},
{
"id": 393,
"displayName": "Baked Potato",
"stackSize": 64,
"name": "baked_potato",
"foodPoints": 5,
"saturation": 6,
"effectiveQuality": 11,
"saturationRatio": 1.2
},
{
"id": 394,
"displayName": "Poisonous Potato",
"stackSize": 64,
"name": "poisonous_potato",
"foodPoints": 2,
"saturation": 1.2,
"effectiveQuality": 3.2,
"saturationRatio": 0.6
},
{
"id": 396,
"displayName": "Golden Carrot",
"stackSize": 64,
"name": "golden_carrot",
"foodPoints": 6,
"saturation": 14.4,
"effectiveQuality": 20.4,
"saturationRatio": 2.4
},
{
"id": 400,
"displayName": "Pumpkin Pie",
"stackSize": 64,
"name": "pumpkin_pie",
"foodPoints": 8,
"saturation": 4.8,
"effectiveQuality": 12.8,
"saturationRatio": 0.6
},
{
"id": 411,
"displayName": "Raw Rabbit",
"stackSize": 64,
"name": "rabbit",
"foodPoints": 3,
"saturation": 1.8,
"effectiveQuality": 4.8,
"saturationRatio": 0.6
},
{
"id": 412,
"displayName": "Cooked Rabbit",
"stackSize": 64,
"name": "cooked_rabbit",
"foodPoints": 5,
"saturation": 6,
"effectiveQuality": 11,
"saturationRatio": 1.2
},
{
"id": 413,
"displayName": "Rabbit Stew",
"stackSize": 1,
"name": "rabbit_stew",
"foodPoints": 10,
"saturation": 12,
"effectiveQuality": 22,
"saturationRatio": 1.2
},
{
"id": 423,
"displayName": "Raw Mutton",
"stackSize": 64,
"name": "mutton",
"foodPoints": 2,
"saturation": 1.2,
"effectiveQuality": 3.2,
"saturationRatio": 0.6
},
{
"id": 424,
"displayName": "Cooked Mutton",
"stackSize": 64,
"name": "cooked_mutton",
"foodPoints": 6,
"saturation": 9.6,
"effectiveQuality": 15.6,
"saturationRatio": 1.5999999999999999
},
{
"id": 432,
"displayName": "Chorus Fruit",
"stackSize": 64,
"name": "chorus_fruit",
"foodPoints": 4,
"saturation": 2.4,
"effectiveQuality": 6.4,
"saturationRatio": 0.6
},
{
"id": 434,
"displayName": "Beetroot",
"stackSize": 64,
"name": "beetroot",
"foodPoints": 1,
"saturation": 1.2,
"effectiveQuality": 2.2,
"saturationRatio": 1.2
},
{
"id": 436,
"displayName": "Beetroot Soup",
"stackSize": 1,
"name": "beetroot_soup",
"foodPoints": 6,
"saturation": 7.2,
"effectiveQuality": 13.2,
"saturationRatio": 1.2
}
]
@@ -0,0 +1,22 @@
[
{
"id": 0,
"name": "harp"
},
{
"id": 1,
"name": "doubleBass"
},
{
"id": 2,
"name": "snareDrum"
},
{
"id": 3,
"name": "sticks"
},
{
"id": 4,
"name": "bassDrum"
}
]
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,61 @@
{
"rock": {
"257": 6,
"270": 2,
"274": 4,
"278": 8,
"285": 12
},
"wood": {
"258": 6,
"271": 2,
"275": 4,
"279": 8,
"286": 12
},
"plant": {
"258": 6,
"267": 1.5,
"268": 1.5,
"271": 2,
"272": 1.5,
"275": 4,
"276": 1.5,
"279": 8,
"283": 1.5,
"286": 12
},
"melon": {
"267": 1.5,
"268": 1.5,
"272": 1.5,
"276": 1.5,
"283": 1.5
},
"leaves": {
"267": 1.5,
"268": 1.5,
"272": 1.5,
"276": 1.5,
"283": 1.5,
"359": 6
},
"dirt": {
"256": 6,
"269": 2,
"273": 4,
"277": 8,
"284": 12
},
"web": {
"267": 15,
"268": 15,
"272": 15,
"276": 15,
"283": 15,
"359": 15
},
"wool": {
"359": 4.8
}
}
+190
View File
@@ -0,0 +1,190 @@
[
{
"id": 0,
"name": "explode"
},
{
"id": 1,
"name": "largeexplode"
},
{
"id": 2,
"name": "hugeexplosion"
},
{
"id": 3,
"name": "fireworksSpark"
},
{
"id": 4,
"name": "bubble"
},
{
"id": 5,
"name": "splash"
},
{
"id": 6,
"name": "wake"
},
{
"id": 7,
"name": "suspended"
},
{
"id": 8,
"name": "depthsuspend"
},
{
"id": 9,
"name": "crit"
},
{
"id": 10,
"name": "magicCrit"
},
{
"id": 11,
"name": "smoke"
},
{
"id": 12,
"name": "largesmoke"
},
{
"id": 13,
"name": "spell"
},
{
"id": 14,
"name": "instantSpell"
},
{
"id": 15,
"name": "mobSpell"
},
{
"id": 16,
"name": "mobSpellAmbient"
},
{
"id": 17,
"name": "witchMagic"
},
{
"id": 18,
"name": "dripWater"
},
{
"id": 19,
"name": "dripLava"
},
{
"id": 20,
"name": "angryVillager"
},
{
"id": 21,
"name": "happyVillager"
},
{
"id": 22,
"name": "townaura"
},
{
"id": 23,
"name": "note"
},
{
"id": 24,
"name": "portal"
},
{
"id": 25,
"name": "enchantmenttable"
},
{
"id": 26,
"name": "flame"
},
{
"id": 27,
"name": "lava"
},
{
"id": 28,
"name": "footstep"
},
{
"id": 29,
"name": "cloud"
},
{
"id": 30,
"name": "reddust"
},
{
"id": 31,
"name": "snowballpoof"
},
{
"id": 32,
"name": "snowshovel"
},
{
"id": 33,
"name": "slime"
},
{
"id": 34,
"name": "heart"
},
{
"id": 35,
"name": "barrier"
},
{
"id": 36,
"name": "iconcrack"
},
{
"id": 37,
"name": "blockcrack"
},
{
"id": 38,
"name": "blockdust"
},
{
"id": 39,
"name": "droplet"
},
{
"id": 40,
"name": "take"
},
{
"id": 41,
"name": "mobappearance"
},
{
"id": 42,
"name": "dragonbreath"
},
{
"id": 43,
"name": "endRod"
},
{
"id": 44,
"name": "damageIndicator"
},
{
"id": 45,
"name": "sweepAttack"
},
{
"id": 46,
"name": "fallingdust"
}
]
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+5
View File
@@ -0,0 +1,5 @@
{
"version":210,
"minecraftVersion":"1.10",
"majorVersion":"1.10"
}
+229
View File
@@ -0,0 +1,229 @@
[
{
"id": "",
"name": "Player",
"slots": [
{
"name": "craft result",
"index": 0
},
{
"name": "craft grid",
"index": 1,
"size": 4
},
{
"name": "armor",
"index": 5,
"size": 4
},
{
"name": "helmet",
"index": 5
},
{
"name": "chestplate",
"index": 6
},
{
"name": "leggings",
"index": 7
},
{
"name": "boots",
"index": 8
}
]
},
{
"id": "EntityHorse",
"name": "Horse",
"slots": [
{
"name": "saddle",
"index": 0
},
{
"name": "armor",
"index": 1
},
{
"name": "storage",
"index": 2,
"size": 15
}
],
"openedWith": [
{
"type": "entity",
"id": 100
}
]
},
{
"id": "minecraft:anvil",
"name": "Anvil",
"slots": [
{
"name": "tool",
"index": 0
},
{
"name": "combined",
"index": 1
},
{
"name": "result",
"index": 2
}
],
"properties": [
"repair cost"
]
},
{
"id": "minecraft:beacon",
"name": "Beacon",
"slots": [
{
"name": "input",
"index": 0
}
],
"properties": [
"level",
"effect 1",
"effect 2"
],
"openedWith": [
{
"type": "block",
"id": 138
}
]
},
{
"id": "minecraft:brewing_stand",
"name": "Brewing Stand",
"slots": [
{
"name": "ingredient",
"index": 0
},
{
"name": "result",
"index": 1,
"size": 3
}
],
"properties": [
"brew time"
],
"openedWith": [
{
"type": "block",
"id": 117
}
]
},
{
"id": "minecraft:chest",
"name": "Chest"
},
{
"id": "minecraft:container",
"name": "Container"
},
{
"id": "minecraft:crafting_table",
"name": "Workbench",
"slots": [
{
"name": "craft result",
"index": 0
},
{
"name": "craft grid",
"index": 1,
"size": 9
}
]
},
{
"id": "minecraft:dispenser",
"name": "Dispenser"
},
{
"id": "minecraft:dropper",
"name": "Dropper"
},
{
"id": "minecraft:enchanting_table",
"name": "Enchantment Table",
"slots": [
{
"name": "enchanted",
"index": 0
},
{
"name": "lapis",
"index": 1
}
],
"properties": [
"xp 1",
"xp 2",
"xp 3",
"seed",
"tooltip 1",
"tooltip 2",
"tooltip 3"
]
},
{
"id": "minecraft:furnace",
"name": "Furnace",
"slots": [
{
"name": "smelted",
"index": 0
},
{
"name": "fuel",
"index": 1
},
{
"name": "result",
"index": 2
}
],
"properties": [
"fuel",
"fuel max",
"progress",
"progress max"
]
},
{
"id": "minecraft:hopper",
"name": "Hopper"
},
{
"id": "minecraft:villager",
"name": "NPC Trade",
"slots": [
{
"name": "give 1",
"index": 0
},
{
"name": "give 2",
"index": 1
},
{
"name": "take",
"index": 2
}
]
}
]
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,5 @@
{
"minecraftVersion": "1.11.2",
"version":316,
"majorVersion": "1.11"
}
@@ -0,0 +1,93 @@
[
{
"name": "maxHealth",
"resource": "generic.maxHealth",
"default": 20,
"min": 1,
"max": 1024
},
{
"name": "followRange",
"resource": "generic.followRange",
"default": 32,
"min": 0,
"max": 2048
},
{
"name": "knockbackResistance",
"resource": "generic.knockbackResistance",
"default": 0,
"min": 0,
"max": 1
},
{
"name": "movementSpeed",
"resource": "generic.movementSpeed",
"default": 0.7,
"min": 0,
"max": 1024
},
{
"name": "attackDamage",
"resource": "generic.attackDamage",
"default": 2,
"min": 0,
"max": 2048
},
{
"name": "horseJumpStrength",
"resource": "horse.jumpStrength",
"default": 0.7,
"min": 0,
"max": 2
},
{
"name": "zombieSpawnReinforcements",
"resource": "zombie.spawnReinforcements",
"default": 0,
"min": 0,
"max": 1
},
{
"name": "attackSpeed",
"resource": "generic.attackSpeed",
"default": 4,
"min": 0,
"max": 1024
},
{
"name": "flyingSpeed",
"resource": "generic.flyingSpeed",
"default": 0.4,
"min": 0,
"max": 1024
},
{
"name": "attackKnockback",
"resource": "generic.attackKnockback",
"default": 0,
"min": 0,
"max": 5
},
{
"name": "armorHealth",
"resource": "generic.armor",
"default": 0,
"min": 0,
"max": 30
},
{
"name": "armorToughness",
"resource": "generic.armorToughness",
"default": 0,
"min": 0,
"max": 20
},
{
"name": "luck",
"resource": "generic.luck",
"default": 0,
"min": -1024,
"max": 1024
}
]
+797
View File
@@ -0,0 +1,797 @@
[
{
"id": 0,
"name": "ocean",
"category": "ocean",
"temperature": 0.5,
"precipitation": "rain",
"depth": -1,
"dimension": "overworld",
"displayName": "Ocean",
"color": 112,
"rainfall": 0.5
},
{
"id": 1,
"name": "plains",
"category": "plains",
"temperature": 0.8,
"precipitation": "rain",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Plains",
"color": 9286496,
"rainfall": 0.4,
"child": 129
},
{
"id": 2,
"name": "desert",
"category": "desert",
"temperature": 2,
"precipitation": "none",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Desert",
"color": 16421912,
"rainfall": 0,
"child": 130
},
{
"id": 3,
"name": "mountains",
"category": "extreme_hills",
"temperature": 0.2,
"precipitation": "rain",
"depth": 1,
"dimension": "overworld",
"displayName": "Mountains",
"color": 6316128,
"rainfall": 0.3,
"child": 131
},
{
"id": 4,
"name": "forest",
"category": "forest",
"temperature": 0.7,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Forest",
"color": 353825,
"rainfall": 0.8,
"child": 132
},
{
"id": 5,
"name": "taiga",
"category": "taiga",
"temperature": 0.25,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Taiga",
"color": 747097,
"rainfall": 0.8,
"child": 133
},
{
"id": 6,
"name": "swamp",
"category": "swamp",
"temperature": 0.8,
"precipitation": "rain",
"depth": -0.2,
"dimension": "overworld",
"displayName": "Swamp",
"color": 522674,
"rainfall": 0.9,
"child": 134
},
{
"id": 7,
"name": "river",
"category": "river",
"temperature": 0.5,
"precipitation": "rain",
"depth": -0.5,
"dimension": "overworld",
"displayName": "River",
"color": 255,
"rainfall": 0.5
},
{
"id": 8,
"name": "nether_wastes",
"category": "nether",
"temperature": 2,
"precipitation": "none",
"depth": 0.1,
"climates": [
{
"temperature": 0,
"humidity": 0,
"altitude": 0,
"weirdness": 0,
"offset": 0
}
],
"dimension": "nether",
"displayName": "Nether Wastes",
"color": 12532539,
"rainfall": 0
},
{
"id": 9,
"name": "the_end",
"category": "the_end",
"temperature": 0.5,
"precipitation": "none",
"depth": 0.1,
"dimension": "end",
"displayName": "The End",
"color": 8421631,
"rainfall": 0.5
},
{
"id": 10,
"name": "frozen_ocean",
"category": "ocean",
"temperature": 0,
"precipitation": "snow",
"depth": -1,
"dimension": "overworld",
"displayName": "Frozen Ocean",
"color": 7368918,
"rainfall": 0.5
},
{
"id": 11,
"name": "frozen_river",
"category": "river",
"temperature": 0,
"precipitation": "snow",
"depth": -0.5,
"dimension": "overworld",
"displayName": "Frozen River",
"color": 10526975,
"rainfall": 0.5
},
{
"id": 12,
"name": "snowy_tundra",
"category": "icy",
"temperature": 0,
"precipitation": "snow",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Snowy Tundra",
"color": 16777215,
"rainfall": 0.5,
"child": 140
},
{
"id": 13,
"name": "snowy_mountains",
"category": "icy",
"temperature": 0,
"precipitation": "snow",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Snowy Mountains",
"color": 10526880,
"rainfall": 0.5
},
{
"id": 14,
"name": "mushroom_fields",
"category": "mushroom",
"temperature": 0.9,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Mushroom Fields",
"color": 16711935,
"rainfall": 1
},
{
"id": 15,
"name": "mushroom_field_shore",
"category": "mushroom",
"temperature": 0.9,
"precipitation": "rain",
"depth": 0,
"dimension": "overworld",
"displayName": "Mushroom Fields Shore",
"color": 10486015,
"rainfall": 1
},
{
"id": 16,
"name": "beach",
"category": "beach",
"temperature": 0.8,
"precipitation": "rain",
"depth": 0,
"dimension": "overworld",
"displayName": "Beach",
"color": 16440917,
"rainfall": 0.4
},
{
"id": 17,
"name": "desert_hills",
"category": "desert",
"temperature": 2,
"precipitation": "none",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Desert Hills",
"color": 13786898,
"rainfall": 0
},
{
"id": 18,
"name": "wooded_hills",
"category": "forest",
"temperature": 0.7,
"precipitation": "rain",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Wooded Hills",
"color": 2250012,
"rainfall": 0.8
},
{
"id": 19,
"name": "taiga_hills",
"category": "taiga",
"temperature": 0.25,
"precipitation": "rain",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Taiga Hills",
"color": 1456435,
"rainfall": 0.8
},
{
"id": 20,
"name": "mountain_edge",
"category": "extreme_hills",
"temperature": 0.2,
"precipitation": "rain",
"depth": 0.8,
"dimension": "overworld",
"displayName": "Mountain Edge",
"color": 7501978,
"rainfall": 0.3
},
{
"id": 21,
"name": "jungle",
"category": "jungle",
"temperature": 0.95,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Jungle",
"color": 5470985,
"rainfall": 0.9,
"child": 149
},
{
"id": 22,
"name": "jungle_hills",
"category": "jungle",
"temperature": 0.95,
"precipitation": "rain",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Jungle Hills",
"color": 2900485,
"rainfall": 0.9
},
{
"id": 23,
"name": "jungle_edge",
"category": "jungle",
"temperature": 0.95,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Jungle Edge",
"color": 6458135,
"rainfall": 0.8,
"child": 151
},
{
"id": 24,
"name": "deep_ocean",
"category": "ocean",
"temperature": 0.5,
"precipitation": "rain",
"depth": -1.8,
"dimension": "overworld",
"displayName": "Deep Ocean",
"color": 48,
"rainfall": 0.5
},
{
"id": 25,
"name": "stone_shore",
"category": "none",
"temperature": 0.2,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Stone Shore",
"color": 10658436,
"rainfall": 0.3
},
{
"id": 26,
"name": "snowy_beach",
"category": "beach",
"temperature": 0.05,
"precipitation": "snow",
"depth": 0,
"dimension": "overworld",
"displayName": "Snowy Beach",
"color": 16445632,
"rainfall": 0.3
},
{
"id": 27,
"name": "birch_forest",
"category": "forest",
"temperature": 0.6,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Birch Forest",
"color": 3175492,
"rainfall": 0.6,
"child": 155
},
{
"id": 28,
"name": "birch_forest_hills",
"category": "forest",
"temperature": 0.6,
"precipitation": "rain",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Birch Forest Hills",
"color": 2055986,
"rainfall": 0.6,
"child": 156
},
{
"id": 29,
"name": "dark_forest",
"category": "forest",
"temperature": 0.7,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Dark Forest",
"color": 4215066,
"rainfall": 0.8,
"child": 157
},
{
"id": 30,
"name": "snowy_taiga",
"category": "taiga",
"temperature": -0.5,
"precipitation": "snow",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Snowy Taiga",
"color": 3233098,
"rainfall": 0.4,
"child": 158
},
{
"id": 31,
"name": "snowy_taiga_hills",
"category": "taiga",
"temperature": -0.5,
"precipitation": "snow",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Snowy Taiga Hills",
"color": 2375478,
"rainfall": 0.4
},
{
"id": 32,
"name": "giant_tree_taiga",
"category": "taiga",
"temperature": 0.3,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Giant Tree Taiga",
"color": 5858897,
"rainfall": 0.8,
"child": 160
},
{
"id": 33,
"name": "giant_tree_taiga_hills",
"category": "taiga",
"temperature": 0.3,
"precipitation": "rain",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Giant Tree Taiga Hills",
"color": 4542270,
"rainfall": 0.8,
"child": 161
},
{
"id": 34,
"name": "wooded_mountains",
"category": "extreme_hills",
"temperature": 0.2,
"precipitation": "rain",
"depth": 1,
"dimension": "overworld",
"displayName": "Wooded Mountains",
"color": 5271632,
"rainfall": 0.3,
"child": 162
},
{
"id": 35,
"name": "savanna",
"category": "savanna",
"temperature": 1.2,
"precipitation": "none",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Savanna",
"color": 12431967,
"rainfall": 0,
"child": 163
},
{
"id": 36,
"name": "savanna_plateau",
"category": "savanna",
"temperature": 1,
"precipitation": "none",
"depth": 1.5,
"dimension": "overworld",
"displayName": "Savanna Plateau",
"color": 10984804,
"rainfall": 0,
"child": 164
},
{
"id": 37,
"name": "badlands",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Badlands",
"color": 14238997,
"rainfall": 0,
"child": 165
},
{
"id": 38,
"name": "wooded_badlands_plateau",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 1.5,
"dimension": "overworld",
"displayName": "Wooded Badlands Plateau",
"color": 11573093,
"rainfall": 0,
"child": 166
},
{
"id": 39,
"name": "badlands_plateau",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 1.5,
"dimension": "overworld",
"displayName": "Badlands Plateau",
"color": 13274213,
"rainfall": 0,
"child": 167
},
{
"id": 127,
"name": "the_void",
"category": "none",
"temperature": 0.5,
"precipitation": "none",
"depth": 0.1,
"dimension": "end",
"displayName": "the_void",
"rainfall": 0.5,
"color": 0
},
{
"id": 129,
"name": "sunflower_plains",
"category": "plains",
"temperature": 0.8,
"precipitation": "rain",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Sunflower Plains",
"color": 11918216,
"parent": "plains",
"rainfall": 0.4
},
{
"id": 130,
"name": "desert_lakes",
"category": "desert",
"temperature": 2,
"precipitation": "none",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Desert Lakes",
"color": 16759872,
"parent": "desert",
"rainfall": 0
},
{
"id": 131,
"name": "gravelly_mountains",
"category": "extreme_hills",
"temperature": 0.2,
"precipitation": "rain",
"depth": 1,
"dimension": "overworld",
"displayName": "Gravelly Mountains",
"color": 8947848,
"parent": "mountains",
"rainfall": 0.3
},
{
"id": 132,
"name": "flower_forest",
"category": "forest",
"temperature": 0.7,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Flower Forest",
"color": 2985545,
"parent": "forest",
"rainfall": 0.8
},
{
"id": 133,
"name": "taiga_mountains",
"category": "taiga",
"temperature": 0.25,
"precipitation": "rain",
"depth": 0.3,
"dimension": "overworld",
"displayName": "Taiga Mountains",
"color": 3378817,
"parent": "taiga",
"rainfall": 0.8
},
{
"id": 134,
"name": "swamp_hills",
"category": "swamp",
"temperature": 0.8,
"precipitation": "rain",
"depth": -0.1,
"dimension": "overworld",
"displayName": "Swamp Hills",
"color": 3145690,
"parent": "swamp",
"rainfall": 0.9
},
{
"id": 140,
"name": "ice_spikes",
"category": "icy",
"temperature": 0,
"precipitation": "snow",
"depth": 0.425,
"dimension": "overworld",
"displayName": "Ice Spikes",
"color": 11853020,
"parent": "snowy_tundra",
"rainfall": 0.5
},
{
"id": 149,
"name": "modified_jungle",
"category": "jungle",
"temperature": 0.95,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Modified Jungle",
"color": 8102705,
"parent": "jungle",
"rainfall": 0.9
},
{
"id": 151,
"name": "modified_jungle_edge",
"category": "jungle",
"temperature": 0.95,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Modified Jungle Edge",
"color": 9089855,
"parent": "jungle_edge",
"rainfall": 0.8
},
{
"id": 155,
"name": "tall_birch_forest",
"category": "forest",
"temperature": 0.6,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Tall Birch Forest",
"color": 5807212,
"parent": "birch_forest",
"rainfall": 0.6
},
{
"id": 156,
"name": "tall_birch_hills",
"category": "forest",
"temperature": 0.6,
"precipitation": "rain",
"depth": 0.55,
"dimension": "overworld",
"displayName": "Tall Birch Hills",
"color": 4687706,
"parent": "birch_forest_hills",
"rainfall": 0.6
},
{
"id": 157,
"name": "dark_forest_hills",
"category": "forest",
"temperature": 0.7,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Dark Forest Hills",
"color": 6846786,
"parent": "dark_forest",
"rainfall": 0.8
},
{
"id": 158,
"name": "snowy_taiga_mountains",
"category": "taiga",
"temperature": -0.5,
"precipitation": "snow",
"depth": 0.3,
"dimension": "overworld",
"displayName": "Snowy Taiga Mountains",
"color": 5864818,
"parent": "snowy_taiga",
"rainfall": 0.4
},
{
"id": 160,
"name": "giant_spruce_taiga",
"category": "taiga",
"temperature": 0.25,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Giant Spruce Taiga",
"color": 8490617,
"parent": "giant_tree_taiga",
"rainfall": 0.8
},
{
"id": 161,
"name": "giant_spruce_taiga_hills",
"category": "taiga",
"temperature": 0.25,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Giant Spruce Taiga Hills",
"color": 7173990,
"parent": "giant_tree_taiga_hills",
"rainfall": 0.8
},
{
"id": 162,
"name": "modified_gravelly_mountains",
"category": "extreme_hills",
"temperature": 0.2,
"precipitation": "rain",
"depth": 1,
"dimension": "overworld",
"displayName": "Gravelly Mountains+",
"color": 7903352,
"parent": "wooded_mountains",
"rainfall": 0.3
},
{
"id": 163,
"name": "shattered_savanna",
"category": "savanna",
"temperature": 1.1,
"precipitation": "none",
"depth": 0.3625,
"dimension": "overworld",
"displayName": "Shattered Savanna",
"color": 15063687,
"parent": "savanna",
"rainfall": 0
},
{
"id": 164,
"name": "shattered_savanna_plateau",
"category": "savanna",
"temperature": 1,
"precipitation": "none",
"depth": 1.05,
"dimension": "overworld",
"displayName": "Shattered Savanna Plateau",
"color": 13616524,
"parent": "savanna_plateau",
"rainfall": 0
},
{
"id": 165,
"name": "eroded_badlands",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Eroded Badlands",
"color": 16739645,
"parent": "badlands",
"rainfall": 0
},
{
"id": 166,
"name": "modified_wooded_badlands_plateau",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Modified Wooded Badlands Plateau",
"color": 14204813,
"parent": "wooded_badlands_plateau",
"rainfall": 0
},
{
"id": 167,
"name": "modified_badlands_plateau",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Modified Badlands Plateau",
"color": 15905933,
"parent": "badlands_plateau",
"rainfall": 0
}
]
@@ -0,0 +1,316 @@
{"blocks":{"air":0,
"stone":1,
"grass":1,
"dirt":1,
"cobblestone":1,
"planks":1,
"sapling":0,
"bedrock":1,
"flowing_water":0,
"water":0,
"flowing_lava":0,
"lava":0,
"sand":1,
"gravel":1,
"gold_ore":1,
"iron_ore":1,
"coal_ore":1,
"log":1,
"leaves":1,
"sponge":1,
"glass":1,
"lapis_ore":1,
"lapis_block":1,
"dispenser":1,
"sandstone":1,
"noteblock":1,
"bed":2,
"golden_rail":0,
"detector_rail":0,
"sticky_piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0],
"web":0,
"tallgrass":0,
"deadbush":0,
"piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0],
"piston_head":[10,11,9,12,13,14,0,0,10,11,9,12,13,14,0,0],
"wool":1,
"piston_extension":0,
"yellow_flower":0,
"red_flower":0,
"brown_mushroom":0,
"red_mushroom":0,
"gold_block":1,
"iron_block":1,
"double_stone_slab":1,
"stone_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16],
"brick_block":1,
"tnt":1,
"bookshelf":1,
"mossy_cobblestone":1,
"obsidian":1,
"torch":0,
"fire":0,
"mob_spawner":1,
"oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"chest":25,
"redstone_wire":0,
"diamond_ore":1,
"diamond_block":1,
"crafting_table":1,
"wheat":0,
"farmland":26,
"furnace":1,
"lit_furnace":1,
"standing_sign":0,
"wooden_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"ladder":[27,27,27,29,30,28,27,27,27,29,30,28,27,27,27,29],
"rail":0,
"stone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"wall_sign":0,
"lever":0,
"stone_pressure_plate":0,
"iron_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"wooden_pressure_plate":0,
"redstone_ore":1,
"lit_redstone_ore":1,
"unlit_redstone_torch":0,
"redstone_torch":0,
"stone_button":0,
"snow_layer":[0,31,32,33,15,34,4,35,0,31,32,33,15,34,4,35],
"ice":1,
"snow":1,
"cactus":36,
"clay":1,
"reeds":0,
"jukebox":1,
"fence":37,
"pumpkin":1,
"netherrack":1,
"soul_sand":35,
"glowstone":1,
"portal":0,
"lit_pumpkin":1,
"cake":[38,39,40,41,42,43,44,0,0,0,0,0,0,0,0,0],
"unpowered_repeater":31,
"powered_repeater":31,
"stained_glass":1,
"trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28],
"monster_egg":1,
"stonebrick":1,
"brown_mushroom_block":1,
"red_mushroom_block":1,
"iron_bars":47,
"glass_pane":47,
"melon_block":1,
"pumpkin_stem":0,
"melon_stem":0,
"vine":0,
"fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"stone_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"mycelium":1,
"waterlily":50,
"nether_brick":1,
"nether_brick_fence":37,
"nether_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"nether_wart":0,
"enchanting_table":4,
"brewing_stand":51,
"cauldron":52,
"end_portal":0,
"end_portal_frame":[81,81,81,81,82,82,82,82,81,81,81,81,82,82,82,82],
"end_stone":1,
"dragon_egg":53,
"redstone_lamp":1,
"lit_redstone_lamp":1,
"double_wooden_slab":1,
"wooden_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16],
"cocoa":[55,56,54,57,58,59,60,61,62,63,64,65,0,0,0,0],
"sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"emerald_ore":1,
"ender_chest":25,
"tripwire_hook":0,
"tripwire":0,
"emerald_block":1,
"spruce_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"birch_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"jungle_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"command_block":1,
"beacon":1,
"cobblestone_wall":66,
"flower_pot":67,
"carrots":0,
"potatoes":0,
"wooden_button":0,
"skull":[69,69,68,70,71,72,69,69,69,69,68,70,71,72,69,69],
"anvil":[73,74,73,74,73,74,73,74,73,74,73,74,0,0,0,0],
"trapped_chest":25,
"light_weighted_pressure_plate":0,
"heavy_weighted_pressure_plate":0,
"unpowered_comparator":31,
"powered_comparator":31,
"daylight_detector":33,
"redstone_block":1,
"quartz_ore":1,
"hopper":75,
"quartz_block":1,
"quartz_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"activator_rail":0,
"dropper":1,
"stained_hardened_clay":1,
"stained_glass_pane":47,
"leaves2":1,"log2":1,"acacia_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"dark_oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"slime":1,
"barrier":1,
"iron_trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28],
"prismarine":1,
"sea_lantern":1,
"hay_block":1,
"carpet":76,
"hardened_clay":1,
"coal_block":1,
"packed_ice":1,
"double_plant":0,
"standing_banner":0,
"wall_banner":0,
"daylight_detector_inverted":33,
"red_sandstone":1,
"red_sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"double_stone_slab2":1,"stone_slab2":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16],
"spruce_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"birch_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"jungle_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"dark_oak_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"acacia_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"spruce_fence":37,
"birch_fence":37,
"jungle_fence":37,
"dark_oak_fence":37,
"acacia_fence":37,
"spruce_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"birch_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"jungle_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"acacia_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"dark_oak_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"end_rod":[77,77,78,78,79,79,77,77,78,78,79,79,77,77,78,78],
"chorus_plant":80,
"chorus_flower":1,
"purpur_block":1,
"purpur_pillar":1,
"purpur_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"purpur_double_slab":1,
"purpur_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16],
"end_bricks":1,
"beetroots":0,
"grass_path":26,
"end_gateway":0,
"repeating_command_block":1,
"chain_command_block":1,
"frosted_ice":1,
"magma":1,
"nether_wart_block":1,
"red_nether_brick":1,
"bone_block":1,
"structure_void":0,
"observer":1,
"white_shulker_box":1,
"orange_shulker_box":1,
"magenta_shulker_box":1,
"light_blue_shulker_box":1,
"yellow_shulker_box":1,
"lime_shulker_box":1,
"pink_shulker_box":1,
"gray_shulker_box":1,
"light_gray_shulker_box":1,
"cyan_shulker_box":1,
"purple_shulker_box":1,
"blue_shulker_box":1,
"brown_shulker_box":1,
"green_shulker_box":1,
"red_shulker_box":1,
"black_shulker_box":1,
"structure_block":1},
"shapes":{"0":[],
"1":[[0.0,0.0,0.0,1.0,1.0,1.0]],
"2":[[0.0,0.0,0.0,1.0,0.5625,1.0]],
"3":[[0.0,0.25,0.0,1.0,1.0,1.0]],
"4":[[0.0,0.0,0.0,1.0,0.75,1.0]],
"5":[[0.0,0.0,0.25,1.0,1.0,1.0]],
"6":[[0.0,0.0,0.0,1.0,1.0,0.75]],
"7":[[0.25,0.0,0.0,1.0,1.0,1.0]],
"8":[[0.0,0.0,0.0,0.75,1.0,1.0]],
"9":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.25]],
"10":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.25,0.625]],
"11":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,-0.25,0.375,0.625,0.75,0.625]],
"12":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,-0.25,0.625,0.625,0.75]],
"13":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.25,0.625,0.625]],
"14":[[0.75,0.0,0.0,1.0,1.0,1.0],[-0.25,0.375,0.375,0.75,0.625,0.625]],
"15":[[0.0,0.0,0.0,1.0,0.5,1.0]],
"16":[[0.0,0.5,0.0,1.0,1.0,1.0]],
"17":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]],
"18":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]],
"19":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0]],
"20":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0]],
"21":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,1.0]],
"22":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,0.5,0.5,1.0]],
"23":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.5,1.0,0.5,1.0]],
"24":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,0.5,0.5]],
"25":[[0.0625,0.0,0.0625,0.9375,0.875,0.9375]],
"26":[[0.0,0.0,0.0,1.0,0.9375,1.0]],
"27":[[0.0,0.0,0.8125,1.0,1.0,1.0]],
"28":[[0.0,0.0,0.0,0.1875,1.0,1.0]],
"29":[[0.0,0.0,0.0,1.0,1.0,0.1875]],
"30":[[0.8125,0.0,0.0,1.0,1.0,1.0]],
"31":[[0.0,0.0,0.0,1.0,0.125,1.0]],
"32":[[0.0,0.0,0.0,1.0,0.25,1.0]],
"33":[[0.0,0.0,0.0,1.0,0.375,1.0]],
"34":[[0.0,0.0,0.0,1.0,0.625,1.0]],
"35":[[0.0,0.0,0.0,1.0,0.875,1.0]],
"36":[[0.0625,0.0,0.0625,0.9375,0.9375,0.9375]],
"37":[[0.375,0.0,0.375,0.625,1.5,0.625]],
"38":[[0.0625,0.0,0.0625,0.9375,0.5,0.9375]],
"39":[[0.1875,0.0,0.0625,0.9375,0.5,0.9375]],
"40":[[0.3125,0.0,0.0625,0.9375,0.5,0.9375]],
"41":[[0.4375,0.0,0.0625,0.9375,0.5,0.9375]],
"42":[[0.5625,0.0,0.0625,0.9375,0.5,0.9375]],
"43":[[0.6875,0.0,0.0625,0.9375,0.5,0.9375]],
"44":[[0.8125,0.0,0.0625,0.9375,0.5,0.9375]],
"45":[[0.0,0.0,0.0,1.0,0.1875,1.0]],
"46":[[0.0,0.8125,0.0,1.0,1.0,1.0]],
"47":[[0.4375,0.0,0.4375,0.5625,1.0,0.5625]],
"48":[[0.0,0.0,0.375,1.0,1.5,0.625]],
"49":[[0.375,0.0,0.0,0.625,1.5,1.0]],
"50":[[0.0625,0.0,0.0625,0.9375,0.09375,0.9375]],
"51":[[0.4375,0.0,0.4375,0.5625,0.875,0.5625],[0.0,0.0,0.0,1.0,0.125,1.0]],
"52":[[0.0,0.0,0.0,1.0,0.3125,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.875,1.0,1.0,1.0]],
"53":[[0.0625,0.0,0.0625,0.9375,1.0,0.9375]],
"54":[[0.375,0.4375,0.0625,0.625,0.75,0.3125]],
"55":[[0.375,0.4375,0.6875,0.625,0.75,0.9375]],
"56":[[0.0625,0.4375,0.375,0.3125,0.75,0.625]],
"57":[[0.6875,0.4375,0.375,0.9375,0.75,0.625]],
"58":[[0.3125,0.3125,0.5625,0.6875,0.75,0.9375]],
"59":[[0.0625,0.3125,0.3125,0.4375,0.75,0.6875]],
"60":[[0.3125,0.3125,0.0625,0.6875,0.75,0.4375]],
"61":[[0.5625,0.3125,0.3125,0.9375,0.75,0.6875]],
"62":[[0.25,0.1875,0.4375,0.75,0.75,0.9375]],
"63":[[0.0625,0.1875,0.25,0.5625,0.75,0.75]],
"64":[[0.25,0.1875,0.0625,0.75,0.75,0.5625]],
"65":[[0.4375,0.1875,0.25,0.9375,0.75,0.75]],
"66":[[0.25,0.0,0.25,0.75,1.5,0.75]],
"67":[[0.3125,0.0,0.3125,0.6875,0.375,0.6875]],
"68":[[0.25,0.25,0.5,0.75,0.75,1.0]],
"69":[[0.25,0.0,0.25,0.75,0.5,0.75]],
"70":[[0.25,0.25,0.0,0.75,0.75,0.5]],
"71":[[0.5,0.25,0.25,1.0,0.75,0.75]],
"72":[[0.0,0.25,0.25,0.5,0.75,0.75]],
"73":[[0.125,0.0,0.0,0.875,1.0,1.0]],
"74":[[0.0,0.0,0.125,1.0,1.0,0.875]],
"75":[[0.0,0.0,0.0,1.0,0.625,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.0,0.0,0.875,1.0,1.0,1.0]],
"76":[[0.0,0.0,0.0,1.0,0.0625,1.0]],
"77":[[0.375,0.0,0.375,0.625,1.0,0.625]],
"78":[[0.375,0.375,0.0,0.625,0.625,1.0]],
"79":[[0.0,0.375,0.375,1.0,0.625,0.625]],
"80":[[0.1875,0.1875,0.1875,0.8125,0.8125,0.8125]],
"81":[[0.0,0.0,0.0,1.0,0.8125,1.0]],
"82":[[0.0,0.0,0.0,1.0,0.8125,1.0],[0.3125,0.8125,0.3125,0.6875,1.0,0.6875]]}}
File diff suppressed because it is too large Load Diff
+164
View File
@@ -0,0 +1,164 @@
[
{
"id": 1,
"name": "Speed",
"displayName": "Speed",
"type": "good"
},
{
"id": 2,
"name": "Slowness",
"displayName": "Slowness",
"type": "bad"
},
{
"id": 3,
"name": "Haste",
"displayName": "Haste",
"type": "good"
},
{
"id": 4,
"name": "MiningFatigue",
"displayName": "Mining Fatigue",
"type": "bad"
},
{
"id": 5,
"name": "Strength",
"displayName": "Strength",
"type": "good"
},
{
"id": 6,
"name": "InstantHealth",
"displayName": "Instant Health",
"type": "good"
},
{
"id": 7,
"name": "InstantDamage",
"displayName": "Instant Damage",
"type": "bad"
},
{
"id": 8,
"name": "JumpBoost",
"displayName": "Jump Boost",
"type": "good"
},
{
"id": 9,
"name": "Nausea",
"displayName": "Nausea",
"type": "bad"
},
{
"id": 10,
"name": "Regeneration",
"displayName": "Regeneration",
"type": "good"
},
{
"id": 11,
"name": "Resistance",
"displayName": "Resistance",
"type": "good"
},
{
"id": 12,
"name": "FireResistance",
"displayName": "Fire Resistance",
"type": "good"
},
{
"id": 13,
"name": "WaterBreathing",
"displayName": "Water Breathing",
"type": "good"
},
{
"id": 14,
"name": "Invisibility",
"displayName": "Invisibility",
"type": "good"
},
{
"id": 15,
"name": "Blindness",
"displayName": "Blindness",
"type": "bad"
},
{
"id": 16,
"name": "NightVision",
"displayName": "Night Vision",
"type": "good"
},
{
"id": 17,
"name": "Hunger",
"displayName": "Hunger",
"type": "bad"
},
{
"id": 18,
"name": "Weakness",
"displayName": "Weakness",
"type": "bad"
},
{
"id": 19,
"name": "Poison",
"displayName": "Poison",
"type": "bad"
},
{
"id": 20,
"name": "Wither",
"displayName": "Wither",
"type": "bad"
},
{
"id": 21,
"name": "HealthBoost",
"displayName": "Health Boost",
"type": "good"
},
{
"id": 22,
"name": "Absorption",
"displayName": "Absorption",
"type": "good"
},
{
"id": 23,
"name": "Saturation",
"displayName": "Saturation",
"type": "good"
},
{
"id": 24,
"name": "Glowing",
"displayName": "Glowing",
"type": "bad"
},
{
"id": 25,
"name": "Levitation",
"displayName": "Levitation",
"type": "bad"
},
{
"id": 26,
"name": "Luck",
"displayName": "Luck",
"type": "good"
},
{
"id": 27,
"name": "BadLuck",
"displayName": "Bad Luck",
"type": "bad"
}
]
@@ -0,0 +1,669 @@
[
{
"id": 0,
"name": "protection",
"displayName": "Protection",
"maxLevel": 4,
"minCost": {
"a": 11,
"b": -10
},
"maxCost": {
"a": 11,
"b": 1
},
"exclude": [
"blast_protection",
"fire_protection",
"projectile_protection"
],
"category": "armor",
"weight": 10,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 1,
"name": "fire_protection",
"displayName": "Fire Protection",
"maxLevel": 4,
"minCost": {
"a": 8,
"b": 2
},
"maxCost": {
"a": 8,
"b": 10
},
"exclude": [
"blast_protection",
"protection",
"projectile_protection"
],
"category": "armor",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 2,
"name": "feather_falling",
"displayName": "Feather Falling",
"maxLevel": 4,
"minCost": {
"a": 6,
"b": -1
},
"maxCost": {
"a": 6,
"b": 5
},
"exclude": [],
"category": "armor_feet",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 3,
"name": "blast_protection",
"displayName": "Blast Protection",
"maxLevel": 4,
"minCost": {
"a": 8,
"b": -3
},
"maxCost": {
"a": 8,
"b": 5
},
"exclude": [
"fire_protection",
"protection",
"projectile_protection"
],
"category": "armor",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 4,
"name": "projectile_protection",
"displayName": "Projectile Protection",
"maxLevel": 4,
"minCost": {
"a": 6,
"b": -3
},
"maxCost": {
"a": 6,
"b": 3
},
"exclude": [
"protection",
"blast_protection",
"fire_protection"
],
"category": "armor",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 5,
"name": "respiration",
"displayName": "Respiration",
"maxLevel": 3,
"minCost": {
"a": 10,
"b": 0
},
"maxCost": {
"a": 10,
"b": 30
},
"exclude": [],
"category": "armor_head",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 6,
"name": "aqua_affinity",
"displayName": "Aqua Affinity",
"maxLevel": 1,
"minCost": {
"a": 0,
"b": 1
},
"maxCost": {
"a": 0,
"b": 41
},
"exclude": [],
"category": "armor_head",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 7,
"name": "thorns",
"displayName": "Thorns",
"maxLevel": 3,
"minCost": {
"a": 20,
"b": -10
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "armor_chest",
"weight": 1,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 8,
"name": "depth_strider",
"displayName": "Depth Strider",
"maxLevel": 3,
"minCost": {
"a": 10,
"b": 0
},
"maxCost": {
"a": 10,
"b": 15
},
"exclude": [
"frost_walker"
],
"category": "armor_feet",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 9,
"name": "frost_walker",
"displayName": "Frost Walker",
"maxLevel": 2,
"minCost": {
"a": 10,
"b": 0
},
"maxCost": {
"a": 10,
"b": 15
},
"exclude": [
"depth_strider"
],
"category": "armor_feet",
"weight": 2,
"treasureOnly": true,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 10,
"name": "binding_curse",
"displayName": "Curse of Binding",
"maxLevel": 1,
"minCost": {
"a": 0,
"b": 25
},
"maxCost": {
"a": 0,
"b": 50
},
"exclude": [],
"category": "wearable",
"weight": 1,
"treasureOnly": true,
"curse": true,
"tradeable": true,
"discoverable": true
},
{
"id": 16,
"name": "sharpness",
"displayName": "Sharpness",
"maxLevel": 5,
"minCost": {
"a": 11,
"b": -10
},
"maxCost": {
"a": 11,
"b": 10
},
"exclude": [
"smite",
"bane_of_arthropods"
],
"category": "weapon",
"weight": 10,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 17,
"name": "smite",
"displayName": "Smite",
"maxLevel": 5,
"minCost": {
"a": 8,
"b": -3
},
"maxCost": {
"a": 8,
"b": 17
},
"exclude": [
"sharpness",
"bane_of_arthropods"
],
"category": "weapon",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 18,
"name": "bane_of_arthropods",
"displayName": "Bane of Arthropods",
"maxLevel": 5,
"minCost": {
"a": 8,
"b": -3
},
"maxCost": {
"a": 8,
"b": 17
},
"exclude": [
"smite",
"sharpness"
],
"category": "weapon",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 19,
"name": "knockback",
"displayName": "Knockback",
"maxLevel": 2,
"minCost": {
"a": 20,
"b": -15
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "weapon",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 20,
"name": "fire_aspect",
"displayName": "Fire Aspect",
"maxLevel": 2,
"minCost": {
"a": 20,
"b": -10
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "weapon",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 21,
"name": "looting",
"displayName": "Looting",
"maxLevel": 3,
"minCost": {
"a": 9,
"b": 6
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "weapon",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 22,
"name": "sweeping_edge",
"displayName": "Sweeping Edge",
"maxLevel": 3,
"minCost": {
"a": 9,
"b": -4
},
"maxCost": {
"a": 9,
"b": 11
},
"exclude": [],
"category": "weapon",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 32,
"name": "efficiency",
"displayName": "Efficiency",
"maxLevel": 5,
"minCost": {
"a": 10,
"b": -9
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "digger",
"weight": 10,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 33,
"name": "silk_touch",
"displayName": "Silk Touch",
"maxLevel": 1,
"minCost": {
"a": 0,
"b": 15
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [
"fortune"
],
"category": "digger",
"weight": 1,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 34,
"name": "unbreaking",
"displayName": "Unbreaking",
"maxLevel": 3,
"minCost": {
"a": 8,
"b": -3
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "breakable",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 35,
"name": "fortune",
"displayName": "Fortune",
"maxLevel": 3,
"minCost": {
"a": 9,
"b": 6
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [
"silk_touch"
],
"category": "digger",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 48,
"name": "power",
"displayName": "Power",
"maxLevel": 5,
"minCost": {
"a": 10,
"b": -9
},
"maxCost": {
"a": 10,
"b": 6
},
"exclude": [],
"category": "bow",
"weight": 10,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 49,
"name": "punch",
"displayName": "Punch",
"maxLevel": 2,
"minCost": {
"a": 20,
"b": -8
},
"maxCost": {
"a": 20,
"b": 17
},
"exclude": [],
"category": "bow",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 50,
"name": "flame",
"displayName": "Flame",
"maxLevel": 1,
"minCost": {
"a": 0,
"b": 20
},
"maxCost": {
"a": 0,
"b": 50
},
"exclude": [],
"category": "bow",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 51,
"name": "infinity",
"displayName": "Infinity",
"maxLevel": 1,
"minCost": {
"a": 0,
"b": 20
},
"maxCost": {
"a": 0,
"b": 50
},
"exclude": [
"mending"
],
"category": "bow",
"weight": 1,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 61,
"name": "luck_of_the_sea",
"displayName": "Luck of the Sea",
"maxLevel": 3,
"minCost": {
"a": 9,
"b": 6
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "fishing_rod",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 62,
"name": "lure",
"displayName": "Lure",
"maxLevel": 3,
"minCost": {
"a": 9,
"b": 6
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "fishing_rod",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 70,
"name": "mending",
"displayName": "Mending",
"maxLevel": 1,
"minCost": {
"a": 25,
"b": 0
},
"maxCost": {
"a": 25,
"b": 50
},
"exclude": [
"infinity"
],
"category": "breakable",
"weight": 2,
"treasureOnly": true,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 71,
"name": "vanishing_curse",
"displayName": "Curse of Vanishing",
"maxLevel": 1,
"minCost": {
"a": 0,
"b": 25
},
"maxCost": {
"a": 0,
"b": 50
},
"exclude": [],
"category": "vanishable",
"weight": 1,
"treasureOnly": true,
"curse": true,
"tradeable": true,
"discoverable": true
}
]
File diff suppressed because it is too large Load Diff
+358
View File
@@ -0,0 +1,358 @@
[
{
"id": 103,
"displayName": "Melon",
"name": "melon_block",
"stackSize": 64,
"foodPoints": 2,
"saturation": 1.2,
"effectiveQuality": 3.2,
"saturationRatio": 0.6
},
{
"id": 141,
"displayName": "Carrot",
"name": "carrots",
"stackSize": 64,
"foodPoints": 3,
"saturation": 3.6,
"effectiveQuality": 6.6,
"saturationRatio": 1.2
},
{
"id": 142,
"displayName": "Potato",
"name": "potatoes",
"stackSize": 64,
"foodPoints": 1,
"saturation": 0.6,
"effectiveQuality": 1.6,
"saturationRatio": 0.6
},
{
"id": 260,
"displayName": "Apple",
"stackSize": 64,
"name": "apple",
"foodPoints": 4,
"saturation": 2.4,
"effectiveQuality": 6.4,
"saturationRatio": 0.6
},
{
"id": 282,
"displayName": "Mushroom Stew",
"stackSize": 1,
"name": "mushroom_stew",
"foodPoints": 6,
"saturation": 7.2,
"effectiveQuality": 13.2,
"saturationRatio": 1.2
},
{
"id": 297,
"displayName": "Bread",
"stackSize": 64,
"name": "bread",
"foodPoints": 5,
"saturation": 6,
"effectiveQuality": 11,
"saturationRatio": 1.2
},
{
"id": 319,
"displayName": "Raw Porkchop",
"stackSize": 64,
"name": "porkchop",
"foodPoints": 3,
"saturation": 1.8,
"effectiveQuality": 4.8,
"saturationRatio": 0.6
},
{
"id": 320,
"displayName": "Cooked Porkchop",
"stackSize": 64,
"name": "cooked_porkchop",
"foodPoints": 8,
"saturation": 12.8,
"effectiveQuality": 20.8,
"saturationRatio": 1.6
},
{
"id": 322,
"displayName": "Golden Apple",
"stackSize": 64,
"name": "golden_apple",
"variations": [
{
"metadata": 0,
"displayName": "Golden Apple"
},
{
"metadata": 1,
"displayName": "Enchanted Golden Apple"
}
],
"foodPoints": 4,
"saturation": 9.6,
"effectiveQuality": 13.6,
"saturationRatio": 2.4
},
{
"id": 349,
"displayName": "Raw Fish",
"stackSize": 64,
"name": "fish",
"variations": [
{
"metadata": 0,
"displayName": "Raw Fish"
},
{
"metadata": 1,
"displayName": "Raw Salmon"
},
{
"metadata": 2,
"displayName": "Clownfish"
},
{
"metadata": 3,
"displayName": "Pufferfish"
}
],
"foodPoints": 2,
"saturation": 0.4,
"effectiveQuality": 2.4,
"saturationRatio": 0.2
},
{
"id": 350,
"displayName": "Cooked Fish",
"stackSize": 64,
"name": "cooked_fish",
"variations": [
{
"metadata": 0,
"displayName": "Raw Fish"
},
{
"metadata": 1,
"displayName": "Raw Salmon"
},
{
"metadata": 2,
"displayName": "Clownfish"
},
{
"metadata": 3,
"displayName": "Pufferfish"
}
],
"foodPoints": 5,
"saturation": 6,
"effectiveQuality": 11,
"saturationRatio": 1.2
},
{
"id": 354,
"displayName": "Cake",
"stackSize": 1,
"name": "cake",
"foodPoints": 2,
"saturation": 0.4,
"effectiveQuality": 2.4,
"saturationRatio": 0.2
},
{
"id": 357,
"displayName": "Cookie",
"stackSize": 64,
"name": "cookie",
"foodPoints": 2,
"saturation": 0.4,
"effectiveQuality": 2.4,
"saturationRatio": 0.2
},
{
"id": 363,
"displayName": "Raw Beef",
"stackSize": 64,
"name": "beef",
"foodPoints": 3,
"saturation": 1.8,
"effectiveQuality": 4.8,
"saturationRatio": 0.6
},
{
"id": 364,
"displayName": "Steak",
"stackSize": 64,
"name": "cooked_beef",
"foodPoints": 8,
"saturation": 12.8,
"effectiveQuality": 20.8,
"saturationRatio": 1.6
},
{
"id": 365,
"displayName": "Raw Chicken",
"stackSize": 64,
"name": "chicken",
"foodPoints": 2,
"saturation": 1.2,
"effectiveQuality": 3.2,
"saturationRatio": 0.6
},
{
"id": 366,
"displayName": "Cooked Chicken",
"stackSize": 64,
"name": "cooked_chicken",
"foodPoints": 6,
"saturation": 7.2,
"effectiveQuality": 13.2,
"saturationRatio": 1.2
},
{
"id": 367,
"displayName": "Rotten Flesh",
"stackSize": 64,
"name": "rotten_flesh",
"foodPoints": 4,
"saturation": 0.8,
"effectiveQuality": 4.8,
"saturationRatio": 0.2
},
{
"id": 375,
"displayName": "Spider Eye",
"stackSize": 64,
"name": "spider_eye",
"foodPoints": 2,
"saturation": 3.2,
"effectiveQuality": 5.2,
"saturationRatio": 1.6
},
{
"id": 393,
"displayName": "Baked Potato",
"stackSize": 64,
"name": "baked_potato",
"foodPoints": 5,
"saturation": 6,
"effectiveQuality": 11,
"saturationRatio": 1.2
},
{
"id": 394,
"displayName": "Poisonous Potato",
"stackSize": 64,
"name": "poisonous_potato",
"foodPoints": 2,
"saturation": 1.2,
"effectiveQuality": 3.2,
"saturationRatio": 0.6
},
{
"id": 396,
"displayName": "Golden Carrot",
"stackSize": 64,
"name": "golden_carrot",
"foodPoints": 6,
"saturation": 14.4,
"effectiveQuality": 20.4,
"saturationRatio": 2.4
},
{
"id": 400,
"displayName": "Pumpkin Pie",
"stackSize": 64,
"name": "pumpkin_pie",
"foodPoints": 8,
"saturation": 4.8,
"effectiveQuality": 12.8,
"saturationRatio": 0.6
},
{
"id": 411,
"displayName": "Raw Rabbit",
"stackSize": 64,
"name": "rabbit",
"foodPoints": 3,
"saturation": 1.8,
"effectiveQuality": 4.8,
"saturationRatio": 0.6
},
{
"id": 412,
"displayName": "Cooked Rabbit",
"stackSize": 64,
"name": "cooked_rabbit",
"foodPoints": 5,
"saturation": 6,
"effectiveQuality": 11,
"saturationRatio": 1.2
},
{
"id": 413,
"displayName": "Rabbit Stew",
"stackSize": 1,
"name": "rabbit_stew",
"foodPoints": 10,
"saturation": 12,
"effectiveQuality": 22,
"saturationRatio": 1.2
},
{
"id": 423,
"displayName": "Raw Mutton",
"stackSize": 64,
"name": "mutton",
"foodPoints": 2,
"saturation": 1.2,
"effectiveQuality": 3.2,
"saturationRatio": 0.6
},
{
"id": 424,
"displayName": "Cooked Mutton",
"stackSize": 64,
"name": "cooked_mutton",
"foodPoints": 6,
"saturation": 9.6,
"effectiveQuality": 15.6,
"saturationRatio": 1.5999999999999999
},
{
"id": 432,
"displayName": "Chorus Fruit",
"stackSize": 64,
"name": "chorus_fruit",
"foodPoints": 4,
"saturation": 2.4,
"effectiveQuality": 6.4,
"saturationRatio": 0.6
},
{
"id": 434,
"displayName": "Beetroot",
"stackSize": 64,
"name": "beetroot",
"foodPoints": 1,
"saturation": 1.2,
"effectiveQuality": 2.2,
"saturationRatio": 1.2
},
{
"id": 436,
"displayName": "Beetroot Soup",
"stackSize": 1,
"name": "beetroot_soup",
"foodPoints": 6,
"saturation": 7.2,
"effectiveQuality": 13.2,
"saturationRatio": 1.2
}
]
@@ -0,0 +1,22 @@
[
{
"id": 0,
"name": "harp"
},
{
"id": 1,
"name": "doubleBass"
},
{
"id": 2,
"name": "snareDrum"
},
{
"id": 3,
"name": "sticks"
},
{
"id": 4,
"name": "bassDrum"
}
]
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+62
View File
@@ -0,0 +1,62 @@
[
{
"id": 0,
"name": "player",
"appearance": "White marker",
"visibleInItemFrame": false
},
{
"id": 1,
"name": "frame",
"appearance": "Green marker",
"visibleInItemFrame": true
},
{
"id": 2,
"name": "red_marker",
"appearance": "Red marker",
"visibleInItemFrame": false
},
{
"id": 3,
"name": "blue_marker",
"appearance": "Blue marker",
"visibleInItemFrame": false
},
{
"id": 4,
"name": "target_x",
"appearance": "White X",
"visibleInItemFrame": true
},
{
"id": 5,
"name": "target_point",
"appearance": "Red triangle",
"visibleInItemFrame": true
},
{
"id": 6,
"name": "player_off_map",
"appearance": "Large white dot",
"visibleInItemFrame": false
},
{
"id": 7,
"name": "player_off_limits",
"appearance": "Small white dot",
"visibleInItemFrame": false
},
{
"id": 8,
"name": "mansion",
"appearance": "Woodland mansion",
"visibleInItemFrame": true
},
{
"id": 9,
"name": "monument",
"appearance": "Ocean monument",
"visibleInItemFrame": true
}
]
@@ -0,0 +1,61 @@
{
"rock": {
"257": 6,
"270": 2,
"274": 4,
"278": 8,
"285": 12
},
"wood": {
"258": 6,
"271": 2,
"275": 4,
"279": 8,
"286": 12
},
"plant": {
"258": 6,
"267": 1.5,
"268": 1.5,
"271": 2,
"272": 1.5,
"275": 4,
"276": 1.5,
"279": 8,
"283": 1.5,
"286": 12
},
"melon": {
"267": 1.5,
"268": 1.5,
"272": 1.5,
"276": 1.5,
"283": 1.5
},
"leaves": {
"267": 1.5,
"268": 1.5,
"272": 1.5,
"276": 1.5,
"283": 1.5,
"359": 6
},
"dirt": {
"256": 6,
"269": 2,
"273": 4,
"277": 8,
"284": 12
},
"web": {
"267": 15,
"268": 15,
"272": 15,
"276": 15,
"283": 15,
"359": 15
},
"wool": {
"359": 4.8
}
}
+198
View File
@@ -0,0 +1,198 @@
[
{
"id": 0,
"name": "explode"
},
{
"id": 1,
"name": "largeexplode"
},
{
"id": 2,
"name": "hugeexplosion"
},
{
"id": 3,
"name": "fireworksSpark"
},
{
"id": 4,
"name": "bubble"
},
{
"id": 5,
"name": "splash"
},
{
"id": 6,
"name": "wake"
},
{
"id": 7,
"name": "suspended"
},
{
"id": 8,
"name": "depthsuspend"
},
{
"id": 9,
"name": "crit"
},
{
"id": 10,
"name": "magicCrit"
},
{
"id": 11,
"name": "smoke"
},
{
"id": 12,
"name": "largesmoke"
},
{
"id": 13,
"name": "spell"
},
{
"id": 14,
"name": "instantSpell"
},
{
"id": 15,
"name": "mobSpell"
},
{
"id": 16,
"name": "mobSpellAmbient"
},
{
"id": 17,
"name": "witchMagic"
},
{
"id": 18,
"name": "dripWater"
},
{
"id": 19,
"name": "dripLava"
},
{
"id": 20,
"name": "angryVillager"
},
{
"id": 21,
"name": "happyVillager"
},
{
"id": 22,
"name": "townaura"
},
{
"id": 23,
"name": "note"
},
{
"id": 24,
"name": "portal"
},
{
"id": 25,
"name": "enchantmenttable"
},
{
"id": 26,
"name": "flame"
},
{
"id": 27,
"name": "lava"
},
{
"id": 28,
"name": "footstep"
},
{
"id": 29,
"name": "cloud"
},
{
"id": 30,
"name": "reddust"
},
{
"id": 31,
"name": "snowballpoof"
},
{
"id": 32,
"name": "snowshovel"
},
{
"id": 33,
"name": "slime"
},
{
"id": 34,
"name": "heart"
},
{
"id": 35,
"name": "barrier"
},
{
"id": 36,
"name": "iconcrack"
},
{
"id": 37,
"name": "blockcrack"
},
{
"id": 38,
"name": "blockdust"
},
{
"id": 39,
"name": "droplet"
},
{
"id": 40,
"name": "take"
},
{
"id": 41,
"name": "mobappearance"
},
{
"id": 42,
"name": "dragonbreath"
},
{
"id": 43,
"name": "endRod"
},
{
"id": 44,
"name": "damageIndicator"
},
{
"id": 45,
"name": "sweepAttack"
},
{
"id": 46,
"name": "fallingdust"
},
{
"id": 47,
"name": "totem"
},
{
"id": 48,
"name": "spit"
}
]
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+5
View File
@@ -0,0 +1,5 @@
{
"minecraftVersion": "1.11",
"version":315,
"majorVersion": "1.11"
}
+229
View File
@@ -0,0 +1,229 @@
[
{
"id": "",
"name": "Player",
"slots": [
{
"name": "craft result",
"index": 0
},
{
"name": "craft grid",
"index": 1,
"size": 4
},
{
"name": "armor",
"index": 5,
"size": 4
},
{
"name": "helmet",
"index": 5
},
{
"name": "chestplate",
"index": 6
},
{
"name": "leggings",
"index": 7
},
{
"name": "boots",
"index": 8
}
]
},
{
"id": "EntityHorse",
"name": "Horse",
"slots": [
{
"name": "saddle",
"index": 0
},
{
"name": "armor",
"index": 1
},
{
"name": "storage",
"index": 2,
"size": 15
}
],
"openedWith": [
{
"type": "entity",
"id": 100
}
]
},
{
"id": "minecraft:anvil",
"name": "Anvil",
"slots": [
{
"name": "tool",
"index": 0
},
{
"name": "combined",
"index": 1
},
{
"name": "result",
"index": 2
}
],
"properties": [
"repair cost"
]
},
{
"id": "minecraft:beacon",
"name": "Beacon",
"slots": [
{
"name": "input",
"index": 0
}
],
"properties": [
"level",
"effect 1",
"effect 2"
],
"openedWith": [
{
"type": "block",
"id": 138
}
]
},
{
"id": "minecraft:brewing_stand",
"name": "Brewing Stand",
"slots": [
{
"name": "ingredient",
"index": 0
},
{
"name": "result",
"index": 1,
"size": 3
}
],
"properties": [
"brew time"
],
"openedWith": [
{
"type": "block",
"id": 117
}
]
},
{
"id": "minecraft:chest",
"name": "Chest"
},
{
"id": "minecraft:container",
"name": "Container"
},
{
"id": "minecraft:crafting_table",
"name": "Workbench",
"slots": [
{
"name": "craft result",
"index": 0
},
{
"name": "craft grid",
"index": 1,
"size": 9
}
]
},
{
"id": "minecraft:dispenser",
"name": "Dispenser"
},
{
"id": "minecraft:dropper",
"name": "Dropper"
},
{
"id": "minecraft:enchanting_table",
"name": "Enchantment Table",
"slots": [
{
"name": "enchanted",
"index": 0
},
{
"name": "lapis",
"index": 1
}
],
"properties": [
"xp 1",
"xp 2",
"xp 3",
"seed",
"tooltip 1",
"tooltip 2",
"tooltip 3"
]
},
{
"id": "minecraft:furnace",
"name": "Furnace",
"slots": [
{
"name": "smelted",
"index": 0
},
{
"name": "fuel",
"index": 1
},
{
"name": "result",
"index": 2
}
],
"properties": [
"fuel",
"fuel max",
"progress",
"progress max"
]
},
{
"id": "minecraft:hopper",
"name": "Hopper"
},
{
"id": "minecraft:villager",
"name": "NPC Trade",
"slots": [
{
"name": "give 1",
"index": 0
},
{
"name": "give 2",
"index": 1
},
{
"name": "take",
"index": 2
}
]
}
]
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,5 @@
{
"minecraftVersion": "1.12-pre4",
"version":331,
"majorVersion": "1.12"
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,5 @@
{
"minecraftVersion": "1.12.1",
"version":338,
"majorVersion": "1.12"
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,5 @@
{
"minecraftVersion": "1.12.2",
"version":340,
"majorVersion": "1.12"
}
@@ -0,0 +1,93 @@
[
{
"name": "maxHealth",
"resource": "generic.maxHealth",
"default": 20,
"min": 1,
"max": 1024
},
{
"name": "followRange",
"resource": "generic.followRange",
"default": 32,
"min": 0,
"max": 2048
},
{
"name": "knockbackResistance",
"resource": "generic.knockbackResistance",
"default": 0,
"min": 0,
"max": 1
},
{
"name": "movementSpeed",
"resource": "generic.movementSpeed",
"default": 0.7,
"min": 0,
"max": 1024
},
{
"name": "attackDamage",
"resource": "generic.attackDamage",
"default": 2,
"min": 0,
"max": 2048
},
{
"name": "horseJumpStrength",
"resource": "horse.jumpStrength",
"default": 0.7,
"min": 0,
"max": 2
},
{
"name": "zombieSpawnReinforcements",
"resource": "zombie.spawnReinforcements",
"default": 0,
"min": 0,
"max": 1
},
{
"name": "attackSpeed",
"resource": "generic.attackSpeed",
"default": 4,
"min": 0,
"max": 1024
},
{
"name": "flyingSpeed",
"resource": "generic.flyingSpeed",
"default": 0.4,
"min": 0,
"max": 1024
},
{
"name": "attackKnockback",
"resource": "generic.attackKnockback",
"default": 0,
"min": 0,
"max": 5
},
{
"name": "armorHealth",
"resource": "generic.armor",
"default": 0,
"min": 0,
"max": 30
},
{
"name": "armorToughness",
"resource": "generic.armorToughness",
"default": 0,
"min": 0,
"max": 20
},
{
"name": "luck",
"resource": "generic.luck",
"default": 0,
"min": -1024,
"max": 1024
}
]
+797
View File
@@ -0,0 +1,797 @@
[
{
"id": 0,
"name": "ocean",
"category": "ocean",
"temperature": 0.5,
"precipitation": "rain",
"depth": -1,
"dimension": "overworld",
"displayName": "Ocean",
"color": 112,
"rainfall": 0.5
},
{
"id": 1,
"name": "plains",
"category": "plains",
"temperature": 0.8,
"precipitation": "rain",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Plains",
"color": 9286496,
"rainfall": 0.4,
"child": 129
},
{
"id": 2,
"name": "desert",
"category": "desert",
"temperature": 2,
"precipitation": "none",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Desert",
"color": 16421912,
"rainfall": 0,
"child": 130
},
{
"id": 3,
"name": "mountains",
"category": "extreme_hills",
"temperature": 0.2,
"precipitation": "rain",
"depth": 1,
"dimension": "overworld",
"displayName": "Mountains",
"color": 6316128,
"rainfall": 0.3,
"child": 131
},
{
"id": 4,
"name": "forest",
"category": "forest",
"temperature": 0.7,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Forest",
"color": 353825,
"rainfall": 0.8,
"child": 132
},
{
"id": 5,
"name": "taiga",
"category": "taiga",
"temperature": 0.25,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Taiga",
"color": 747097,
"rainfall": 0.8,
"child": 133
},
{
"id": 6,
"name": "swamp",
"category": "swamp",
"temperature": 0.8,
"precipitation": "rain",
"depth": -0.2,
"dimension": "overworld",
"displayName": "Swamp",
"color": 522674,
"rainfall": 0.9,
"child": 134
},
{
"id": 7,
"name": "river",
"category": "river",
"temperature": 0.5,
"precipitation": "rain",
"depth": -0.5,
"dimension": "overworld",
"displayName": "River",
"color": 255,
"rainfall": 0.5
},
{
"id": 8,
"name": "nether_wastes",
"category": "nether",
"temperature": 2,
"precipitation": "none",
"depth": 0.1,
"climates": [
{
"temperature": 0,
"humidity": 0,
"altitude": 0,
"weirdness": 0,
"offset": 0
}
],
"dimension": "nether",
"displayName": "Nether Wastes",
"color": 12532539,
"rainfall": 0
},
{
"id": 9,
"name": "the_end",
"category": "the_end",
"temperature": 0.5,
"precipitation": "none",
"depth": 0.1,
"dimension": "end",
"displayName": "The End",
"color": 8421631,
"rainfall": 0.5
},
{
"id": 10,
"name": "frozen_ocean",
"category": "ocean",
"temperature": 0,
"precipitation": "snow",
"depth": -1,
"dimension": "overworld",
"displayName": "Frozen Ocean",
"color": 7368918,
"rainfall": 0.5
},
{
"id": 11,
"name": "frozen_river",
"category": "river",
"temperature": 0,
"precipitation": "snow",
"depth": -0.5,
"dimension": "overworld",
"displayName": "Frozen River",
"color": 10526975,
"rainfall": 0.5
},
{
"id": 12,
"name": "snowy_tundra",
"category": "icy",
"temperature": 0,
"precipitation": "snow",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Snowy Tundra",
"color": 16777215,
"rainfall": 0.5,
"child": 140
},
{
"id": 13,
"name": "snowy_mountains",
"category": "icy",
"temperature": 0,
"precipitation": "snow",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Snowy Mountains",
"color": 10526880,
"rainfall": 0.5
},
{
"id": 14,
"name": "mushroom_fields",
"category": "mushroom",
"temperature": 0.9,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Mushroom Fields",
"color": 16711935,
"rainfall": 1
},
{
"id": 15,
"name": "mushroom_field_shore",
"category": "mushroom",
"temperature": 0.9,
"precipitation": "rain",
"depth": 0,
"dimension": "overworld",
"displayName": "Mushroom Fields Shore",
"color": 10486015,
"rainfall": 1
},
{
"id": 16,
"name": "beach",
"category": "beach",
"temperature": 0.8,
"precipitation": "rain",
"depth": 0,
"dimension": "overworld",
"displayName": "Beach",
"color": 16440917,
"rainfall": 0.4
},
{
"id": 17,
"name": "desert_hills",
"category": "desert",
"temperature": 2,
"precipitation": "none",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Desert Hills",
"color": 13786898,
"rainfall": 0
},
{
"id": 18,
"name": "wooded_hills",
"category": "forest",
"temperature": 0.7,
"precipitation": "rain",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Wooded Hills",
"color": 2250012,
"rainfall": 0.8
},
{
"id": 19,
"name": "taiga_hills",
"category": "taiga",
"temperature": 0.25,
"precipitation": "rain",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Taiga Hills",
"color": 1456435,
"rainfall": 0.8
},
{
"id": 20,
"name": "mountain_edge",
"category": "extreme_hills",
"temperature": 0.2,
"precipitation": "rain",
"depth": 0.8,
"dimension": "overworld",
"displayName": "Mountain Edge",
"color": 7501978,
"rainfall": 0.3
},
{
"id": 21,
"name": "jungle",
"category": "jungle",
"temperature": 0.95,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Jungle",
"color": 5470985,
"rainfall": 0.9,
"child": 149
},
{
"id": 22,
"name": "jungle_hills",
"category": "jungle",
"temperature": 0.95,
"precipitation": "rain",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Jungle Hills",
"color": 2900485,
"rainfall": 0.9
},
{
"id": 23,
"name": "jungle_edge",
"category": "jungle",
"temperature": 0.95,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Jungle Edge",
"color": 6458135,
"rainfall": 0.8,
"child": 151
},
{
"id": 24,
"name": "deep_ocean",
"category": "ocean",
"temperature": 0.5,
"precipitation": "rain",
"depth": -1.8,
"dimension": "overworld",
"displayName": "Deep Ocean",
"color": 48,
"rainfall": 0.5
},
{
"id": 25,
"name": "stone_shore",
"category": "none",
"temperature": 0.2,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Stone Shore",
"color": 10658436,
"rainfall": 0.3
},
{
"id": 26,
"name": "snowy_beach",
"category": "beach",
"temperature": 0.05,
"precipitation": "snow",
"depth": 0,
"dimension": "overworld",
"displayName": "Snowy Beach",
"color": 16445632,
"rainfall": 0.3
},
{
"id": 27,
"name": "birch_forest",
"category": "forest",
"temperature": 0.6,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Birch Forest",
"color": 3175492,
"rainfall": 0.6,
"child": 155
},
{
"id": 28,
"name": "birch_forest_hills",
"category": "forest",
"temperature": 0.6,
"precipitation": "rain",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Birch Forest Hills",
"color": 2055986,
"rainfall": 0.6,
"child": 156
},
{
"id": 29,
"name": "dark_forest",
"category": "forest",
"temperature": 0.7,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Dark Forest",
"color": 4215066,
"rainfall": 0.8,
"child": 157
},
{
"id": 30,
"name": "snowy_taiga",
"category": "taiga",
"temperature": -0.5,
"precipitation": "snow",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Snowy Taiga",
"color": 3233098,
"rainfall": 0.4,
"child": 158
},
{
"id": 31,
"name": "snowy_taiga_hills",
"category": "taiga",
"temperature": -0.5,
"precipitation": "snow",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Snowy Taiga Hills",
"color": 2375478,
"rainfall": 0.4
},
{
"id": 32,
"name": "giant_tree_taiga",
"category": "taiga",
"temperature": 0.3,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Giant Tree Taiga",
"color": 5858897,
"rainfall": 0.8,
"child": 160
},
{
"id": 33,
"name": "giant_tree_taiga_hills",
"category": "taiga",
"temperature": 0.3,
"precipitation": "rain",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Giant Tree Taiga Hills",
"color": 4542270,
"rainfall": 0.8,
"child": 161
},
{
"id": 34,
"name": "wooded_mountains",
"category": "extreme_hills",
"temperature": 0.2,
"precipitation": "rain",
"depth": 1,
"dimension": "overworld",
"displayName": "Wooded Mountains",
"color": 5271632,
"rainfall": 0.3,
"child": 162
},
{
"id": 35,
"name": "savanna",
"category": "savanna",
"temperature": 1.2,
"precipitation": "none",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Savanna",
"color": 12431967,
"rainfall": 0,
"child": 163
},
{
"id": 36,
"name": "savanna_plateau",
"category": "savanna",
"temperature": 1,
"precipitation": "none",
"depth": 1.5,
"dimension": "overworld",
"displayName": "Savanna Plateau",
"color": 10984804,
"rainfall": 0,
"child": 164
},
{
"id": 37,
"name": "badlands",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Badlands",
"color": 14238997,
"rainfall": 0,
"child": 165
},
{
"id": 38,
"name": "wooded_badlands_plateau",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 1.5,
"dimension": "overworld",
"displayName": "Wooded Badlands Plateau",
"color": 11573093,
"rainfall": 0,
"child": 166
},
{
"id": 39,
"name": "badlands_plateau",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 1.5,
"dimension": "overworld",
"displayName": "Badlands Plateau",
"color": 13274213,
"rainfall": 0,
"child": 167
},
{
"id": 127,
"name": "the_void",
"category": "none",
"temperature": 0.5,
"precipitation": "none",
"depth": 0.1,
"dimension": "end",
"displayName": "the_void",
"rainfall": 0.5,
"color": 0
},
{
"id": 129,
"name": "sunflower_plains",
"category": "plains",
"temperature": 0.8,
"precipitation": "rain",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Sunflower Plains",
"color": 11918216,
"parent": "plains",
"rainfall": 0.4
},
{
"id": 130,
"name": "desert_lakes",
"category": "desert",
"temperature": 2,
"precipitation": "none",
"depth": 0.125,
"dimension": "overworld",
"displayName": "Desert Lakes",
"color": 16759872,
"parent": "desert",
"rainfall": 0
},
{
"id": 131,
"name": "gravelly_mountains",
"category": "extreme_hills",
"temperature": 0.2,
"precipitation": "rain",
"depth": 1,
"dimension": "overworld",
"displayName": "Gravelly Mountains",
"color": 8947848,
"parent": "mountains",
"rainfall": 0.3
},
{
"id": 132,
"name": "flower_forest",
"category": "forest",
"temperature": 0.7,
"precipitation": "rain",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Flower Forest",
"color": 2985545,
"parent": "forest",
"rainfall": 0.8
},
{
"id": 133,
"name": "taiga_mountains",
"category": "taiga",
"temperature": 0.25,
"precipitation": "rain",
"depth": 0.3,
"dimension": "overworld",
"displayName": "Taiga Mountains",
"color": 3378817,
"parent": "taiga",
"rainfall": 0.8
},
{
"id": 134,
"name": "swamp_hills",
"category": "swamp",
"temperature": 0.8,
"precipitation": "rain",
"depth": -0.1,
"dimension": "overworld",
"displayName": "Swamp Hills",
"color": 3145690,
"parent": "swamp",
"rainfall": 0.9
},
{
"id": 140,
"name": "ice_spikes",
"category": "icy",
"temperature": 0,
"precipitation": "snow",
"depth": 0.425,
"dimension": "overworld",
"displayName": "Ice Spikes",
"color": 11853020,
"parent": "snowy_tundra",
"rainfall": 0.5
},
{
"id": 149,
"name": "modified_jungle",
"category": "jungle",
"temperature": 0.95,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Modified Jungle",
"color": 8102705,
"parent": "jungle",
"rainfall": 0.9
},
{
"id": 151,
"name": "modified_jungle_edge",
"category": "jungle",
"temperature": 0.95,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Modified Jungle Edge",
"color": 9089855,
"parent": "jungle_edge",
"rainfall": 0.8
},
{
"id": 155,
"name": "tall_birch_forest",
"category": "forest",
"temperature": 0.6,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Tall Birch Forest",
"color": 5807212,
"parent": "birch_forest",
"rainfall": 0.6
},
{
"id": 156,
"name": "tall_birch_hills",
"category": "forest",
"temperature": 0.6,
"precipitation": "rain",
"depth": 0.55,
"dimension": "overworld",
"displayName": "Tall Birch Hills",
"color": 4687706,
"parent": "birch_forest_hills",
"rainfall": 0.6
},
{
"id": 157,
"name": "dark_forest_hills",
"category": "forest",
"temperature": 0.7,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Dark Forest Hills",
"color": 6846786,
"parent": "dark_forest",
"rainfall": 0.8
},
{
"id": 158,
"name": "snowy_taiga_mountains",
"category": "taiga",
"temperature": -0.5,
"precipitation": "snow",
"depth": 0.3,
"dimension": "overworld",
"displayName": "Snowy Taiga Mountains",
"color": 5864818,
"parent": "snowy_taiga",
"rainfall": 0.4
},
{
"id": 160,
"name": "giant_spruce_taiga",
"category": "taiga",
"temperature": 0.25,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Giant Spruce Taiga",
"color": 8490617,
"parent": "giant_tree_taiga",
"rainfall": 0.8
},
{
"id": 161,
"name": "giant_spruce_taiga_hills",
"category": "taiga",
"temperature": 0.25,
"precipitation": "rain",
"depth": 0.2,
"dimension": "overworld",
"displayName": "Giant Spruce Taiga Hills",
"color": 7173990,
"parent": "giant_tree_taiga_hills",
"rainfall": 0.8
},
{
"id": 162,
"name": "modified_gravelly_mountains",
"category": "extreme_hills",
"temperature": 0.2,
"precipitation": "rain",
"depth": 1,
"dimension": "overworld",
"displayName": "Gravelly Mountains+",
"color": 7903352,
"parent": "wooded_mountains",
"rainfall": 0.3
},
{
"id": 163,
"name": "shattered_savanna",
"category": "savanna",
"temperature": 1.1,
"precipitation": "none",
"depth": 0.3625,
"dimension": "overworld",
"displayName": "Shattered Savanna",
"color": 15063687,
"parent": "savanna",
"rainfall": 0
},
{
"id": 164,
"name": "shattered_savanna_plateau",
"category": "savanna",
"temperature": 1,
"precipitation": "none",
"depth": 1.05,
"dimension": "overworld",
"displayName": "Shattered Savanna Plateau",
"color": 13616524,
"parent": "savanna_plateau",
"rainfall": 0
},
{
"id": 165,
"name": "eroded_badlands",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 0.1,
"dimension": "overworld",
"displayName": "Eroded Badlands",
"color": 16739645,
"parent": "badlands",
"rainfall": 0
},
{
"id": 166,
"name": "modified_wooded_badlands_plateau",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Modified Wooded Badlands Plateau",
"color": 14204813,
"parent": "wooded_badlands_plateau",
"rainfall": 0
},
{
"id": 167,
"name": "modified_badlands_plateau",
"category": "mesa",
"temperature": 2,
"precipitation": "none",
"depth": 0.45,
"dimension": "overworld",
"displayName": "Modified Badlands Plateau",
"color": 15905933,
"parent": "badlands_plateau",
"rainfall": 0
}
]
@@ -0,0 +1,334 @@
{"blocks":{"air":0,
"stone":1,
"grass":1,
"dirt":1,
"cobblestone":1,
"planks":1,
"sapling":0,
"bedrock":1,
"flowing_water":0,
"water":0,
"flowing_lava":0,
"lava":0,
"sand":1,
"gravel":1,
"gold_ore":1,
"iron_ore":1,
"coal_ore":1,
"log":1,
"leaves":1,
"sponge":1,
"glass":1,
"lapis_ore":1,
"lapis_block":1,
"dispenser":1,
"sandstone":1,
"noteblock":1,
"bed":2,
"golden_rail":0,
"detector_rail":0,
"sticky_piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0],
"web":0,
"tallgrass":0,
"deadbush":0,
"piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0],
"piston_head":[10,11,9,12,13,14,0,0,10,11,9,12,13,14,0,0],
"wool":1,
"piston_extension":0,
"yellow_flower":0,
"red_flower":0,
"brown_mushroom":0,
"red_mushroom":0,
"gold_block":1,
"iron_block":1,
"double_stone_slab":1,
"stone_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16],
"brick_block":1,
"tnt":1,
"bookshelf":1,
"mossy_cobblestone":1,
"obsidian":1,
"torch":0,
"fire":0,
"mob_spawner":1,
"oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"chest":25,
"redstone_wire":0,
"diamond_ore":1,
"diamond_block":1,
"crafting_table":1,
"wheat":0,
"farmland":26,
"furnace":1,
"lit_furnace":1,
"standing_sign":0,
"wooden_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"ladder":[27,27,27,29,30,28,27,27,27,29,30,28,27,27,27,29],
"rail":0,
"stone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"wall_sign":0,
"lever":0,
"stone_pressure_plate":0,
"iron_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"wooden_pressure_plate":0,
"redstone_ore":1,
"lit_redstone_ore":1,
"unlit_redstone_torch":0,
"redstone_torch":0,
"stone_button":0,
"snow_layer":[0,31,32,33,15,34,4,35,0,31,32,33,15,34,4,35],
"ice":1,
"snow":1,
"cactus":36,
"clay":1,
"reeds":0,
"jukebox":1,
"fence":37,
"pumpkin":1,
"netherrack":1,
"soul_sand":35,
"glowstone":1,
"portal":0,
"lit_pumpkin":1,
"cake":[38,39,40,41,42,43,44,0,0,0,0,0,0,0,0,0],
"unpowered_repeater":31,
"powered_repeater":31,
"stained_glass":1,
"trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28],
"monster_egg":1,
"stonebrick":1,
"brown_mushroom_block":1,
"red_mushroom_block":1,
"iron_bars":47,
"glass_pane":47,
"melon_block":1,
"pumpkin_stem":0,
"melon_stem":0,
"vine":0,
"fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"stone_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"mycelium":1,
"waterlily":50,
"nether_brick":1,
"nether_brick_fence":37,
"nether_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"nether_wart":0,
"enchanting_table":4,
"brewing_stand":51,
"cauldron":52,
"end_portal":0,
"end_portal_frame":[81,81,81,81,82,82,82,82,81,81,81,81,82,82,82,82],
"end_stone":1,
"dragon_egg":53,
"redstone_lamp":1,
"lit_redstone_lamp":1,
"double_wooden_slab":1,
"wooden_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16],
"cocoa":[55,56,54,57,58,59,60,61,62,63,64,65,0,0,0,0],
"sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"emerald_ore":1,
"ender_chest":25,
"tripwire_hook":0,
"tripwire":0,
"emerald_block":1,
"spruce_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"birch_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"jungle_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"command_block":1,
"beacon":1,
"cobblestone_wall":66,
"flower_pot":67,
"carrots":0,
"potatoes":0,
"wooden_button":0,
"skull":[69,69,68,70,71,72,69,69,69,69,68,70,71,72,69,69],
"anvil":[73,74,73,74,73,74,73,74,73,74,73,74,0,0,0,0],
"trapped_chest":25,
"light_weighted_pressure_plate":0,
"heavy_weighted_pressure_plate":0,
"unpowered_comparator":31,
"powered_comparator":31,
"daylight_detector":33,
"redstone_block":1,
"quartz_ore":1,
"hopper":75,
"quartz_block":1,
"quartz_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"activator_rail":0,
"dropper":1,
"stained_hardened_clay":1,
"stained_glass_pane":47,
"leaves2":1,"log2":1,"acacia_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"dark_oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"slime":1,
"barrier":1,
"iron_trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28],
"prismarine":1,
"sea_lantern":1,
"hay_block":1,
"carpet":76,
"hardened_clay":1,
"coal_block":1,
"packed_ice":1,
"double_plant":0,
"standing_banner":0,
"wall_banner":0,
"daylight_detector_inverted":33,
"red_sandstone":1,
"red_sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"double_stone_slab2":1,"stone_slab2":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16],
"spruce_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"birch_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"jungle_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"dark_oak_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"acacia_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0],
"spruce_fence":37,
"birch_fence":37,
"jungle_fence":37,
"dark_oak_fence":37,
"acacia_fence":37,
"spruce_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"birch_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"jungle_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"acacia_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"dark_oak_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28],
"end_rod":[77,77,78,78,79,79,77,77,78,78,79,79,77,77,78,78],
"chorus_plant":80,
"chorus_flower":1,
"purpur_block":1,
"purpur_pillar":1,
"purpur_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24],
"purpur_double_slab":1,
"purpur_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16],
"end_bricks":1,
"beetroots":0,
"grass_path":26,
"end_gateway":0,
"repeating_command_block":1,
"chain_command_block":1,
"frosted_ice":1,
"magma":1,
"nether_wart_block":1,
"red_nether_brick":1,
"bone_block":1,
"structure_void":0,
"observer":1,
"white_shulker_box":1,
"orange_shulker_box":1,
"magenta_shulker_box":1,
"light_blue_shulker_box":1,
"yellow_shulker_box":1,
"lime_shulker_box":1,
"pink_shulker_box":1,
"gray_shulker_box":1,
"light_gray_shulker_box":1,
"cyan_shulker_box":1,
"purple_shulker_box":1,
"blue_shulker_box":1,
"brown_shulker_box":1,
"green_shulker_box":1,
"red_shulker_box":1,
"black_shulker_box":1,
"white_glazed_terracotta":1,
"orange_glazed_terracotta":1,
"magenta_glazed_terracotta":1,
"light_blue_glazed_terracotta":1,
"yellow_glazed_terracotta":1,
"lime_glazed_terracotta":1,
"pink_glazed_terracotta":1,
"gray_glazed_terracotta":1,
"light_gray_glazed_terracotta":1,
"cyan_glazed_terracotta":1,
"purple_glazed_terracotta":1,
"blue_glazed_terracotta":1,
"brown_glazed_terracotta":1,
"green_glazed_terracotta":1,
"red_glazed_terracotta":1,
"black_glazed_terracotta":1,
"concrete":1,
"concrete_powder":1,
"structure_block":1},
"shapes":{"0":[],
"1":[[0.0,0.0,0.0,1.0,1.0,1.0]],
"2":[[0.0,0.0,0.0,1.0,0.5625,1.0]],
"3":[[0.0,0.25,0.0,1.0,1.0,1.0]],
"4":[[0.0,0.0,0.0,1.0,0.75,1.0]],
"5":[[0.0,0.0,0.25,1.0,1.0,1.0]],
"6":[[0.0,0.0,0.0,1.0,1.0,0.75]],
"7":[[0.25,0.0,0.0,1.0,1.0,1.0]],
"8":[[0.0,0.0,0.0,0.75,1.0,1.0]],
"9":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.25]],
"10":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.25,0.625]],
"11":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,-0.25,0.375,0.625,0.75,0.625]],
"12":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,-0.25,0.625,0.625,0.75]],
"13":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.25,0.625,0.625]],
"14":[[0.75,0.0,0.0,1.0,1.0,1.0],[-0.25,0.375,0.375,0.75,0.625,0.625]],
"15":[[0.0,0.0,0.0,1.0,0.5,1.0]],
"16":[[0.0,0.5,0.0,1.0,1.0,1.0]],
"17":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]],
"18":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]],
"19":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0]],
"20":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0]],
"21":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,1.0]],
"22":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,0.5,0.5,1.0]],
"23":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.5,1.0,0.5,1.0]],
"24":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,0.5,0.5]],
"25":[[0.0625,0.0,0.0625,0.9375,0.875,0.9375]],
"26":[[0.0,0.0,0.0,1.0,0.9375,1.0]],
"27":[[0.0,0.0,0.8125,1.0,1.0,1.0]],
"28":[[0.0,0.0,0.0,0.1875,1.0,1.0]],
"29":[[0.0,0.0,0.0,1.0,1.0,0.1875]],
"30":[[0.8125,0.0,0.0,1.0,1.0,1.0]],
"31":[[0.0,0.0,0.0,1.0,0.125,1.0]],
"32":[[0.0,0.0,0.0,1.0,0.25,1.0]],
"33":[[0.0,0.0,0.0,1.0,0.375,1.0]],
"34":[[0.0,0.0,0.0,1.0,0.625,1.0]],
"35":[[0.0,0.0,0.0,1.0,0.875,1.0]],
"36":[[0.0625,0.0,0.0625,0.9375,0.9375,0.9375]],
"37":[[0.375,0.0,0.375,0.625,1.5,0.625]],
"38":[[0.0625,0.0,0.0625,0.9375,0.5,0.9375]],
"39":[[0.1875,0.0,0.0625,0.9375,0.5,0.9375]],
"40":[[0.3125,0.0,0.0625,0.9375,0.5,0.9375]],
"41":[[0.4375,0.0,0.0625,0.9375,0.5,0.9375]],
"42":[[0.5625,0.0,0.0625,0.9375,0.5,0.9375]],
"43":[[0.6875,0.0,0.0625,0.9375,0.5,0.9375]],
"44":[[0.8125,0.0,0.0625,0.9375,0.5,0.9375]],
"45":[[0.0,0.0,0.0,1.0,0.1875,1.0]],
"46":[[0.0,0.8125,0.0,1.0,1.0,1.0]],
"47":[[0.4375,0.0,0.4375,0.5625,1.0,0.5625]],
"48":[[0.0,0.0,0.375,1.0,1.5,0.625]],
"49":[[0.375,0.0,0.0,0.625,1.5,1.0]],
"50":[[0.0625,0.0,0.0625,0.9375,0.09375,0.9375]],
"51":[[0.4375,0.0,0.4375,0.5625,0.875,0.5625],[0.0,0.0,0.0,1.0,0.125,1.0]],
"52":[[0.0,0.0,0.0,1.0,0.3125,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.875,1.0,1.0,1.0]],
"53":[[0.0625,0.0,0.0625,0.9375,1.0,0.9375]],
"54":[[0.375,0.4375,0.0625,0.625,0.75,0.3125]],
"55":[[0.375,0.4375,0.6875,0.625,0.75,0.9375]],
"56":[[0.0625,0.4375,0.375,0.3125,0.75,0.625]],
"57":[[0.6875,0.4375,0.375,0.9375,0.75,0.625]],
"58":[[0.3125,0.3125,0.5625,0.6875,0.75,0.9375]],
"59":[[0.0625,0.3125,0.3125,0.4375,0.75,0.6875]],
"60":[[0.3125,0.3125,0.0625,0.6875,0.75,0.4375]],
"61":[[0.5625,0.3125,0.3125,0.9375,0.75,0.6875]],
"62":[[0.25,0.1875,0.4375,0.75,0.75,0.9375]],
"63":[[0.0625,0.1875,0.25,0.5625,0.75,0.75]],
"64":[[0.25,0.1875,0.0625,0.75,0.75,0.5625]],
"65":[[0.4375,0.1875,0.25,0.9375,0.75,0.75]],
"66":[[0.25,0.0,0.25,0.75,1.5,0.75]],
"67":[[0.3125,0.0,0.3125,0.6875,0.375,0.6875]],
"68":[[0.25,0.25,0.5,0.75,0.75,1.0]],
"69":[[0.25,0.0,0.25,0.75,0.5,0.75]],
"70":[[0.25,0.25,0.0,0.75,0.75,0.5]],
"71":[[0.5,0.25,0.25,1.0,0.75,0.75]],
"72":[[0.0,0.25,0.25,0.5,0.75,0.75]],
"73":[[0.125,0.0,0.0,0.875,1.0,1.0]],
"74":[[0.0,0.0,0.125,1.0,1.0,0.875]],
"75":[[0.0,0.0,0.0,1.0,0.625,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.0,0.0,0.875,1.0,1.0,1.0]],
"76":[[0.0,0.0,0.0,1.0,0.0625,1.0]],
"77":[[0.375,0.0,0.375,0.625,1.0,0.625]],
"78":[[0.375,0.375,0.0,0.625,0.625,1.0]],
"79":[[0.0,0.375,0.375,1.0,0.625,0.625]],
"80":[[0.1875,0.1875,0.1875,0.8125,0.8125,0.8125]],
"81":[[0.0,0.0,0.0,1.0,0.8125,1.0]],
"82":[[0.0,0.0,0.0,1.0,0.8125,1.0],[0.3125,0.8125,0.3125,0.6875,1.0,0.6875]]}}
File diff suppressed because it is too large Load Diff
+164
View File
@@ -0,0 +1,164 @@
[
{
"id": 1,
"name": "Speed",
"displayName": "Speed",
"type": "good"
},
{
"id": 2,
"name": "Slowness",
"displayName": "Slowness",
"type": "bad"
},
{
"id": 3,
"name": "Haste",
"displayName": "Haste",
"type": "good"
},
{
"id": 4,
"name": "MiningFatigue",
"displayName": "Mining Fatigue",
"type": "bad"
},
{
"id": 5,
"name": "Strength",
"displayName": "Strength",
"type": "good"
},
{
"id": 6,
"name": "InstantHealth",
"displayName": "Instant Health",
"type": "good"
},
{
"id": 7,
"name": "InstantDamage",
"displayName": "Instant Damage",
"type": "bad"
},
{
"id": 8,
"name": "JumpBoost",
"displayName": "Jump Boost",
"type": "good"
},
{
"id": 9,
"name": "Nausea",
"displayName": "Nausea",
"type": "bad"
},
{
"id": 10,
"name": "Regeneration",
"displayName": "Regeneration",
"type": "good"
},
{
"id": 11,
"name": "Resistance",
"displayName": "Resistance",
"type": "good"
},
{
"id": 12,
"name": "FireResistance",
"displayName": "Fire Resistance",
"type": "good"
},
{
"id": 13,
"name": "WaterBreathing",
"displayName": "Water Breathing",
"type": "good"
},
{
"id": 14,
"name": "Invisibility",
"displayName": "Invisibility",
"type": "good"
},
{
"id": 15,
"name": "Blindness",
"displayName": "Blindness",
"type": "bad"
},
{
"id": 16,
"name": "NightVision",
"displayName": "Night Vision",
"type": "good"
},
{
"id": 17,
"name": "Hunger",
"displayName": "Hunger",
"type": "bad"
},
{
"id": 18,
"name": "Weakness",
"displayName": "Weakness",
"type": "bad"
},
{
"id": 19,
"name": "Poison",
"displayName": "Poison",
"type": "bad"
},
{
"id": 20,
"name": "Wither",
"displayName": "Wither",
"type": "bad"
},
{
"id": 21,
"name": "HealthBoost",
"displayName": "Health Boost",
"type": "good"
},
{
"id": 22,
"name": "Absorption",
"displayName": "Absorption",
"type": "good"
},
{
"id": 23,
"name": "Saturation",
"displayName": "Saturation",
"type": "good"
},
{
"id": 24,
"name": "Glowing",
"displayName": "Glowing",
"type": "bad"
},
{
"id": 25,
"name": "Levitation",
"displayName": "Levitation",
"type": "bad"
},
{
"id": 26,
"name": "Luck",
"displayName": "Luck",
"type": "good"
},
{
"id": 27,
"name": "BadLuck",
"displayName": "Bad Luck",
"type": "bad"
}
]
@@ -0,0 +1,669 @@
[
{
"id": 0,
"name": "protection",
"displayName": "Protection",
"maxLevel": 4,
"minCost": {
"a": 11,
"b": -10
},
"maxCost": {
"a": 11,
"b": 1
},
"exclude": [
"blast_protection",
"fire_protection",
"projectile_protection"
],
"category": "armor",
"weight": 10,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 1,
"name": "fire_protection",
"displayName": "Fire Protection",
"maxLevel": 4,
"minCost": {
"a": 8,
"b": 2
},
"maxCost": {
"a": 8,
"b": 10
},
"exclude": [
"blast_protection",
"protection",
"projectile_protection"
],
"category": "armor",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 2,
"name": "feather_falling",
"displayName": "Feather Falling",
"maxLevel": 4,
"minCost": {
"a": 6,
"b": -1
},
"maxCost": {
"a": 6,
"b": 5
},
"exclude": [],
"category": "armor_feet",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 3,
"name": "blast_protection",
"displayName": "Blast Protection",
"maxLevel": 4,
"minCost": {
"a": 8,
"b": -3
},
"maxCost": {
"a": 8,
"b": 5
},
"exclude": [
"fire_protection",
"protection",
"projectile_protection"
],
"category": "armor",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 4,
"name": "projectile_protection",
"displayName": "Projectile Protection",
"maxLevel": 4,
"minCost": {
"a": 6,
"b": -3
},
"maxCost": {
"a": 6,
"b": 3
},
"exclude": [
"protection",
"blast_protection",
"fire_protection"
],
"category": "armor",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 5,
"name": "respiration",
"displayName": "Respiration",
"maxLevel": 3,
"minCost": {
"a": 10,
"b": 0
},
"maxCost": {
"a": 10,
"b": 30
},
"exclude": [],
"category": "armor_head",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 6,
"name": "aqua_affinity",
"displayName": "Aqua Affinity",
"maxLevel": 1,
"minCost": {
"a": 0,
"b": 1
},
"maxCost": {
"a": 0,
"b": 41
},
"exclude": [],
"category": "armor_head",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 7,
"name": "thorns",
"displayName": "Thorns",
"maxLevel": 3,
"minCost": {
"a": 20,
"b": -10
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "armor_chest",
"weight": 1,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 8,
"name": "depth_strider",
"displayName": "Depth Strider",
"maxLevel": 3,
"minCost": {
"a": 10,
"b": 0
},
"maxCost": {
"a": 10,
"b": 15
},
"exclude": [
"frost_walker"
],
"category": "armor_feet",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 9,
"name": "frost_walker",
"displayName": "Frost Walker",
"maxLevel": 2,
"minCost": {
"a": 10,
"b": 0
},
"maxCost": {
"a": 10,
"b": 15
},
"exclude": [
"depth_strider"
],
"category": "armor_feet",
"weight": 2,
"treasureOnly": true,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 10,
"name": "binding_curse",
"displayName": "Curse of Binding",
"maxLevel": 1,
"minCost": {
"a": 0,
"b": 25
},
"maxCost": {
"a": 0,
"b": 50
},
"exclude": [],
"category": "wearable",
"weight": 1,
"treasureOnly": true,
"curse": true,
"tradeable": true,
"discoverable": true
},
{
"id": 16,
"name": "sharpness",
"displayName": "Sharpness",
"maxLevel": 5,
"minCost": {
"a": 11,
"b": -10
},
"maxCost": {
"a": 11,
"b": 10
},
"exclude": [
"smite",
"bane_of_arthropods"
],
"category": "weapon",
"weight": 10,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 17,
"name": "smite",
"displayName": "Smite",
"maxLevel": 5,
"minCost": {
"a": 8,
"b": -3
},
"maxCost": {
"a": 8,
"b": 17
},
"exclude": [
"sharpness",
"bane_of_arthropods"
],
"category": "weapon",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 18,
"name": "bane_of_arthropods",
"displayName": "Bane of Arthropods",
"maxLevel": 5,
"minCost": {
"a": 8,
"b": -3
},
"maxCost": {
"a": 8,
"b": 17
},
"exclude": [
"smite",
"sharpness"
],
"category": "weapon",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 19,
"name": "knockback",
"displayName": "Knockback",
"maxLevel": 2,
"minCost": {
"a": 20,
"b": -15
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "weapon",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 20,
"name": "fire_aspect",
"displayName": "Fire Aspect",
"maxLevel": 2,
"minCost": {
"a": 20,
"b": -10
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "weapon",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 21,
"name": "looting",
"displayName": "Looting",
"maxLevel": 3,
"minCost": {
"a": 9,
"b": 6
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "weapon",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 22,
"name": "sweeping",
"displayName": "Sweeping Edge",
"maxLevel": 3,
"minCost": {
"a": 9,
"b": -4
},
"maxCost": {
"a": 9,
"b": 11
},
"exclude": [],
"category": "weapon",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 32,
"name": "efficiency",
"displayName": "Efficiency",
"maxLevel": 5,
"minCost": {
"a": 10,
"b": -9
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "digger",
"weight": 10,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 33,
"name": "silk_touch",
"displayName": "Silk Touch",
"maxLevel": 1,
"minCost": {
"a": 0,
"b": 15
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [
"fortune"
],
"category": "digger",
"weight": 1,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 34,
"name": "unbreaking",
"displayName": "Unbreaking",
"maxLevel": 3,
"minCost": {
"a": 8,
"b": -3
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "breakable",
"weight": 5,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 35,
"name": "fortune",
"displayName": "Fortune",
"maxLevel": 3,
"minCost": {
"a": 9,
"b": 6
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [
"silk_touch"
],
"category": "digger",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 48,
"name": "power",
"displayName": "Power",
"maxLevel": 5,
"minCost": {
"a": 10,
"b": -9
},
"maxCost": {
"a": 10,
"b": 6
},
"exclude": [],
"category": "bow",
"weight": 10,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 49,
"name": "punch",
"displayName": "Punch",
"maxLevel": 2,
"minCost": {
"a": 20,
"b": -8
},
"maxCost": {
"a": 20,
"b": 17
},
"exclude": [],
"category": "bow",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 50,
"name": "flame",
"displayName": "Flame",
"maxLevel": 1,
"minCost": {
"a": 0,
"b": 20
},
"maxCost": {
"a": 0,
"b": 50
},
"exclude": [],
"category": "bow",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 51,
"name": "infinity",
"displayName": "Infinity",
"maxLevel": 1,
"minCost": {
"a": 0,
"b": 20
},
"maxCost": {
"a": 0,
"b": 50
},
"exclude": [
"mending"
],
"category": "bow",
"weight": 1,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 61,
"name": "luck_of_the_sea",
"displayName": "Luck of the Sea",
"maxLevel": 3,
"minCost": {
"a": 9,
"b": 6
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "fishing_rod",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 62,
"name": "lure",
"displayName": "Lure",
"maxLevel": 3,
"minCost": {
"a": 9,
"b": 6
},
"maxCost": {
"a": 10,
"b": 51
},
"exclude": [],
"category": "fishing_rod",
"weight": 2,
"treasureOnly": false,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 70,
"name": "mending",
"displayName": "Mending",
"maxLevel": 1,
"minCost": {
"a": 25,
"b": 0
},
"maxCost": {
"a": 25,
"b": 50
},
"exclude": [
"infinity"
],
"category": "breakable",
"weight": 2,
"treasureOnly": true,
"curse": false,
"tradeable": true,
"discoverable": true
},
{
"id": 71,
"name": "vanishing_curse",
"displayName": "Curse of Vanishing",
"maxLevel": 1,
"minCost": {
"a": 0,
"b": 25
},
"maxCost": {
"a": 0,
"b": 50
},
"exclude": [],
"category": "vanishable",
"weight": 1,
"treasureOnly": true,
"curse": true,
"tradeable": true,
"discoverable": true
}
]
File diff suppressed because it is too large Load Diff
+374
View File
@@ -0,0 +1,374 @@
[
{
"id": 103,
"displayName": "Melon",
"name": "melon_block",
"stackSize": 64,
"foodPoints": 2,
"saturation": 1.2,
"effectiveQuality": 3.2,
"saturationRatio": 0.6
},
{
"id": 141,
"displayName": "Carrot",
"name": "carrots",
"stackSize": 64,
"foodPoints": 3,
"saturation": 3.6,
"effectiveQuality": 6.6,
"saturationRatio": 1.2
},
{
"id": 142,
"displayName": "Potato",
"name": "potatoes",
"stackSize": 64,
"foodPoints": 1,
"saturation": 0.6,
"effectiveQuality": 1.6,
"saturationRatio": 0.6
},
{
"id": 260,
"displayName": "Apple",
"stackSize": 64,
"name": "apple",
"foodPoints": 4,
"saturation": 2.4,
"effectiveQuality": 6.4,
"saturationRatio": 0.6
},
{
"id": 282,
"displayName": "Mushroom Stew",
"stackSize": 1,
"name": "mushroom_stew",
"foodPoints": 6,
"saturation": 7.2,
"effectiveQuality": 13.2,
"saturationRatio": 1.2
},
{
"id": 297,
"displayName": "Bread",
"stackSize": 64,
"name": "bread",
"foodPoints": 5,
"saturation": 6,
"effectiveQuality": 11,
"saturationRatio": 1.2
},
{
"id": 319,
"displayName": "Raw Porkchop",
"stackSize": 64,
"name": "porkchop",
"foodPoints": 3,
"saturation": 1.8,
"effectiveQuality": 4.8,
"saturationRatio": 0.6
},
{
"id": 320,
"displayName": "Cooked Porkchop",
"stackSize": 64,
"name": "cooked_porkchop",
"foodPoints": 8,
"saturation": 12.8,
"effectiveQuality": 20.8,
"saturationRatio": 1.6
},
{
"id": 322,
"displayName": "Golden Apple",
"stackSize": 64,
"name": "golden_apple",
"variations": [
{
"metadata": 0,
"displayName": "Golden Apple"
},
{
"metadata": 1,
"displayName": "Enchanted Golden Apple"
}
],
"foodPoints": 4,
"saturation": 9.6,
"effectiveQuality": 13.6,
"saturationRatio": 2.4
},
{
"id": 349,
"displayName": "Raw Fish",
"stackSize": 64,
"name": "fish",
"variations": [
{
"metadata": 0,
"displayName": "Raw Fish"
},
{
"metadata": 1,
"displayName": "Raw Salmon"
},
{
"metadata": 2,
"displayName": "Clownfish"
},
{
"metadata": 3,
"displayName": "Pufferfish"
},
{
"metadata": 4,
"displayName": "Cooked Fish"
},
{
"metadata": 5,
"displayName": "Cooked Salmon"
}
],
"foodPoints": 2,
"saturation": 0.4,
"effectiveQuality": 2.4,
"saturationRatio": 0.2
},
{
"id": 350,
"displayName": "Cooked Fish",
"stackSize": 64,
"name": "cooked_fish",
"variations": [
{
"metadata": 0,
"displayName": "Raw Fish"
},
{
"metadata": 1,
"displayName": "Raw Salmon"
},
{
"metadata": 2,
"displayName": "Clownfish"
},
{
"metadata": 3,
"displayName": "Pufferfish"
},
{
"metadata": 4,
"displayName": "Cooked Fish"
},
{
"metadata": 5,
"displayName": "Cooked Salmon"
}
],
"foodPoints": 5,
"saturation": 6,
"effectiveQuality": 11,
"saturationRatio": 1.2
},
{
"id": 354,
"displayName": "Cake",
"stackSize": 1,
"name": "cake",
"foodPoints": 2,
"saturation": 0.4,
"effectiveQuality": 2.4,
"saturationRatio": 0.2
},
{
"id": 357,
"displayName": "Cookie",
"stackSize": 64,
"name": "cookie",
"foodPoints": 2,
"saturation": 0.4,
"effectiveQuality": 2.4,
"saturationRatio": 0.2
},
{
"id": 363,
"displayName": "Raw Beef",
"stackSize": 64,
"name": "beef",
"foodPoints": 3,
"saturation": 1.8,
"effectiveQuality": 4.8,
"saturationRatio": 0.6
},
{
"id": 364,
"displayName": "Steak",
"stackSize": 64,
"name": "cooked_beef",
"foodPoints": 8,
"saturation": 12.8,
"effectiveQuality": 20.8,
"saturationRatio": 1.6
},
{
"id": 365,
"displayName": "Raw Chicken",
"stackSize": 64,
"name": "chicken",
"foodPoints": 2,
"saturation": 1.2,
"effectiveQuality": 3.2,
"saturationRatio": 0.6
},
{
"id": 366,
"displayName": "Cooked Chicken",
"stackSize": 64,
"name": "cooked_chicken",
"foodPoints": 6,
"saturation": 7.2,
"effectiveQuality": 13.2,
"saturationRatio": 1.2
},
{
"id": 367,
"displayName": "Rotten Flesh",
"stackSize": 64,
"name": "rotten_flesh",
"foodPoints": 4,
"saturation": 0.8,
"effectiveQuality": 4.8,
"saturationRatio": 0.2
},
{
"id": 375,
"displayName": "Spider Eye",
"stackSize": 64,
"name": "spider_eye",
"foodPoints": 2,
"saturation": 3.2,
"effectiveQuality": 5.2,
"saturationRatio": 1.6
},
{
"id": 393,
"displayName": "Baked Potato",
"stackSize": 64,
"name": "baked_potato",
"foodPoints": 5,
"saturation": 6,
"effectiveQuality": 11,
"saturationRatio": 1.2
},
{
"id": 394,
"displayName": "Poisonous Potato",
"stackSize": 64,
"name": "poisonous_potato",
"foodPoints": 2,
"saturation": 1.2,
"effectiveQuality": 3.2,
"saturationRatio": 0.6
},
{
"id": 396,
"displayName": "Golden Carrot",
"stackSize": 64,
"name": "golden_carrot",
"foodPoints": 6,
"saturation": 14.4,
"effectiveQuality": 20.4,
"saturationRatio": 2.4
},
{
"id": 400,
"displayName": "Pumpkin Pie",
"stackSize": 64,
"name": "pumpkin_pie",
"foodPoints": 8,
"saturation": 4.8,
"effectiveQuality": 12.8,
"saturationRatio": 0.6
},
{
"id": 411,
"displayName": "Raw Rabbit",
"stackSize": 64,
"name": "rabbit",
"foodPoints": 3,
"saturation": 1.8,
"effectiveQuality": 4.8,
"saturationRatio": 0.6
},
{
"id": 412,
"displayName": "Cooked Rabbit",
"stackSize": 64,
"name": "cooked_rabbit",
"foodPoints": 5,
"saturation": 6,
"effectiveQuality": 11,
"saturationRatio": 1.2
},
{
"id": 413,
"displayName": "Rabbit Stew",
"stackSize": 1,
"name": "rabbit_stew",
"foodPoints": 10,
"saturation": 12,
"effectiveQuality": 22,
"saturationRatio": 1.2
},
{
"id": 423,
"displayName": "Raw Mutton",
"stackSize": 64,
"name": "mutton",
"foodPoints": 2,
"saturation": 1.2,
"effectiveQuality": 3.2,
"saturationRatio": 0.6
},
{
"id": 424,
"displayName": "Cooked Mutton",
"stackSize": 64,
"name": "cooked_mutton",
"foodPoints": 6,
"saturation": 9.6,
"effectiveQuality": 15.6,
"saturationRatio": 1.5999999999999999
},
{
"id": 432,
"displayName": "Chorus Fruit",
"stackSize": 64,
"name": "chorus_fruit",
"foodPoints": 4,
"saturation": 2.4,
"effectiveQuality": 6.4,
"saturationRatio": 0.6
},
{
"id": 434,
"displayName": "Beetroot",
"stackSize": 64,
"name": "beetroot",
"foodPoints": 1,
"saturation": 1.2,
"effectiveQuality": 2.2,
"saturationRatio": 1.2
},
{
"id": 436,
"displayName": "Beetroot Soup",
"stackSize": 1,
"name": "beetroot_soup",
"foodPoints": 6,
"saturation": 7.2,
"effectiveQuality": 13.2,
"saturationRatio": 1.2
}
]
@@ -0,0 +1,42 @@
[
{
"id": 0,
"name": "harp"
},
{
"id": 1,
"name": "doubleBass"
},
{
"id": 2,
"name": "snareDrum"
},
{
"id": 3,
"name": "sticks"
},
{
"id": 4,
"name": "bassDrum"
},
{
"id": 5,
"name": "xylophone"
},
{
"id": 6,
"name": "bell"
},
{
"id": 7,
"name": "guitar"
},
{
"id": 8,
"name": "chime"
},
{
"id": 9,
"name": "flute"
}
]
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,61 @@
{
"rock": {
"257": 6,
"270": 2,
"274": 4,
"278": 8,
"285": 12
},
"wood": {
"258": 6,
"271": 2,
"275": 4,
"279": 8,
"286": 12
},
"plant": {
"258": 6,
"267": 1.5,
"268": 1.5,
"271": 2,
"272": 1.5,
"275": 4,
"276": 1.5,
"279": 8,
"283": 1.5,
"286": 12
},
"melon": {
"267": 1.5,
"268": 1.5,
"272": 1.5,
"276": 1.5,
"283": 1.5
},
"leaves": {
"267": 1.5,
"268": 1.5,
"272": 1.5,
"276": 1.5,
"283": 1.5,
"359": 6
},
"dirt": {
"256": 6,
"269": 2,
"273": 4,
"277": 8,
"284": 12
},
"web": {
"267": 15,
"268": 15,
"272": 15,
"276": 15,
"283": 15,
"359": 15
},
"wool": {
"359": 4.8
}
}

Some files were not shown because too many files have changed in this diff Show More