Skocz do zawartości


Zdjęcie

Drop z podzielonego slime

#slime #komenda #jakzrobic

Najlepsza odpowiedź Katniss , 17 July 2019 - 07:03

OOOOOOOooooo działa :D

 

Zmieniłem to set_data na te set_count i wczytuje teraz elegancko tablice. // Nie zamienić tylko usunąć, daty nie ma od 1.13+ ;)

 

Ale, jak się teraz okazuje. Komendy nie działają poprawnie. Otóż.

Z tej komendy:

/tag @e[type=slime,tag=!custom,nbt={Size:0,CustomName:"\"jumper\""}] add custom

Musiałem wywalić 

tag=!custom i CustomName:"\"jumper\"". Wpisanie komendy pokazywało nadal że Entity o takich paramentach nie ma, asuniecie tych dwóch opcji pomogło.

 

Z tej komendy:

/execute as @e[type=slime,tag=!custom,nbt={Size:0,CustomName:"\"jumper\""}] run data merge entity @s {DeathLootTable:"skoczek:jumper"}

Też musiałem wywalić tag=!custom i CustomName:"\"jumper\"" bo nie wykrywało moba o takiej nazwie.

// A spróbuj bez samego CustomName:"\"jumper\"", ale to Ci każdego slima wtedy podmieni na Jumper'a. (tag=!custom sprawia, że jak już raz doda to potem nie dodaje znowu, taka optymalizacja bo why not.

 

 

Małe Slimy dropią kamień i może tak nawet zostać. Jednak trzeba zmienić szanse wypadania i nazwę wylatującego itemu. Dodanie szansy na wypadniecie jakoś dodałem i jakoś to działa jednak nie wiem jak zmienić nazwę drapiącemu kamieniowi.

// https://minecraft.gamepedia.com/Loot_table - Tu masz "dokumentację" loot tabli, funkcja set_name jest od zmiany nazwy (można używać w tym JSON Text Component, tak jak w /tellraw - wtedy nie dajesz całości w "" tylko normalnie "name": raw_json)

 

Najpierw próbowałem dodać funkcję set_nbt ale wywala błędy // Musisz zaescapować stringa i struktura się nie zgadza. To niżej powinno działać.

{
    "function":"set_nbt",
    "tag":"{CustomName:\"\\\"Test\\\"\"}"
}

Wiec zrezygnowałem z tego i spróbowałem z "function": "minecraft:set_attributes" jednak też coś nie chce działać. Możliwe że coś źle dodaje ponieważ nie robię tego przez generator tylko ryncznie wszystko. Nie wiem też który sposób jest właściwy, Czy przez set_nbt czy przez set_attributes zmieniać nazwę. Który sposób będzie poprawny?
// set_attributes to są te parametry typu Attack Damage, Attack Speed, Follow Range, etc. A w set_nbt możesz dowolny tag dać, nawet własne (ale tylko wewnątrz tag:{} itemu się nie usuną) typu "tag": "{AABB:\"Hello\",AFloatNumber:5.55F}

Przejdź do postu


  • Zaloguj się, aby dodać odpowiedź
16 odpowiedzi w tym temacie

#1 Zenek

Zenek

    Wyjadacz

  • Użytkownik+
  • 797 postów

Napisano 08 July 2019 - 16:46

Witam. 

Mam taki problem ze slimami i nie wiem jak go rozwiązać. Już wyjaśniam zagadnienie. Otóż chce zespawnować sobie dużego slime(rozmiar 3) który będzie wyświetlał nazwę nad mobem i drobił slimebala również o innej nazwie. Od razu mówię że nie znam się kompletnie na komendzie /summon i większość kodu robiłem w generatorze. Udało mi się jednak takiego slime zrobić. Miał nazwę i dropił slimeballa o innej nazwie jednak tu pojawia się problem. Jak wiadomo, po zabiciu slime, rozdziela się on na 2 średniej wielkości moby, a zabicie jednego średniego, rozdziela go na 4 najmniejsze. Dziedziczenie nazwy pozostaje, jednak drop przestaje działać i te małe zielone gluty dropią zwykłego slimeballa bez customowej nazwy.

 

Chce zrobić tak aby tylko i wyłącznie te małe potworki dropiły tylko i wyłącznie slimeballa o zmienionej nazwie i dziedziczyły nazwę od swojego większego "ojca" i nie wiem jak to zrobić. Próbowałem coś kombinować z loot_table ale nie działało.

 

Żeby zobrazować dokładniej o co mi chodzi przedstawię wymowny wykres:

 

Spawn dużego slime  >>> zabicie dużego slime  >>> zabicie średniego slime >>> zabicie małego slime

                                                    |                                              |                                           |

                                                    |                                              |                                           |

                                               drop:null                                drop:null                          drop 1 slimeballa o zmienionej nazwie

 

 

Pozdrawiam 


~~~~~~fiub ździu


craftportal

Craftserve to największy i najlepszy polski hosting serwerów Minecraft, jest solidny i tani więc go polecam

#2 Katniss

Katniss

    Twórca "Mrocznej klątwy"

  • Senior Moderator
  • 2947 postów
  • Katniss#2260
  • Katniss

Napisano 08 July 2019 - 19:23

Każdy mały slime ma dropić czy jedynie jeden, "losowo" wybrany?

 

Musi być zabezpieczenie tego, że jedynie specjalny "slime z nazwą" dropi, czy globalnie?


Mapa Adventure mojego autorstwa - "Mroczna klątwa" v2.1 (Na wersję MC 1.13.2)
Questy, NPC, niestandardowe przedmioty, bossy, amulety, modele 3D, mana i wiele więcej! BEZ MODÓW!
 

Siege Settlements - coś lepszego niż typowy RTS - https://www.reddit.c...egeSettlements/


#3 Zenek

Zenek

    Wyjadacz

  • Użytkownik+
  • 797 postów

Napisano 08 July 2019 - 20:21

1. Tak. Po zabici małego slime ma wypaść 1 slimeball ze zmienioną nazwą. Jeśli by się dało, to chciałbym żeby wypadł on z szansą 50%. Czyli o każdego z małych ślime ma wypaść 1 slimeball z szansą 50%. Jeśli się nie da to niech wypada od razu po zabiciu.

2. Tak. Tylko ten konkretny stworzony mob z taką nazwą ma mieć taki drop.

~~~~~~fiub ździu


#4 Katniss

Katniss

    Twórca "Mrocznej klątwy"

  • Senior Moderator
  • 2947 postów
  • Katniss#2260
  • Katniss

Napisano 09 July 2019 - 05:26

1. Tak. Po zabici małego slime ma wypaść 1 slimeball ze zmienioną nazwą. Jeśli by się dało, to chciałbym żeby wypadł on z szansą 50%. Czyli o każdego z małych ślime ma wypaść 1 slimeball z szansą 50%. Jeśli się nie da to niech wypada od razu po zabiciu.

2. Tak. Tylko ten konkretny stworzony mob z taką nazwą ma mieć taki drop.

Wykonałem kilka testów i doszedłem do wniosku, że:

1. Slime nie dziedziczą loot table przy podziale

2. Loot table działa na każdy rozmiar slime'a
3. Domyślnie moby nie mają przypisanego loot table w NBT,

4. Slime przy podziale nie dziedziczą /tag'ów.

Chyba najlepszym sposobem byłoby:
- Stworzenie customowego loot table z tym co ma dropić (2 elementy, empty i ten slimeball, równe weighty)

- Co 20 ticków, przypisanie do małego slima z daną nazwą tego customowego loot table'a oraz nadanie tagu, żeby nie musiało sprawdzać już sprawdzonego

  /execute as @e[type=slime,tag=!custom,nbt={Size:0,CustomName:"\"blahblahblah\""}] run data merge entity @s {DeathLootTable:"blahblahblah"}
  /tag @e[type=slime,tag=!custom,nbt={Size:0,CustomName:"\"blahblahblah\""}] add custom


Mapa Adventure mojego autorstwa - "Mroczna klątwa" v2.1 (Na wersję MC 1.13.2)
Questy, NPC, niestandardowe przedmioty, bossy, amulety, modele 3D, mana i wiele więcej! BEZ MODÓW!
 

Siege Settlements - coś lepszego niż typowy RTS - https://www.reddit.c...egeSettlements/


#5 Zenek

Zenek

    Wyjadacz

  • Użytkownik+
  • 797 postów

Napisano 09 July 2019 - 19:26

Tak jak myślałem. Trzeba trochę bardziej pokombinować. No dobrze, w takim razie jak zrobić działająca loot_table i gdzie ją umieścić?

~~~~~~fiub ździu


#6 Katniss

Katniss

    Twórca "Mrocznej klątwy"

  • Senior Moderator
  • 2947 postów
  • Katniss#2260
  • Katniss

Napisano 09 July 2019 - 19:44

Tak jak myślałem. Trzeba trochę bardziej pokombinować. No dobrze, w takim razie jak zrobić działająca loot_table i gdzie ją umieścić?

Najprościej jakimś generatorem, one są generalnie bardzo ograniczone, ale do slimeballa powinno się nadać.

 

W dowolny datapack, w katalog od loot tablów


Mapa Adventure mojego autorstwa - "Mroczna klątwa" v2.1 (Na wersję MC 1.13.2)
Questy, NPC, niestandardowe przedmioty, bossy, amulety, modele 3D, mana i wiele więcej! BEZ MODÓW!
 

Siege Settlements - coś lepszego niż typowy RTS - https://www.reddit.c...egeSettlements/


#7 Zenek

Zenek

    Wyjadacz

  • Użytkownik+
  • 797 postów

Napisano 10 July 2019 - 15:14

Sprawdziłem, i coś nie działa. Nie wiem, może źle coś robię.

 

Stworzyłem taką tablice:


{

  "pools": [

    {

      "rolls": 1,

      "entries": [

        {

          "type": "item",

          "name": "minecraft:slime_ball",

          "weight": 1,

          "functions": [

            {

              "function": "set_data",

              "data": 0

            },

            {

              "function": "set_count",

              "count": 1

            }

          ]

        }
      ]
    }
  ]
}
 
i umieściłem w katalogu
 
~/.minecraft/saves/TESTY/data/loot_tables/Jumper.json
 
I zacząłem testować przywołałem slime tą komendą:
/summon minecraft:slime ~ ~1 ~ {CustomName:"\"Jumper\"",CustomNameVisible:1,Size:3}
 
poszatkowałem go na najmniejsze kawałki i dałem komendę:
/execute as @e[type=slime,tag=!custom,nbt={Size:0,CustomName:"\"Jumper\""}] run data merge entity @s {DeathLootTable:"Jumper"}
która nie zwróciła żadnej informacji. Próbowałem zmieniać ścieżkę do tablicy i nadal nic się nie wyświetlało.
następnie wywołałem to polecenie:
/tag @e[type=slime,tag=!custom,nbt={Size:0,CustomName:"\"Jumper\""}] add custom
i otrzymałem komunikat:
"No entity was found"
Polecenia wrzuciłem również do commandblocka i też to nic nie dało i tak. Slime nadal dropią slimeballe. 
 
Zmieniłem nawet to co mają dropić. Dałem żeby dopiły kamień i sytuacja nadal się nie zmieniła. Tak jak by loot_table nie była wczytywana.
 

~~~~~~fiub ździu


#8 Katniss

Katniss

    Twórca "Mrocznej klątwy"

  • Senior Moderator
  • 2947 postów
  • Katniss#2260
  • Katniss

Napisano 10 July 2019 - 20:27

 

 

i umieściłem w katalogu
 
~/.minecraft/saves/TESTY/data/loot_tables/Jumper.json
 

 

No i źle, to nie 1.13, w 1.14 tego katalogu już sie nie używa. Zamiast tego musisz datapaczkę zrobić. Najlepiej poszukaj template'a w internecie (można też pobrać jakąś prostą z internetu i wyczyścić).

Lecz to nie jest takie trudne jak się wydaje, tu masz strukturę paczki, jakbyś chciał od 0 robić foldery, etc.

By zobaczyć linki musisz się zalogować lub zarejestrować

 

nazwy folderów muszą być z małych liter [a-z0-9_]


Mapa Adventure mojego autorstwa - "Mroczna klątwa" v2.1 (Na wersję MC 1.13.2)
Questy, NPC, niestandardowe przedmioty, bossy, amulety, modele 3D, mana i wiele więcej! BEZ MODÓW!
 

Siege Settlements - coś lepszego niż typowy RTS - https://www.reddit.c...egeSettlements/


#9 Zenek

Zenek

    Wyjadacz

  • Użytkownik+
  • 797 postów

Napisano 11 July 2019 - 14:57

Dobra. Ogarnąłem datapacki. Odziwo jakoś działa ale nadal nie mogę podpiąć loot_table.

 

Stworzyłem  datapacka o nazwie roboczej "skoczek". W którym są takie pliki:

.
├── data
│   ├── minecraft
│   │   └── tags
│   │       └── functions
│   │           ├── load.json
│   │           └── tick.json
│   └── skoczek
│       ├── functions
│       │   ├── detekcja.mcfunction
│       │   └── tagowanie.mcfunction
│       └── loot_tables
│           └── jumper.json
└── pack.mcmeta
 
detekcja.mcfunction tutaj dałem tę komendę


/execute as @e[type=slime,tag=!custom,nbt={Size:0,CustomName:"\"jumper\""}] run data merge entity @s {DeathLootTable:"skoczek:loot_tables/jumper"}
 
i przypisałem ją do load.json i do tick.json żeby wykonała się na początku i cały czas się wykonywała.
Natomiast tagowanie.mcfunction to ta funkcia odpowiedzialna za nadanie tagu:

/tag @e[type=slime,tag=!custom,nbt={Size:0,CustomName:"\"jumper\""}] add custom
i przypisałem do load.json,(oczywiście kombinowałem z tymi komendami i sposobem ich uruchamiania przez load lub tick w rożnych konfiguracjach a także zmieniałem ścieżki do loot_table)
i testowałem czy wykonanie ich się powiodło. 
 
Komendy się niby wykonały jednak nadal nie działa tak jak chce. Zmieniłem loot na kamień żeby mi się nie myliło i nadal nic. Slime jak dopiły slimeballe w rożnych ilościach tak dropią i nic się nie zmienia. 
 
Loot_table została taka sama jak w moim poprzednim poście. Sprawdzałem też tę tablicę za pomocą komendy /loot i nie działało. 
 
 
 

~~~~~~fiub ździu


#10 Katniss

Katniss

    Twórca "Mrocznej klątwy"

  • Senior Moderator
  • 2947 postów
  • Katniss#2260
  • Katniss

Napisano 11 July 2019 - 19:48

skoczek:jumper

Bez loot_tables/ w NBT stringu. Nazwy "głównego" katalogu z danym typem contentu się nie podaje (tak, wiem, dziwne to).


Mapa Adventure mojego autorstwa - "Mroczna klątwa" v2.1 (Na wersję MC 1.13.2)
Questy, NPC, niestandardowe przedmioty, bossy, amulety, modele 3D, mana i wiele więcej! BEZ MODÓW!
 

Siege Settlements - coś lepszego niż typowy RTS - https://www.reddit.c...egeSettlements/


#11 Zenek

Zenek

    Wyjadacz

  • Użytkownik+
  • 797 postów

Napisano 12 July 2019 - 12:47

skoczek:jumper

Bez loot_tables/ w NBT stringu. Nazwy "głównego" katalogu z danym typem contentu się nie podaje (tak, wiem, dziwne to).

 

Zmieniałem. Kilkanaście razy. W różnych konfiguracjach. Nadal nie działa, po mimo że komenda nadal wykonuje się w tle(dałem tellraw przed i po wykonaniu komendy w detekcja.mcfunction przez co na chacie wyświetla się informacja że pętla działa). Zmieniałem także DeathLootTable na LootTable i też nie działa.

 

P.S. do czego służy :

tag=!custom


Użytkownik Zenek edytował ten post 12 July 2019 - 12:48

~~~~~~fiub ździu


#12 Katniss

Katniss

    Twórca "Mrocznej klątwy"

  • Senior Moderator
  • 2947 postów
  • Katniss#2260
  • Katniss

Napisano 12 July 2019 - 13:29

Zmieniałem. Kilkanaście razy. W różnych konfiguracjach. Nadal nie działa, po mimo że komenda nadal wykonuje się w tle(dałem tellraw przed i po wykonaniu komendy w detekcja.mcfunction przez co na chacie wyświetla się informacja że pętla działa). Zmieniałem także DeathLootTable na LootTable i też nie działa.

 

P.S. do czego służy :

tag=!custom

Weź zobacz w logach, czy loot tejbl nie wywala błędu w datapacku.

 

/tag <entity> add/remove <tag> - pozwala oznaczyć dany byt własnym identyfikatorem (string) aby potem móc go wyszukać właśnie za pomocą [tag=xyz], ! po = działa jak negacja logiczna


Mapa Adventure mojego autorstwa - "Mroczna klątwa" v2.1 (Na wersję MC 1.13.2)
Questy, NPC, niestandardowe przedmioty, bossy, amulety, modele 3D, mana i wiele więcej! BEZ MODÓW!
 

Siege Settlements - coś lepszego niż typowy RTS - https://www.reddit.c...egeSettlements/


#13 Zenek

Zenek

    Wyjadacz

  • Użytkownik+
  • 797 postów

Napisano 15 July 2019 - 12:39

Sprawdziłem logi. O to co wyskakuje w konsoli:

[13:35:29] [Client thread/WARN]: Ambiguity between arguments [teleport, destination] and [teleport, targets] with inputs: [Player, 0123, @e, dd12be42-52a9-4a91-a8a1-11c01849e498]
[13:35:29] [Client thread/WARN]: Ambiguity between arguments [teleport, location] and [teleport, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[13:35:29] [Client thread/WARN]: Ambiguity between arguments [teleport, location] and [teleport, targets] with inputs: [0.1 -0.5 .9, 0 0 0]
[13:35:29] [Client thread/WARN]: Ambiguity between arguments [teleport, targets] and [teleport, destination] with inputs: [Player, 0123, dd12be42-52a9-4a91-a8a1-11c01849e498]
[13:35:29] [Client thread/WARN]: Ambiguity between arguments [teleport, targets, location] and [teleport, targets, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[13:35:29] [Server thread/INFO]: Starting integrated minecraft server version 1.14.3
[13:35:29] [Server thread/INFO]: Generating keypair
[13:35:29] [Server thread/INFO]: Reloading ResourceManager: Default, recycler, skoczek
[13:35:30] [Server thread/INFO]: Loaded 6 recipes
[13:35:30] [Server thread/ERROR]: Couldn't parse loot table skoczek:jumper
com.google.gson.JsonSyntaxException: Unknown function 'minecraft:set_data'
at cqc$a.a(SourceFile:90) ~[1.14.3.jar:?]
at cqc$a.deserialize(SourceFile:80) ~[1.14.3.jar:?]
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:887) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:952) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162) ~[gson-2.8.0.jar:?]
at zp.a(SourceFile:440) ~[1.14.3.jar:?]
at zp.a(SourceFile:456) ~[1.14.3.jar:?]
at cpl$e.a(SourceFile:158) ~[1.14.3.jar:?]
at cpl$e.b(SourceFile:134) ~[1.14.3.jar:?]
at cpi$a.a(SourceFile:53) ~[1.14.3.jar:?]
at cpi$a.deserialize(SourceFile:41) ~[1.14.3.jar:?]
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:887) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:952) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162) ~[gson-2.8.0.jar:?]
at zp.a(SourceFile:440) ~[1.14.3.jar:?]
at zp.a(SourceFile:448) ~[1.14.3.jar:?]
at cou$b.a(SourceFile:173) ~[1.14.3.jar:?]
at cou$b.deserialize(SourceFile:169) ~[1.14.3.jar:?]
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:887) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:952) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162) ~[gson-2.8.0.jar:?]
at zp.a(SourceFile:440) ~[1.14.3.jar:?]
at zp.a(SourceFile:456) ~[1.14.3.jar:?]
at cov$b.a(SourceFile:215) ~[1.14.3.jar:?]
at cov$b.deserialize(SourceFile:211) ~[1.14.3.jar:?]
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:887) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:952) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:925) ~[gson-2.8.0.jar:?]
at cox.a(SourceFile:62) ~[1.14.3.jar:?]
at java.util.HashMap.forEach(HashMap.java:1289) ~[?:1.8.0_201]
at cox.a(SourceFile:60) ~[1.14.3.jar:?]
at cox.a(SourceFile:26) ~[1.14.3.jar:?]
at xj.a(SourceFile:13) ~[1.14.3.jar:?]
at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:656) ~[?:1.8.0_201]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:632) ~[?:1.8.0_201]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442) ~[?:1.8.0_201]
at xk.a(SourceFile:71) ~[1.14.3.jar:?]
at ri.run(SourceFile:18) [1.14.3.jar:?]
at agn.h(SourceFile:135) [1.14.3.jar:?]
at agr.h(SourceFile:23) [1.14.3.jar:?]
at agn.p(SourceFile:114) [1.14.3.jar:?]
at net.minecraft.server.MinecraftServer.aW(SourceFile:701) [1.14.3.jar:?]
at net.minecraft.server.MinecraftServer.p(SourceFile:695) [1.14.3.jar:?]
at agn.c(SourceFile:123) [1.14.3.jar:?]
at net.minecraft.server.MinecraftServer.b(SourceFile:1460) [1.14.3.jar:?]
at net.minecraft.server.MinecraftServer.a(SourceFile:449) [1.14.3.jar:?]
at dxo.a(SourceFile:79) [1.14.3.jar:?]
at dxo.d(SourceFile:104) [1.14.3.jar:?]
at net.minecraft.server.MinecraftServer.run(SourceFile:604) [1.14.3.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
[13:35:30] [Server thread/INFO]: Loaded 8 custom command functions
[13:35:30] [Server thread/INFO]: Loaded 811 advancements
[13:35:30] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
[13:35:32] [Client thread/INFO]: Preparing spawn area: 0%
[13:35:32] [Client thread/INFO]: Preparing spawn area: 0%
[13:35:32] [Client thread/INFO]: Preparing spawn area: 0%
[13:35:32] [Client thread/INFO]: Preparing spawn area: 0%
[13:35:32] [Client thread/INFO]: Preparing spawn area: 85%
[13:35:33] [Client thread/INFO]: Preparing spawn area: 85%
[13:35:33] [Client thread/INFO]: Preparing spawn area: 85%
[13:35:34] [Client thread/INFO]: Preparing spawn area: 86%
[13:35:34] [Client thread/INFO]: Preparing spawn area: 90%
[13:35:35] [Client thread/INFO]: Preparing spawn area: 94%
[13:35:35] [Client thread/INFO]: Preparing spawn area: 98%
[13:35:35] [Client thread/INFO]: Time elapsed: 5139 ms
[13:35:36] [Server thread/INFO]: Changing view distance to 4, from 10
[13:35:36] [Server thread/INFO]: FazerVolt[local:E:4b96b238] logged in with entity id 736 at (217.33922807701873, 69.0, 321.59063036478744)
[13:35:36] [Server thread/INFO]: FazerVolt joined the game
[13:35:36] [Server thread/INFO]: Saving and pausing game...
[13:35:36] [Server thread/INFO]: Saving chunks for level 'TESTY'/minecraft:the_end
[13:35:36] [Server thread/INFO]: Saving chunks for level 'TESTY'/minecraft:overworld
[13:35:36] [Client thread/INFO]: [CHAT] ELO3.
[13:35:36] [Client thread/INFO]: [CHAT] ELO4.
[13:35:36] [Client thread/INFO]: Loaded 46 advancements
[13:35:36] [Client thread/INFO]: [CHAT] ELO3.
[13:35:36] [Client thread/INFO]: [CHAT] ELO4.
[13:35:36] [Client thread/INFO]: [CHAT] ELO3.
[13:35:36] [Client thread/INFO]: [CHAT] ELO4.
[13:35:38] [Server thread/INFO]: Saving chunks for level 'TESTY'/minecraft:the_nether
[13:35:38] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 2321ms or 46 ticks behind
[13:35:38] [Client thread/INFO]: [CHAT] ELO3.
[13:35:38] [Client thread/INFO]: [CHAT] ELO4.
[13:35:38] [Client thread/INFO]: [CHAT] ELO3.
[13:35:38] [Client thread/INFO]: [CHAT] ELO4.
[13:35:38] [Client thread/INFO]: [CHAT] ELO3.
[13:35:38] [Client thread/INFO]: [CHAT] ELO4.
[13:35:38] [Client thread/INFO]: [CHAT] ELO3.
[13:35:38] [Client thread/INFO]: [CHAT] ELO4.
[13:35:38] [Server thread/INFO]: Saving and pausing game...
[13:35:38] [Server thread/INFO]: Saving chunks for level 'TESTY'/minecraft:the_end
[13:35:38] [Server thread/INFO]: Saving chunks for level 'TESTY'/minecraft:overworld
[13:35:39] [Server thread/INFO]: Saving chunks for level 'TESTY'/minecraft:the_nether

~~~~~~fiub ździu


#14 Katniss

Katniss

    Twórca "Mrocznej klątwy"

  • Senior Moderator
  • 2947 postów
  • Katniss#2260
  • Katniss

Napisano 15 July 2019 - 18:47

 

Sprawdziłem logi. O to co wyskakuje w konsoli:

[13:35:30] [Server thread/ERROR]: Couldn't parse loot table skoczek:jumper
com.google.gson.JsonSyntaxException: Unknown function 'minecraft:set_data'
at cqc$a.a(SourceFile:90) ~[1.14.3.jar:?]
at cqc$a.deserialize(SourceFile:80) ~[1.14.3.jar:?]
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:887) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:952) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162) ~[gson-2.8.0.jar:?]
at zp.a(SourceFile:440) ~[1.14.3.jar:?]
at zp.a(SourceFile:456) ~[1.14.3.jar:?]
at cpl$e.a(SourceFile:158) ~[1.14.3.jar:?]
at cpl$e.b(SourceFile:134) ~[1.14.3.jar:?]
at cpi$a.a(SourceFile:53) ~[1.14.3.jar:?]
at cpi$a.deserialize(SourceFile:41) ~[1.14.3.jar:?]
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:887) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:952) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162) ~[gson-2.8.0.jar:?]
at zp.a(SourceFile:440) ~[1.14.3.jar:?]
at zp.a(SourceFile:448) ~[1.14.3.jar:?]
at cou$b.a(SourceFile:173) ~[1.14.3.jar:?]
at cou$b.deserialize(SourceFile:169) ~[1.14.3.jar:?]
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:887) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:952) ~[gson-2.8.0.jar:?]
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162) ~[gson-2.8.0.jar:?]
at zp.a(SourceFile:440) ~[1.14.3.jar:?]
at zp.a(SourceFile:456) ~[1.14.3.jar:?]
at cov$b.a(SourceFile:215) ~[1.14.3.jar:?]
at cov$b.deserialize(SourceFile:211) ~[1.14.3.jar:?]
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:887) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:952) ~[gson-2.8.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:925) ~[gson-2.8.0.jar:?]
at cox.a(SourceFile:62) ~[1.14.3.jar:?]
at java.util.HashMap.forEach(HashMap.java:1289) ~[?:1.8.0_201]
at cox.a(SourceFile:60) ~[1.14.3.jar:?]
at cox.a(SourceFile:26) ~[1.14.3.jar:?]
at xj.a(SourceFile:13) ~[1.14.3.jar:?]
at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:656) ~[?:1.8.0_201]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:632) ~[?:1.8.0_201]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442) ~[?:1.8.0_201]
at xk.a(SourceFile:71) ~[1.14.3.jar:?]
at ri.run(SourceFile:18) [1.14.3.jar:?]
at agn.h(SourceFile:135) [1.14.3.jar:?]
at agr.h(SourceFile:23) [1.14.3.jar:?]
at agn.p(SourceFile:114) [1.14.3.jar:?]
at net.minecraft.server.MinecraftServer.aW(SourceFile:701) [1.14.3.jar:?]
at net.minecraft.server.MinecraftServer.p(SourceFile:695) [1.14.3.jar:?]
at agn.c(SourceFile:123) [1.14.3.jar:?]
at net.minecraft.server.MinecraftServer.b(SourceFile:1460) [1.14.3.jar:?]
at net.minecraft.server.MinecraftServer.a(SourceFile:449) [1.14.3.jar:?]
at dxo.a(SourceFile:79) [1.14.3.jar:?]
at dxo.d(SourceFile:104) [1.14.3.jar:?]
at net.minecraft.server.MinecraftServer.run(SourceFile:604) [1.14.3.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]

 

Spróbuj tego:

{
  "pools":
  [
    {
      "rolls": 1,
      "entries":
      [
        {
          "type": "item",
          "name": "minecraft:slime_ball",
          "weight": 1,
          "functions": [
            {
              "function": "set_count",
              "count": 1
            }
          ]
        }
      ]
    }
  ]
}

Mapa Adventure mojego autorstwa - "Mroczna klątwa" v2.1 (Na wersję MC 1.13.2)
Questy, NPC, niestandardowe przedmioty, bossy, amulety, modele 3D, mana i wiele więcej! BEZ MODÓW!
 

Siege Settlements - coś lepszego niż typowy RTS - https://www.reddit.c...egeSettlements/


#15 Zenek

Zenek

    Wyjadacz

  • Użytkownik+
  • 797 postów

Napisano 16 July 2019 - 14:55

OOOOOOOooooo działa :D

 

Zmieniłem to set_data na te set_count i wczytuje teraz elegancko tablice.

 

Ale, jak się teraz okazuje. Komendy nie działają poprawnie. Otóż.

Z tej komendy:

/tag @e[type=slime,tag=!custom,nbt={Size:0,CustomName:"\"jumper\""}] add custom

 

Musiałem wywalić 

tag=!custom i CustomName:"\"jumper\"". Wpisanie komendy pokazywało nadal że Entity o takich paramentach nie ma, asuniecie tych dwóch opcji pomogło.

 

Z tej komendy:

/execute as @e[type=slime,tag=!custom,nbt={Size:0,CustomName:"\"jumper\""}] run data merge entity @s {DeathLootTable:"skoczek:jumper"}

 

Też musiałem wywalić tag=!custom i CustomName:"\"jumper\"" bo nie wykrywało moba o takiej nazwie.

 

 

Małe Slimy dropią kamień i może tak nawet zostać. Jednak trzeba zmienić szanse wypadania i nazwę wylatującego itemu. Dodanie szansy na wypadniecie jakoś dodałem i jakoś to działa jednak nie wiem jak zmienić nazwę drapiącemu kamieniowi.

 

Najpierw próbowałem dodać funkcję set_nbt ale wywala błędy

"function":"set_nbt"
"tag":"{CustomNames:"\"Test\""}"

 

Wiec zrezygnowałem z tego i spróbowałem z "function": "minecraft:set_attributes" jednak też coś nie chce działać. Możliwe że coś źle dodaje ponieważ nie robię tego przez generator tylko ryncznie wszystko. Nie wiem też który sposób jest właściwy, Czy przez set_nbt czy przez set_attributes zmieniać nazwę. Który sposób będzie poprawny?


~~~~~~fiub ździu


#16 Katniss

Katniss

    Twórca "Mrocznej klątwy"

  • Senior Moderator
  • 2947 postów
  • Katniss#2260
  • Katniss

Napisano 17 July 2019 - 07:03   Najlepsza odpowiedź

OOOOOOOooooo działa :D

 

Zmieniłem to set_data na te set_count i wczytuje teraz elegancko tablice. // Nie zamienić tylko usunąć, daty nie ma od 1.13+ ;)

 

Ale, jak się teraz okazuje. Komendy nie działają poprawnie. Otóż.

Z tej komendy:

/tag @e[type=slime,tag=!custom,nbt={Size:0,CustomName:"\"jumper\""}] add custom

Musiałem wywalić 

tag=!custom i CustomName:"\"jumper\"". Wpisanie komendy pokazywało nadal że Entity o takich paramentach nie ma, asuniecie tych dwóch opcji pomogło.

 

Z tej komendy:

/execute as @e[type=slime,tag=!custom,nbt={Size:0,CustomName:"\"jumper\""}] run data merge entity @s {DeathLootTable:"skoczek:jumper"}

Też musiałem wywalić tag=!custom i CustomName:"\"jumper\"" bo nie wykrywało moba o takiej nazwie.

// A spróbuj bez samego CustomName:"\"jumper\"", ale to Ci każdego slima wtedy podmieni na Jumper'a. (tag=!custom sprawia, że jak już raz doda to potem nie dodaje znowu, taka optymalizacja bo why not.

 

 

Małe Slimy dropią kamień i może tak nawet zostać. Jednak trzeba zmienić szanse wypadania i nazwę wylatującego itemu. Dodanie szansy na wypadniecie jakoś dodałem i jakoś to działa jednak nie wiem jak zmienić nazwę drapiącemu kamieniowi.

// 

By zobaczyć linki musisz się zalogować lub zarejestrować

 - Tu masz "dokumentację" loot tabli, funkcja set_name jest od zmiany nazwy (można używać w tym JSON Text Component, tak jak w /tellraw - wtedy nie dajesz całości w "" tylko normalnie "name": raw_json)

 

Najpierw próbowałem dodać funkcję set_nbt ale wywala błędy // Musisz zaescapować stringa i struktura się nie zgadza. To niżej powinno działać.

{
    "function":"set_nbt",
    "tag":"{CustomName:\"\\\"Test\\\"\"}"
}

Wiec zrezygnowałem z tego i spróbowałem z "function": "minecraft:set_attributes" jednak też coś nie chce działać. Możliwe że coś źle dodaje ponieważ nie robię tego przez generator tylko ryncznie wszystko. Nie wiem też który sposób jest właściwy, Czy przez set_nbt czy przez set_attributes zmieniać nazwę. Który sposób będzie poprawny?
// set_attributes to są te parametry typu Attack Damage, Attack Speed, Follow Range, etc. A w set_nbt możesz dowolny tag dać, nawet własne (ale tylko wewnątrz tag:{} itemu się nie usuną) typu "tag": "{AABB:\"Hello\",AFloatNumber:5.55F}


Mapa Adventure mojego autorstwa - "Mroczna klątwa" v2.1 (Na wersję MC 1.13.2)
Questy, NPC, niestandardowe przedmioty, bossy, amulety, modele 3D, mana i wiele więcej! BEZ MODÓW!
 

Siege Settlements - coś lepszego niż typowy RTS - https://www.reddit.c...egeSettlements/


#17 Zenek

Zenek

    Wyjadacz

  • Użytkownik+
  • 797 postów

Napisano 20 July 2019 - 14:24

AAAAAA dzięki dzięki dzięki Katniss. :DDD

 

Działa wszystko tak jak chciałem. :DD

 

Dodałem funkcje set_name i działa :DD I drop i szansa dropu i nazwa wypadanego przedmiotu. Kurna działa :DD

 

Pozmieniało się w tych Minecraftach. Ze takie rzeczy można robić. Te datapacki to fajna sprawa. :D


~~~~~~fiub ździu