From 9431f7c18911d68b01d3ab96e785aa9fd72145f9 Mon Sep 17 00:00:00 2001 From: IronApollo Date: Mon, 14 Sep 2020 21:18:06 -0400 Subject: [PATCH 1/8] Fix Vault integration + remove DummyFAWE --- .../com/boydti/fawe/bukkit/FaweBukkit.java | 15 --- .../java/com/sk89q/wepif/VaultResolver.java | 2 +- .../sk89q/worldedit/bukkit/BukkitPlayer.java | 13 ++- .../worldedit/bukkit/WorldEditPlugin.java | 107 +----------------- .../src/main/resources/plugin.yml | 3 +- 5 files changed, 13 insertions(+), 127 deletions(-) diff --git a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/FaweBukkit.java b/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/FaweBukkit.java index 9c0079ea8..1f58e55ff 100644 --- a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/FaweBukkit.java +++ b/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/FaweBukkit.java @@ -53,7 +53,6 @@ public class FaweBukkit implements IFawe, Listener { private static final Logger log = LoggerFactory.getLogger(FaweBukkit.class); private final Plugin plugin; - private VaultUtil vault; private ItemUtil itemUtil; private boolean listeningImages; @@ -61,10 +60,6 @@ public class FaweBukkit implements IFawe, Listener { private CFIPacketListener packetListener; private final boolean chunksStretched; - public VaultUtil getVault() { - return this.vault; - } - public FaweBukkit(Plugin plugin) { this.plugin = plugin; try { @@ -87,9 +82,6 @@ public class FaweBukkit implements IFawe, Listener { chunksStretched = Integer.parseInt(Bukkit.getBukkitVersion().split("-")[0].split("\\.")[1]) >= 16; - //Vault is Spigot/Paper only so this needs to be done in the Bukkit module - TaskManager.IMP.later(this::setupVault, 0); - //PlotSquared support is limited to Spigot/Paper as of 02/20/2020 TaskManager.IMP.later(this::setupPlotSquared, 0); @@ -177,13 +169,6 @@ public class FaweBukkit implements IFawe, Listener { return tmp; } - private void setupVault() { - try { - this.vault = new VaultUtil(); - } catch (final Throwable ignored) { - } - } - @Override public String getDebugInfo() { StringBuilder msg = new StringBuilder(); msg.append("Server Version: ").append(Bukkit.getVersion()).append("\n"); diff --git a/worldedit-bukkit/src/main/java/com/sk89q/wepif/VaultResolver.java b/worldedit-bukkit/src/main/java/com/sk89q/wepif/VaultResolver.java index c5019f0d1..39746bf0e 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/wepif/VaultResolver.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/wepif/VaultResolver.java @@ -28,7 +28,7 @@ import org.bukkit.plugin.RegisteredServiceProvider; public class VaultResolver implements PermissionsResolver { - private static Permission perms = null; + public static Permission perms = null; public static PermissionsResolver factory(Server server, YAMLProcessor config) { if (server.getPluginManager().getPlugin("Vault") == null) { diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java index ef6370e85..64b5d8389 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java @@ -26,6 +26,7 @@ import com.boydti.fawe.config.Settings; import com.boydti.fawe.object.RunnableVal; import com.boydti.fawe.util.TaskManager; import com.sk89q.util.StringUtil; +import com.sk89q.wepif.VaultResolver; import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.WorldEditException; import com.sk89q.worldedit.blocks.BaseItemStack; @@ -240,13 +241,15 @@ public class BukkitPlayer extends AbstractPlayerActor { * Permissions are used to managing WorldEdit region restrictions * - The `/wea` command will give/remove the required bypass permission */ - if (Fawe.imp().getVault() == null || Fawe. imp().getVault().permission == null) { - player.addAttachment(plugin).setPermission(permission, value); - } else if (value) { - if (!Fawe. imp().getVault().permission.playerAdd(player, permission)) { + if(VaultResolver.perms != null){ + if(value){ + if(!VaultResolver.perms.playerAdd(player, permission)){ + player.addAttachment(plugin).setPermission(permission, value); + } + }else if(!VaultResolver.perms.playerRemove(player, permission)){ player.addAttachment(plugin).setPermission(permission, value); } - } else if (!Fawe.imp().getVault().permission.playerRemove(player, permission)) { + }else{ player.addAttachment(plugin).setPermission(permission, value); } } diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java index f56998faa..0b769b75b 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java @@ -125,70 +125,9 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter private BukkitServerInterface server; private BukkitConfiguration config; - private static Map lookupNames; - - static { - // Disable AWE as otherwise both fail to load - PluginManager manager = Bukkit.getPluginManager(); - try { - Field pluginsField = manager.getClass().getDeclaredField("plugins"); - Field lookupNamesField = manager.getClass().getDeclaredField("lookupNames"); - pluginsField.setAccessible(true); - lookupNamesField.setAccessible(true); - List plugins = (List) pluginsField.get(manager); - lookupNames = (Map) lookupNamesField.get(manager); - pluginsField.set(manager, new ArrayList(plugins) { - @Override - public boolean add(Plugin plugin) { - if (plugin.getName().startsWith("AsyncWorldEdit")) { - log.debug("Disabling `" + plugin.getName() + "` as it is incompatible"); - } else { - return super.add(plugin); - } - return false; - } - }); - lookupNamesField.set(manager, lookupNames = new ConcurrentHashMap(lookupNames) { - @Override - public Plugin put(@NotNull String key, @NotNull Plugin plugin) { - if (plugin.getName().startsWith("AsyncWorldEdit")) { - return null; - } - return super.put(key, plugin); - } - }); - } catch (Throwable ignored) { - } - } - - public WorldEditPlugin() { - init(); - } - - public WorldEditPlugin(JavaPluginLoader loader, PluginDescriptionFile desc, File dataFolder, File jarFile) { - super(loader, desc, dataFolder, jarFile); - init(); - } - - private void init() { - if (lookupNames != null) { - lookupNames.putIfAbsent("FastAsyncWorldEdit".toLowerCase(Locale.ROOT), this); - lookupNames.putIfAbsent("WorldEdit".toLowerCase(Locale.ROOT), this); - lookupNames.putIfAbsent("FastAsyncWorldEdit", this); - lookupNames.putIfAbsent("WorldEdit", this); - rename(); - } - setEnabled(true); - } - @Override public void onLoad() { - if (INSTANCE != null) { - return; - } - rename(); INSTANCE = this; - FaweBukkit imp = new FaweBukkit(this); //noinspection ResultOfMethodCallIgnored getDataFolder().mkdirs(); @@ -203,8 +142,6 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter if (Files.exists(delChunks)) { ChunkDeleter.runFromFile(delChunks, true); } - - fail(() -> PermissionsResolverManager.initialize(INSTANCE), "Failed to initialize permissions resolver"); } /** @@ -212,10 +149,8 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter */ @Override public void onEnable() { - if (INSTANCE != null) { - return; - } - onLoad(); + + FaweBukkit imp = new FaweBukkit(this); PermissionsResolverManager.initialize(this); // Setup permission resolver @@ -335,44 +270,6 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter } } - private void rename() { - File dir = new File(getDataFolder().getParentFile(), "FastAsyncWorldEdit"); - try { - Field descriptionField = JavaPlugin.class.getDeclaredField("dataFolder"); - descriptionField.setAccessible(true); - descriptionField.set(this, dir); - } catch (Throwable e) { - e.printStackTrace(); - } - try { - File pluginsFolder = MainUtil.getJarFile().getParentFile(); - - for (File file : pluginsFolder.listFiles()) { - if (file.length() == 2052) { - return; - } - } - Plugin plugin = Bukkit.getPluginManager().getPlugin("FastAsyncWorldEdit"); - File dummy = MainUtil.copyFile(MainUtil.getJarFile(), "DummyFawe.src", pluginsFolder, "DummyFawe.jar"); - if (dummy != null && dummy.exists() && plugin == this) { - try { - Bukkit.getPluginManager().loadPlugin(dummy); - } catch (Throwable e) { - if (Bukkit.getUpdateFolderFile().mkdirs()) { - MainUtil.copyFile(MainUtil.getJarFile(), "DummyFawe.src", pluginsFolder, Bukkit.getUpdateFolder() + File.separator + "DummyFawe.jar"); - } else { - getLogger().info("Please delete DummyFawe.jar and restart"); - } - } - getLogger().info("Please restart the server if you have any plugins which depend on FAWE."); - } else if (dummy == null) { - MainUtil.copyFile(MainUtil.getJarFile(), "DummyFawe.src", pluginsFolder, "update" + File.separator + "DummyFawe.jar"); - } - } catch (Throwable e) { - e.printStackTrace(); - } - } - private void fail(Runnable run, String message) { try { run.run(); diff --git a/worldedit-bukkit/src/main/resources/plugin.yml b/worldedit-bukkit/src/main/resources/plugin.yml index 9126b008f..30b1c0f50 100644 --- a/worldedit-bukkit/src/main/resources/plugin.yml +++ b/worldedit-bukkit/src/main/resources/plugin.yml @@ -1,9 +1,10 @@ -name: WorldEdit +name: FastAsyncWorldEdit main: com.sk89q.worldedit.bukkit.WorldEditPlugin version: "${internalVersion}" load: STARTUP api-version: 1.13 softdepend: [Vault] +provides: [WorldEdit] website: https://intellectualsites.github.io/download/fawe.html description: Blazingly fast world manipulation for builders, large networks and developers. authors: [Empire92, MattBDev, IronApollo, dordsor21, NotMyFault] From d741a8a9054f4e5ffa9524e0435e5c76abf9eabe Mon Sep 17 00:00:00 2001 From: IronApollo Date: Mon, 14 Sep 2020 21:30:27 -0400 Subject: [PATCH 2/8] Delete DummyFawe.src --- .../src/main/resources/DummyFawe.src | Bin 2052 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 worldedit-bukkit/src/main/resources/DummyFawe.src diff --git a/worldedit-bukkit/src/main/resources/DummyFawe.src b/worldedit-bukkit/src/main/resources/DummyFawe.src deleted file mode 100644 index 7be47425b30e5f540ef6864c88944abaa02367c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2052 zcmWIWW@h1HVBp|jkliNW%K!vSAOZ+Df!NnI#8KDN&rP41ApoxM(^diBP4!Igq=5<~ zfmj4tp|7K#r<-eVh@P+8XWuiYeY|z`F7kToYMncCeshq)72^j_A3bG4G7Q~T7NB9t z`MD?-qO0MCs!7VPOex94t5g70XjvFbv;+uf(TPORg6cv6HE;sd$7{FK5&zH)9p;>nyc_ zr!p55f8_inaLGyG#s8TvxZK?DIlp+Nt|uxBjuB8qaxi3ZXb0|lemvkiGXsN+C<6m9 zbubj|@zhlPJ_MZDpy~LAo+VFOr1EO2?3o{1{xb>LoqBX7{zzE;HMKYI(hS~ZuFrT^ z6;)zzm%;swU1Y)e-Mg7LNqBuL@4x$a{oVHR-PRwTJ^W>1`*(ueQ3Ju#m;b##zuCNJ z|K9!g>stlv{`R&1{wweEZn1jy%ewWQTLt#l@45fq^Wp1Htc!U6zj(~unZQC4k z>v(BvLX_h3Bl%C(9?;yfo#zSL;m`fkR_|YDZjzjS$H87GpYvb<+nR|w3zxl^=WTdx zy1BlA zqRD-Kn%Sl30N$IKR=a|H<4!96T^;Ph_(|Ao;ogUjbEI{@Cdj8vc+MpxF=vhOyr&lw zmuo6rUwKq&`9$e}kHSV~4Vori84R^^YH#UXYSQD`d{H;k@4;tQKkn%jFBe@7NtTeF zQF7qR%Ii-p*x8NeeeUve%29F@vAWBUm7^*;%jA4Av!q&I=H|1;CYJxqeG?a~``bDr z_QCUM_kCZ_tX<=fX%OKU^2E7!p^B!Cj;a3(rXtoN0i|Zs`&owl32Q@UD1KcgrEDBH zL+gUiRjDcEuUV6HzMY;v#VJvHkHOE+p%)fey)T<&wPo(&(wtouyIp0uv&*)YHXgf} z=Z8+j_lZ$t|NcpIwhm9-k$g8ga90 z`mrtEcR%`cWQ*REils~{5fgq7>Xl$9ZgPR4!=MBS>%knhS%EA^A7PMrp24SMNFBX{fKM(Iq#3&9Xo0o z3>>eSE$ci#jots?4nwJvc`~eFQ=h4)e~u15b$`pX=+tW!d;RbI>J#bF&oE6eo!L;l zG9tT!;>R=uK DtHkwR From 64a71600f9b10ad4b12e893abf9d0af53adc9f23 Mon Sep 17 00:00:00 2001 From: IronApollo Date: Mon, 14 Sep 2020 22:10:37 -0400 Subject: [PATCH 3/8] Add DummyFawe detector --- .../worldedit/bukkit/WorldEditPlugin.java | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java index 0b769b75b..5fbe2af8f 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java @@ -22,7 +22,6 @@ package com.sk89q.worldedit.bukkit; import com.boydti.fawe.Fawe; import com.boydti.fawe.bukkit.FaweBukkit; -import com.boydti.fawe.util.MainUtil; import com.google.common.base.Joiner; import com.sk89q.util.yaml.YAMLProcessor; import com.sk89q.wepif.PermissionsResolverManager; @@ -67,12 +66,7 @@ import org.bukkit.event.Listener; import org.bukkit.event.world.WorldInitEvent; import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.metadata.MetadataValue; -import org.bukkit.plugin.Plugin; -import org.bukkit.plugin.PluginDescriptionFile; -import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; -import org.bukkit.plugin.java.JavaPluginLoader; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -82,16 +76,12 @@ import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.lang.reflect.Field; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.ArrayList; import java.util.List; import java.util.Locale; -import java.util.Map; import java.util.Optional; -import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import static com.google.common.base.Preconditions.checkNotNull; @@ -142,6 +132,15 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter if (Files.exists(delChunks)) { ChunkDeleter.runFromFile(delChunks, true); } + + if(this.getDataFolder().getParentFile().listFiles(file -> { + if(file.getName().equals("DummyFawe.jar")){ + return true; + } + return false; + }).length > 0){ + getLogger().warning("DummyFawe detected! This is no longer necessary. Please remove immediately and restart your server!"); + } } /** @@ -150,7 +149,7 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter @Override public void onEnable() { - FaweBukkit imp = new FaweBukkit(this); + new FaweBukkit(this); PermissionsResolverManager.initialize(this); // Setup permission resolver From cd5691b819787614a154a1e12c006ec0c224ba50 Mon Sep 17 00:00:00 2001 From: IronApollo Date: Tue, 15 Sep 2020 19:07:52 -0400 Subject: [PATCH 4/8] Fix styling --- .../com/sk89q/worldedit/bukkit/BukkitPlayer.java | 12 +++++------- .../com/sk89q/worldedit/bukkit/WorldEditPlugin.java | 6 +++--- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java index 64b5d8389..61403b934 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java @@ -19,8 +19,6 @@ package com.sk89q.worldedit.bukkit; -import com.boydti.fawe.Fawe; -import com.boydti.fawe.bukkit.FaweBukkit; import com.boydti.fawe.config.Caption; import com.boydti.fawe.config.Settings; import com.boydti.fawe.object.RunnableVal; @@ -241,15 +239,15 @@ public class BukkitPlayer extends AbstractPlayerActor { * Permissions are used to managing WorldEdit region restrictions * - The `/wea` command will give/remove the required bypass permission */ - if(VaultResolver.perms != null){ - if(value){ - if(!VaultResolver.perms.playerAdd(player, permission)){ + if (VaultResolver.perms != null) { + if (value) { + if (!VaultResolver.perms.playerAdd(player, permission)) { player.addAttachment(plugin).setPermission(permission, value); } - }else if(!VaultResolver.perms.playerRemove(player, permission)){ + } else if (!VaultResolver.perms.playerRemove(player, permission)) { player.addAttachment(plugin).setPermission(permission, value); } - }else{ + } else { player.addAttachment(plugin).setPermission(permission, value); } } diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java index 5fbe2af8f..cbd3d0c83 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java @@ -133,12 +133,12 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter ChunkDeleter.runFromFile(delChunks, true); } - if(this.getDataFolder().getParentFile().listFiles(file -> { - if(file.getName().equals("DummyFawe.jar")){ + if (this.getDataFolder().getParentFile().listFiles(file -> { + if (file.getName().equals("DummyFawe.jar")) { return true; } return false; - }).length > 0){ + }).length > 0) { getLogger().warning("DummyFawe detected! This is no longer necessary. Please remove immediately and restart your server!"); } } From a49ce02bd0dd98d1a1f4ad94f93ea1b9728047b4 Mon Sep 17 00:00:00 2001 From: IronApollo Date: Tue, 15 Sep 2020 19:18:16 -0400 Subject: [PATCH 5/8] Delete DummyFawe on startup --- .../main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java index cbd3d0c83..c7e0788d7 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java @@ -135,11 +135,12 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter if (this.getDataFolder().getParentFile().listFiles(file -> { if (file.getName().equals("DummyFawe.jar")) { + file.delete(); return true; } return false; }).length > 0) { - getLogger().warning("DummyFawe detected! This is no longer necessary. Please remove immediately and restart your server!"); + getLogger().warning("DummyFawe detected and automatically deleted! This file is no longer necessary."); } } From 241e85e491c53802d62bda815bd128ee3d7f1d88 Mon Sep 17 00:00:00 2001 From: N0tMyFaultOG Date: Wed, 16 Sep 2020 16:01:49 +0200 Subject: [PATCH 6/8] Strip 1.14 --- README.md | 2 +- worldedit-bukkit/build.gradle.kts | 1 - .../adapter/mc1_14/BlockMaterial_1_14.java | 157 - .../adapter/mc1_14/BukkitAdapter_1_14.java | 299 - .../adapter/mc1_14/BukkitGetBlocks_1_14.java | 832 - .../mc1_14/FAWEWorldNativeAccess_1_14.java | 176 - .../adapter/mc1_14/MapChunkUtil_1_14.java | 28 - .../mc1_14/nbt/LazyCompoundTag_1_14.java | 152 - .../worldedit/bukkit/WorldEditPlugin.java | 2 - .../adapter/impl/FAWE_Spigot_v1_14_R4.java | 457 - .../src/main/resources/worldedit-adapters.jar | Bin 448631 -> 338869 bytes .../sk89q/worldedit/internal/Constants.java | 4 +- .../world/registry/BundledBlockData.java | 2 - .../world/registry/BundledItemData.java | 2 - .../worldedit/world/registry/blocks.114.json | 16902 ---------------- .../worldedit/world/registry/items.114.json | 6141 ------ 16 files changed, 3 insertions(+), 25154 deletions(-) delete mode 100644 worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/BlockMaterial_1_14.java delete mode 100644 worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/BukkitAdapter_1_14.java delete mode 100644 worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/BukkitGetBlocks_1_14.java delete mode 100644 worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/FAWEWorldNativeAccess_1_14.java delete mode 100644 worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/MapChunkUtil_1_14.java delete mode 100644 worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/nbt/LazyCompoundTag_1_14.java delete mode 100644 worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/FAWE_Spigot_v1_14_R4.java delete mode 100644 worldedit-core/src/main/resources/com/sk89q/worldedit/world/registry/blocks.114.json delete mode 100644 worldedit-core/src/main/resources/com/sk89q/worldedit/world/registry/items.114.json diff --git a/README.md b/README.md index 6bb89b65d..72bee092b 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ FAWE is a fork of WorldEdit that has huge speed and memory improvements and cons * [JavaDocs](https://ci.athion.net/job/FastAsyncWorldEdit-1.16/javadoc/) ## Downloads -### 1.14+ +### 1.15+ * [Download](https://intellectualsites.github.io/download/fawe.html) * [Jenkins](https://ci.athion.net/job/FastAsyncWorldEdit-1.16/) diff --git a/worldedit-bukkit/build.gradle.kts b/worldedit-bukkit/build.gradle.kts index 00f7ee7ee..c6e75daf4 100644 --- a/worldedit-bukkit/build.gradle.kts +++ b/worldedit-bukkit/build.gradle.kts @@ -39,7 +39,6 @@ dependencies { "api"(project(":worldedit-core")) "api"(project(":worldedit-libs:bukkit")) "compile"(":worldedit-adapters:") - "compile"("org.spigotmcv1_14_r1:spigotmcv1_14_r1:1_14_r1") "compile"("org.spigotmcv1_15_r1:spigotmcv1_15_r1:1_15_r1") "compile"("org.spigotmcv1_16_r1:spigotmcv1_16_r1:1_16_r1") "implementation"("it.unimi.dsi:fastutil:${Versions.FAST_UTIL}") diff --git a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/BlockMaterial_1_14.java b/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/BlockMaterial_1_14.java deleted file mode 100644 index 7fe85d11c..000000000 --- a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/BlockMaterial_1_14.java +++ /dev/null @@ -1,157 +0,0 @@ -package com.boydti.fawe.bukkit.adapter.mc1_14; - -import com.sk89q.util.ReflectionUtil; -import com.sk89q.worldedit.world.registry.BlockMaterial; -import net.minecraft.server.v1_14_R1.Block; -import net.minecraft.server.v1_14_R1.BlockAccessAir; -import net.minecraft.server.v1_14_R1.BlockPosition; -import net.minecraft.server.v1_14_R1.EnumPistonReaction; -import net.minecraft.server.v1_14_R1.IBlockData; -import net.minecraft.server.v1_14_R1.ITileEntity; -import net.minecraft.server.v1_14_R1.Material; -import org.bukkit.craftbukkit.v1_14_R1.block.data.CraftBlockData; - -public class BlockMaterial_1_14 implements BlockMaterial { - private final Block block; - private final IBlockData defaultState; - private final Material material; - private final boolean isTranslucent; - private final CraftBlockData craftBlockData; - private final org.bukkit.Material craftMaterial; - private final int opacity; - - public BlockMaterial_1_14(Block block) { - this(block, block.getBlockData()); - } - - public BlockMaterial_1_14(Block block, IBlockData defaultState) { - this.block = block; - this.defaultState = defaultState; - this.material = defaultState.getMaterial(); - this.craftBlockData = CraftBlockData.fromData(defaultState); - this.craftMaterial = craftBlockData.getMaterial(); - this.isTranslucent = !(boolean) ReflectionUtil.getField(Block.class, block, "v"); - opacity = defaultState.b(BlockAccessAir.INSTANCE, BlockPosition.ZERO); - } - - public Block getBlock() { - return block; - } - - public IBlockData getState() { - return defaultState; - } - - public CraftBlockData getCraftBlockData() { - return craftBlockData; - } - - public Material getMaterial() { - return material; - } - - @Override - public boolean isAir() { - return defaultState.isAir(); - } - - @Override - public boolean isFullCube() { - return craftMaterial.isOccluding(); - } - - @Override - public boolean isOpaque() { - return material.f(); - } - - @Override - public boolean isPowerSource() { - return defaultState.isPowerSource(); - } - - @Override - public boolean isLiquid() { - return material.isLiquid(); - } - - @Override - public boolean isSolid() { - return material.isBuildable(); - } - - @Override - public float getHardness() { - return block.strength; - } - - @Override - public float getResistance() { - return block.getDurability(); - } - - @Override - public float getSlipperiness() { - return block.m(); - } - - @Override - public int getLightValue() { - return defaultState.h(); - } - - @Override - public int getLightOpacity() { - return opacity; - } - - @Override - public boolean isFragileWhenPushed() { - return material.getPushReaction() == EnumPistonReaction.DESTROY; - } - - @Override - public boolean isUnpushable() { - return material.getPushReaction() == EnumPistonReaction.BLOCK; - } - - @Override - public boolean isTicksRandomly() { - return block.isTicking(defaultState); - } - - @Override - public boolean isMovementBlocker() { - return material.isSolid(); - } - - @Override - public boolean isBurnable() { - return material.isBurnable(); - } - - @Override - public boolean isToolRequired() { - return !material.isAlwaysDestroyable(); - } - - @Override - public boolean isReplacedDuringPlacement() { - return material.isReplaceable(); - } - - @Override - public boolean isTranslucent() { - return isTranslucent; - } - - @Override - public boolean hasContainer() { - return block instanceof ITileEntity; - } - - @Override - public int getMapColor() { - return material.i().rgb; - } -} diff --git a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/BukkitAdapter_1_14.java b/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/BukkitAdapter_1_14.java deleted file mode 100644 index b2ed81ce9..000000000 --- a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/BukkitAdapter_1_14.java +++ /dev/null @@ -1,299 +0,0 @@ -package com.boydti.fawe.bukkit.adapter.mc1_14; - -import com.boydti.fawe.Fawe; -import com.boydti.fawe.FaweCache; -import com.boydti.fawe.bukkit.adapter.NMSAdapter; -import com.boydti.fawe.bukkit.adapter.DelegateLock; -import com.boydti.fawe.config.Settings; -import com.boydti.fawe.object.collection.BitArray; -import com.boydti.fawe.util.MathMan; -import com.boydti.fawe.util.ReflectionUtils; -import com.boydti.fawe.util.TaskManager; -import com.sk89q.worldedit.math.BlockVector3; -import com.sk89q.worldedit.world.block.BlockState; -import com.sk89q.worldedit.world.block.BlockTypesCache; -import io.papermc.lib.PaperLib; -import java.lang.invoke.MethodHandle; -import java.lang.invoke.MethodHandles; -import java.lang.reflect.Method; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.locks.ReentrantLock; -import net.jpountz.util.UnsafeUtils; -import net.minecraft.server.v1_14_R1.Block; -import net.minecraft.server.v1_14_R1.Chunk; -import net.minecraft.server.v1_14_R1.ChunkCoordIntPair; -import net.minecraft.server.v1_14_R1.ChunkSection; -import net.minecraft.server.v1_14_R1.DataBits; -import net.minecraft.server.v1_14_R1.DataPalette; -import net.minecraft.server.v1_14_R1.DataPaletteBlock; -import net.minecraft.server.v1_14_R1.DataPaletteLinear; -import net.minecraft.server.v1_14_R1.GameProfileSerializer; -import net.minecraft.server.v1_14_R1.IBlockData; -import net.minecraft.server.v1_14_R1.PacketPlayOutLightUpdate; -import net.minecraft.server.v1_14_R1.PlayerChunk; -import net.minecraft.server.v1_14_R1.PlayerChunkMap; -import net.minecraft.server.v1_14_R1.World; -import org.bukkit.craftbukkit.v1_14_R1.CraftChunk; -import org.bukkit.craftbukkit.v1_14_R1.CraftWorld; -import sun.misc.Unsafe; - -import java.lang.reflect.Field; -import java.util.Arrays; -import java.util.concurrent.CompletableFuture; -import java.util.function.Function; - -public final class BukkitAdapter_1_14 extends NMSAdapter { - /* - NMS fields - */ - public final static Field fieldBits; - public final static Field fieldPalette; - public final static Field fieldSize; - - public final static Field fieldFluidCount; - public final static Field fieldTickingBlockCount; - public final static Field fieldNonEmptyBlockCount; - - private final static Field fieldDirtyCount; - private final static Field fieldDirtyBits; - - private final static MethodHandle methodGetVisibleChunk; - - private static final int CHUNKSECTION_BASE; - private static final int CHUNKSECTION_SHIFT; - - private static final Field fieldLock; - - static { - try { - fieldSize = DataPaletteBlock.class.getDeclaredField("i"); - fieldSize.setAccessible(true); - fieldBits = DataPaletteBlock.class.getDeclaredField("a"); - fieldBits.setAccessible(true); - fieldPalette = DataPaletteBlock.class.getDeclaredField("h"); - fieldPalette.setAccessible(true); - - fieldFluidCount = ChunkSection.class.getDeclaredField("e"); - fieldFluidCount.setAccessible(true); - fieldTickingBlockCount = ChunkSection.class.getDeclaredField("tickingBlockCount"); - fieldTickingBlockCount.setAccessible(true); - fieldNonEmptyBlockCount = ChunkSection.class.getDeclaredField("nonEmptyBlockCount"); - fieldNonEmptyBlockCount.setAccessible(true); - - fieldDirtyCount = PlayerChunk.class.getDeclaredField("dirtyCount"); - fieldDirtyCount.setAccessible(true); - fieldDirtyBits = PlayerChunk.class.getDeclaredField("r"); - fieldDirtyBits.setAccessible(true); - - Method declaredGetVisibleChunk = PlayerChunkMap.class.getDeclaredMethod("getVisibleChunk", long.class); - declaredGetVisibleChunk.setAccessible(true); - methodGetVisibleChunk = MethodHandles.lookup().unreflect(declaredGetVisibleChunk); - - { - Field tmp = DataPaletteBlock.class.getDeclaredField("j"); - ReflectionUtils.setAccessibleNonFinal(tmp); - fieldLock = tmp; - fieldLock.setAccessible(true); - } - - Unsafe unsafe = UnsafeUtils.getUNSAFE(); - CHUNKSECTION_BASE = unsafe.arrayBaseOffset(ChunkSection[].class); - int scale = unsafe.arrayIndexScale(ChunkSection[].class); - if ((scale & (scale - 1)) != 0) - throw new Error("data type scale not a power of two"); - CHUNKSECTION_SHIFT = 31 - Integer.numberOfLeadingZeros(scale); - } catch (RuntimeException e) { - throw e; - } catch (Throwable rethrow) { - rethrow.printStackTrace(); - throw new RuntimeException(rethrow); - } - } - - protected static boolean setSectionAtomic(ChunkSection[] sections, ChunkSection expected, ChunkSection value, int layer) { - long offset = ((long) layer << CHUNKSECTION_SHIFT) + CHUNKSECTION_BASE; - if (layer >= 0 && layer < sections.length) { - return UnsafeUtils.getUNSAFE().compareAndSwapObject(sections, offset, expected, value); - } - return false; - } - - protected static DelegateLock applyLock(ChunkSection section) { - try { - synchronized (section) { - DataPaletteBlock blocks = section.getBlocks(); - ReentrantLock currentLock = (ReentrantLock) fieldLock.get(blocks); - if (currentLock instanceof DelegateLock) { - return (DelegateLock) currentLock; - } - DelegateLock newLock = new DelegateLock(currentLock); - fieldLock.set(blocks, newLock); - return newLock; - } - } catch (IllegalAccessException e) { - e.printStackTrace(); - throw new RuntimeException(e); - } - } - - public static Chunk ensureLoaded(World nmsWorld, int X, int Z) { - Chunk nmsChunk = nmsWorld.getChunkIfLoaded(X, Z); - if (nmsChunk != null) { - return nmsChunk; - } - if (Fawe.isMainThread()) { - return nmsWorld.getChunkAt(X, Z); - } - if (PaperLib.isPaper()) { - CraftWorld craftWorld = nmsWorld.getWorld(); - CompletableFuture future = craftWorld.getChunkAtAsync(X, Z, true); - try { - CraftChunk chunk = (CraftChunk) future.get(); - return chunk.getHandle(); - } catch (Throwable e) { - e.printStackTrace(); - } - } - // TODO optimize - return TaskManager.IMP.sync(() -> nmsWorld.getChunkAt(X, Z)); - } - - public static PlayerChunk getPlayerChunk(net.minecraft.server.v1_14_R1.WorldServer nmsWorld, final int cx, final int cz) { - PlayerChunkMap chunkMap = nmsWorld.getChunkProvider().playerChunkMap; - try { - return (PlayerChunk)methodGetVisibleChunk.invoke(chunkMap, ChunkCoordIntPair.pair(cx, cz)); - } catch (Throwable thr) { - throw new RuntimeException(thr); - } - } - - public static void sendChunk(net.minecraft.server.v1_14_R1.WorldServer nmsWorld, int X, int Z, int mask, boolean lighting) { - PlayerChunk playerChunk = getPlayerChunk(nmsWorld, X, Z); - if (playerChunk == null) { - return; - } - if (playerChunk.hasBeenLoaded()) { - TaskManager.IMP.sync(() -> { - try { - int dirtyBits = fieldDirtyBits.getInt(playerChunk); - if (dirtyBits == 0) { - nmsWorld.getChunkProvider().playerChunkMap.a(playerChunk); - } - if (mask == 0) { - dirtyBits = 65535; - } else { - dirtyBits |= mask; - } - - fieldDirtyBits.set(playerChunk, dirtyBits); - fieldDirtyCount.set(playerChunk, 64); - - if (lighting) { - ChunkCoordIntPair chunkCoordIntPair = new ChunkCoordIntPair(X, Z); - PacketPlayOutLightUpdate packet = new PacketPlayOutLightUpdate(chunkCoordIntPair, nmsWorld.getChunkProvider().getLightEngine()); - playerChunk.players.a(chunkCoordIntPair, false).forEach(p -> { - p.playerConnection.sendPacket(packet); - }); - } - - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - return null; - }); - return; - } - return; - } - - /* - NMS conversion - */ - public static ChunkSection newChunkSection(final int layer, final char[] blocks, boolean fastmode) { - return newChunkSection(layer, null, blocks, fastmode); - } - - public static ChunkSection newChunkSection(final int layer, final Function get, char[] set, boolean fastmode) { - if (set == null) { - return newChunkSection(layer); - } - final int[] blockToPalette = FaweCache.IMP.BLOCK_TO_PALETTE.get(); - final int[] paletteToBlock = FaweCache.IMP.PALETTE_TO_BLOCK.get(); - final long[] blockStates = FaweCache.IMP.BLOCK_STATES.get(); - final int[] blocksCopy = FaweCache.IMP.SECTION_BLOCKS.get(); - try { - int[] num_palette_buffer = new int[1]; - Map ticking_blocks = new HashMap<>(); - int air; - if (get == null) { - air = createPalette(blockToPalette, paletteToBlock, blocksCopy, num_palette_buffer, set, ticking_blocks, fastmode); - } else { - air = createPalette(layer, blockToPalette, paletteToBlock, blocksCopy, num_palette_buffer, get, set, ticking_blocks, fastmode); - } - int num_palette = num_palette_buffer[0]; - // BlockStates - int bitsPerEntry = MathMan.log2nlz(num_palette - 1); - if (Settings.IMP.PROTOCOL_SUPPORT_FIX || num_palette != 1) { - bitsPerEntry = Math.max(bitsPerEntry, 4); // Protocol support breaks <4 bits per entry - } else { - bitsPerEntry = Math.max(bitsPerEntry, 1); // For some reason minecraft needs 4096 bits to store 0 entries - } - - final int blockBitArrayEnd = (bitsPerEntry * 4096) >> 6; - if (num_palette == 1) { - for (int i = 0; i < blockBitArrayEnd; i++) blockStates[i] = 0; - } else { - final BitArray bitArray = new BitArray(bitsPerEntry, 4096, blockStates); - bitArray.fromRaw(blocksCopy); - } - - ChunkSection section = newChunkSection(layer); - // set palette & data bits - final DataPaletteBlock dataPaletteBlocks = section.getBlocks(); - // private DataPalette h; - // protected DataBits a; - final long[] bits = Arrays.copyOfRange(blockStates, 0, blockBitArrayEnd); - final DataBits nmsBits = new DataBits(bitsPerEntry, 4096, bits); - final DataPalette palette; -// palette = new DataPaletteHash<>(Block.REGISTRY_ID, bitsPerEntry, dataPaletteBlocks, GameProfileSerializer::d, GameProfileSerializer::a); - palette = new DataPaletteLinear<>(Block.REGISTRY_ID, bitsPerEntry, dataPaletteBlocks, GameProfileSerializer::d); - - // set palette - for (int i = 0; i < num_palette; i++) { - final int ordinal = paletteToBlock[i]; - blockToPalette[ordinal] = Integer.MAX_VALUE; - final BlockState state = BlockTypesCache.states[ordinal]; - final IBlockData ibd = ((BlockMaterial_1_14) state.getMaterial()).getState(); - palette.a(ibd); - } - try { - fieldBits.set(dataPaletteBlocks, nmsBits); - fieldPalette.set(dataPaletteBlocks, palette); - fieldSize.set(dataPaletteBlocks, bitsPerEntry); - setCount(ticking_blocks.size(), 4096 - air, section); - ticking_blocks.forEach((pos, ordinal) -> { - section.setType(pos.getBlockX(), pos.getBlockY(), pos.getBlockZ(), - Block.getByCombinedId(ordinal)); - }); - } catch (final IllegalAccessException | NoSuchFieldException e) { - throw new RuntimeException(e); - } - - return section; - } catch (final Throwable e){ - Arrays.fill(blockToPalette, Integer.MAX_VALUE); - throw e; - } - } - - private static ChunkSection newChunkSection(int layer) { - return new ChunkSection(layer << 4); - } - - public static void setCount(final int tickingBlockCount, final int nonEmptyBlockCount, final ChunkSection section) throws NoSuchFieldException, IllegalAccessException { - fieldFluidCount.setShort(section, (short) 0); // TODO FIXME - fieldTickingBlockCount.setShort(section, (short) tickingBlockCount); - fieldNonEmptyBlockCount.setShort(section, (short) nonEmptyBlockCount); - } -} diff --git a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/BukkitGetBlocks_1_14.java b/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/BukkitGetBlocks_1_14.java deleted file mode 100644 index d0feaf48f..000000000 --- a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/BukkitGetBlocks_1_14.java +++ /dev/null @@ -1,832 +0,0 @@ -package com.boydti.fawe.bukkit.adapter.mc1_14; - -import com.boydti.fawe.Fawe; -import com.boydti.fawe.FaweCache; -import com.boydti.fawe.beta.IChunkSet; -import com.boydti.fawe.beta.implementation.blocks.CharBlocks; -import com.boydti.fawe.beta.implementation.blocks.CharGetBlocks; -import com.boydti.fawe.beta.implementation.lighting.HeightMapType; -import com.boydti.fawe.beta.implementation.queue.QueueHandler; -import com.boydti.fawe.bukkit.adapter.DelegateLock; -import com.boydti.fawe.bukkit.adapter.mc1_14.nbt.LazyCompoundTag_1_14; -import com.boydti.fawe.config.Settings; -import com.boydti.fawe.object.collection.AdaptedMap; -import com.boydti.fawe.object.collection.BitArray; -import com.google.common.base.Suppliers; -import com.google.common.collect.Iterables; -import com.sk89q.jnbt.CompoundTag; -import com.sk89q.jnbt.ListTag; -import com.sk89q.jnbt.LongTag; -import com.sk89q.jnbt.StringTag; -import com.sk89q.jnbt.Tag; -import com.sk89q.worldedit.bukkit.BukkitAdapter; -import com.sk89q.worldedit.bukkit.WorldEditPlugin; -import com.sk89q.worldedit.bukkit.adapter.BukkitImplAdapter; -import com.sk89q.worldedit.bukkit.adapter.impl.FAWE_Spigot_v1_14_R4; -import com.sk89q.worldedit.internal.Constants; -import com.sk89q.worldedit.math.BlockVector3; -import com.sk89q.worldedit.world.biome.BiomeType; -import com.sk89q.worldedit.world.block.BlockTypes; -import net.minecraft.server.v1_14_R1.BiomeBase; -import net.minecraft.server.v1_14_R1.BlockPosition; -import net.minecraft.server.v1_14_R1.Chunk; -import net.minecraft.server.v1_14_R1.ChunkSection; -import net.minecraft.server.v1_14_R1.DataBits; -import net.minecraft.server.v1_14_R1.DataPalette; -import net.minecraft.server.v1_14_R1.DataPaletteBlock; -import net.minecraft.server.v1_14_R1.DataPaletteHash; -import net.minecraft.server.v1_14_R1.DataPaletteLinear; -import net.minecraft.server.v1_14_R1.Entity; -import net.minecraft.server.v1_14_R1.EntityTypes; -import net.minecraft.server.v1_14_R1.EnumSkyBlock; -import net.minecraft.server.v1_14_R1.HeightMap; -import net.minecraft.server.v1_14_R1.IBlockData; -import net.minecraft.server.v1_14_R1.LightEngine; -import net.minecraft.server.v1_14_R1.NBTTagCompound; -import net.minecraft.server.v1_14_R1.NBTTagInt; -import net.minecraft.server.v1_14_R1.NibbleArray; -import net.minecraft.server.v1_14_R1.SectionPosition; -import net.minecraft.server.v1_14_R1.TileEntity; -import net.minecraft.server.v1_14_R1.WorldServer; -import org.bukkit.World; -import org.bukkit.block.Biome; -import org.bukkit.craftbukkit.v1_14_R1.CraftWorld; -import org.bukkit.craftbukkit.v1_14_R1.block.CraftBlock; -import org.bukkit.event.entity.CreatureSpawnEvent; -import org.jetbrains.annotations.NotNull; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.AbstractSet; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; -import java.util.concurrent.Callable; -import java.util.concurrent.Future; -import java.util.function.Function; -import java.util.stream.Collectors; -import java.util.stream.StreamSupport; - -import static org.slf4j.LoggerFactory.getLogger; - -@SuppressWarnings("checkstyle:TypeName") -public class BukkitGetBlocks_1_14 extends CharGetBlocks { - - private static final Logger log = LoggerFactory.getLogger(BukkitGetBlocks_1_14.class); - - public ChunkSection[] sections; - public Chunk nmsChunk; - public WorldServer world; - public int chunkX; - public int chunkZ; - public NibbleArray[] blockLight = new NibbleArray[16]; - public NibbleArray[] skyLight = new NibbleArray[16]; - - public BukkitGetBlocks_1_14(World world, int chunkX, int chunkZ) { - this(((CraftWorld) world).getHandle(), chunkX, chunkZ); - } - - public BukkitGetBlocks_1_14(WorldServer world, int chunkX, int chunkZ) { - this.world = world; - this.chunkX = chunkX; - this.chunkZ = chunkZ; - } - - public int getX() { - return chunkX; - } - - public int getZ() { - return chunkZ; - } - - @Override - public BiomeType getBiomeType(int x, int y, int z) { - BiomeBase base = getChunk().getBiomeIndex()[(z << 4) + x]; - return BukkitAdapter.adapt(CraftBlock.biomeBaseToBiome(base)); - } - - @Override - public CompoundTag getTile(int x, int y, int z) { - TileEntity tileEntity = getChunk().getTileEntity( - new BlockPosition((x & 15) + (chunkX << 4), y, (z & 15) + (chunkZ << 4))); - if (tileEntity == null) { - return null; - } - return new LazyCompoundTag_1_14( - Suppliers.memoize(() -> tileEntity.save(new NBTTagCompound()))); - } - - private static final Function posNms2We = - v -> BlockVector3.at(v.getX(), v.getY(), v.getZ()); - - private static final Function nmsTile2We = - tileEntity -> new LazyCompoundTag_1_14( - Suppliers.memoize(() -> tileEntity.save(new NBTTagCompound()))); - - @Override - public Map getTiles() { - Map nmsTiles = getChunk().getTileEntities(); - if (nmsTiles.isEmpty()) { - return Collections.emptyMap(); - } - return AdaptedMap.immutable(nmsTiles, posNms2We, nmsTile2We); - } - - @Override - public int getSkyLight(int x, int y, int z) { - int layer = y >> 4; - if (skyLight[layer] == null) { - //getDataLayerData - SectionPosition sectionPosition = SectionPosition.a(nmsChunk.getPos(), layer); - NibbleArray nibbleArray = - world.getChunkProvider().getLightEngine().a(EnumSkyBlock.SKY).a(sectionPosition); - // If the server hasn't generated the section's NibbleArray yet, it will be null - if (nibbleArray == null) { - byte[] a = new byte[2048]; - // Safe enough to assume if it's not created, it's under the sky. Unlikely to be created before lighting is fixed anyway. - Arrays.fill(a, (byte) 15); - nibbleArray = new NibbleArray(a); - ((LightEngine) world.getChunkProvider().getLightEngine()) - .a(EnumSkyBlock.SKY, sectionPosition, nibbleArray); - } - skyLight[layer] = nibbleArray; - } - long l = BlockPosition.a(x, y, z); - return skyLight[layer] - .a(SectionPosition.b(BlockPosition.b(l)), SectionPosition.b(BlockPosition.c(l)), - SectionPosition.b(BlockPosition.d(l))); - } - - @Override - public int getEmmittedLight(int x, int y, int z) { - int layer = y >> 4; - if (blockLight[layer] == null) { - //getDataLayerData - SectionPosition sectionPosition = SectionPosition.a(nmsChunk.getPos(), layer); - NibbleArray nibbleArray = - world.getChunkProvider().getLightEngine().a(EnumSkyBlock.BLOCK).a(sectionPosition); - // If the server hasn't generated the section's NibbleArray yet, it will be null - if (nibbleArray == null) { - byte[] a = new byte[2048]; - // Safe enough to assume if it's not created, it's under the sky. Unlikely to be created before lighting is fixed anyway. - Arrays.fill(a, (byte) 15); - nibbleArray = new NibbleArray(a); - ((LightEngine) world.getChunkProvider().getLightEngine()) - .a(EnumSkyBlock.BLOCK, sectionPosition, nibbleArray); - } - blockLight[layer] = nibbleArray; - } - long l = BlockPosition.a(x, y, z); - return blockLight[layer] - .a(SectionPosition.b(BlockPosition.b(l)), SectionPosition.b(BlockPosition.c(l)), - SectionPosition.b(BlockPosition.d(l))); - } - - @Override public int[] getHeightMap(HeightMapType type) { - long[] longArray = getChunk().heightMap.get(HeightMap.Type.valueOf(type.name())).a(); - BitArray bitArray = new BitArray(9, 256, longArray); - return bitArray.toRaw(new int[256]); - } - - @Override - public CompoundTag getEntity(UUID uuid) { - Entity entity = world.getEntity(uuid); - if (entity != null) { - org.bukkit.entity.Entity bukkitEnt = entity.getBukkitEntity(); - return BukkitAdapter.adapt(bukkitEnt).getState().getNbtData(); - } - for (List entry : getChunk().getEntitySlices()) { - if (entry != null) { - for (Entity ent : entry) { - if (uuid.equals(ent.getUniqueID())) { - org.bukkit.entity.Entity bukkitEnt = ent.getBukkitEntity(); - return BukkitAdapter.adapt(bukkitEnt).getState().getNbtData(); - } - } - } - } - return null; - } - - @Override - public Set getEntities() { - List[] slices = getChunk().getEntitySlices(); - int size = 0; - for (List slice : slices) { - if (slice != null) { - size += slice.size(); - } - } - if (slices.length == 0) { - return Collections.emptySet(); - } - int finalSize = size; - return new AbstractSet() { - @Override - public int size() { - return finalSize; - } - - @Override - public boolean isEmpty() { - return false; - } - - @Override - public boolean contains(Object get) { - if (!(get instanceof CompoundTag)) { - return false; - } - CompoundTag getTag = (CompoundTag) get; - Map value = getTag.getValue(); - CompoundTag getParts = (CompoundTag) value.get("UUID"); - UUID getUUID = new UUID(getParts.getLong("Most"), getParts.getLong("Least")); - for (List slice : slices) { - if (slice != null) { - for (Entity entity : slice) { - UUID uuid = entity.getUniqueID(); - if (uuid.equals(getUUID)) { - return true; - } - } - } - } - return false; - } - - @NotNull - @Override - public Iterator iterator() { - Iterable result = - StreamSupport.stream(Iterables.concat(slices).spliterator(), false) - .map(input -> { - BukkitImplAdapter adapter = - WorldEditPlugin.getInstance().getBukkitImplAdapter(); - NBTTagCompound tag = new NBTTagCompound(); - return (CompoundTag) adapter.toNative(input.save(tag)); - }).collect(Collectors.toList()); - return result.iterator(); - } - }; - } - - private void updateGet(BukkitGetBlocks_1_14 get, Chunk nmsChunk, ChunkSection[] sections, - ChunkSection section, char[] arr, int layer) { - synchronized (get) { - if (this.nmsChunk != nmsChunk) { - this.nmsChunk = nmsChunk; - this.sections = sections.clone(); - this.reset(); - } - if (this.sections == null) { - this.sections = sections.clone(); - } - if (this.sections[layer] != section) { - this.sections[layer] = section; - } - this.blocks[layer] = arr; - } - } - - private void removeEntity(Entity entity) { - entity.die(); - } - - public Chunk ensureLoaded(net.minecraft.server.v1_14_R1.World nmsWorld, int chunkX, - int chunkZ) { - return BukkitAdapter_1_14.ensureLoaded(nmsWorld, chunkX, chunkZ); - } - - @Override - public > T call(IChunkSet set, Runnable finalizer) { - try { - WorldServer nmsWorld = world; - Chunk nmsChunk = ensureLoaded(nmsWorld, chunkX, chunkZ); - boolean fastmode = set.isFastMode() && Settings.IMP.QUEUE.NO_TICK_FASTMODE; - - // Remove existing tiles - { - Map tiles = new HashMap<>(nmsChunk.getTileEntities()); - if (!tiles.isEmpty()) { - for (Map.Entry entry : tiles.entrySet()) { - final BlockPosition pos = entry.getKey(); - final int lx = pos.getX() & 15; - final int ly = pos.getY(); - final int lz = pos.getZ() & 15; - final int layer = ly >> 4; - if (!set.hasSection(layer)) { - continue; - } - if (set.getBlock(lx, ly, lz).getOrdinal() != 0) { - TileEntity tile = entry.getValue(); - nmsChunk.removeTileEntity(tile.getPosition()); - } - } - } - } - - int bitMask = 0; - synchronized (nmsChunk) { - ChunkSection[] sections = nmsChunk.getSections(); - - for (int layer = 0; layer < 16; layer++) { - if (!set.hasSection(layer)) { - continue; - } - - bitMask |= 1 << layer; - - char[] setArr = set.load(layer); - ChunkSection newSection; - ChunkSection existingSection = sections[layer]; - if (existingSection == null) { - newSection = BukkitAdapter_1_14.newChunkSection(layer, setArr, fastmode); - if (BukkitAdapter_1_14 - .setSectionAtomic(sections, null, newSection, layer)) { - updateGet(this, nmsChunk, sections, newSection, setArr, layer); - continue; - } else { - existingSection = sections[layer]; - if (existingSection == null) { - log.error( - "Skipping invalid null section. chunk:" + chunkX + "," + chunkZ - + " layer: " + layer); - continue; - } - } - } - - //ensure that the server doesn't try to tick the chunksection while we're editing it. - BukkitAdapter_1_14.fieldTickingBlockCount.set(existingSection, (short) 0); - - DelegateLock lock = BukkitAdapter_1_14.applyLock(existingSection); - synchronized (this) { - synchronized (lock) { - lock.untilFree(); - if (this.nmsChunk != nmsChunk) { - this.nmsChunk = nmsChunk; - this.sections = null; - this.reset(); - } else if (existingSection != getSections()[layer]) { - this.sections[layer] = existingSection; - this.reset(); - } else if (!Arrays.equals(update(layer, new char[4096]), load(layer))) { - this.reset(layer); - } else if (lock.isModified()) { - this.reset(layer); - } - newSection = BukkitAdapter_1_14 - .newChunkSection(layer, this::load, setArr, fastmode); - if (!BukkitAdapter_1_14 - .setSectionAtomic(sections, existingSection, newSection, layer)) { - log.error("Failed to set chunk section:" + chunkX + "," + chunkZ - + " layer: " + layer); - continue; - } else { - updateGet(this, nmsChunk, sections, newSection, setArr, layer); - } - } - } - } - - // Biomes - BiomeType[] biomes = set.getBiomes(); - if (biomes != null) { - // set biomes - final BiomeBase[] currentBiomes = nmsChunk.getBiomeIndex(); - for (int i = 0; i < biomes.length; i++) { - final BiomeType biome = biomes[i]; - if (biome != null) { - final Biome craftBiome = BukkitAdapter.adapt(biome); - currentBiomes[i] = CraftBlock.biomeToBiomeBase(craftBiome); - } - } - } - - Map heightMaps = set.getHeightMaps(); - for (Map.Entry entry : heightMaps.entrySet()) { - BitArray bitArray = new BitArray(9, 256); - bitArray.fromRaw(entry.getValue()); - nmsChunk.heightMap.get(HeightMap.Type.valueOf(entry.getKey().name())).a(bitArray.getData()); - } - - boolean lightUpdate = false; - - // Lighting - char[][] light = set.getLight(); - if (light != null) { - lightUpdate = true; - try { - fillLightNibble(light, EnumSkyBlock.BLOCK); - } catch (Throwable e) { - e.printStackTrace(); - } - } - - char[][] skyLight = set.getSkyLight(); - if (skyLight != null) { - lightUpdate = true; - try { - fillLightNibble(skyLight, EnumSkyBlock.SKY); - } catch (Throwable e) { - e.printStackTrace(); - } - } - - Runnable[] syncTasks = null; - - int bx = chunkX << 4; - int bz = chunkZ << 4; - - Set entityRemoves = set.getEntityRemoves(); - if (entityRemoves != null && !entityRemoves.isEmpty()) { - if (syncTasks == null) { - syncTasks = new Runnable[3]; - } - - syncTasks[2] = () -> { - final List[] entities = nmsChunk.getEntitySlices(); - - for (final Collection ents : entities) { - if (!ents.isEmpty()) { - final Iterator iter = ents.iterator(); - while (iter.hasNext()) { - final Entity entity = iter.next(); - if (entityRemoves.contains(entity.getUniqueID())) { - iter.remove(); - removeEntity(entity); - } - } - } - } - }; - } - - Set entities = set.getEntities(); - if (entities != null && !entities.isEmpty()) { - if (syncTasks == null) { - syncTasks = new Runnable[2]; - } - - syncTasks[1] = () -> { - for (final CompoundTag nativeTag : entities) { - final Map entityTagMap = nativeTag.getValue(); - final StringTag idTag = (StringTag) entityTagMap.get("Id"); - final ListTag posTag = (ListTag) entityTagMap.get("Pos"); - final ListTag rotTag = (ListTag) entityTagMap.get("Rotation"); - if (idTag == null || posTag == null || rotTag == null) { - getLogger(BukkitGetBlocks_1_14.class) - .debug("Unknown entity tag: " + nativeTag); - continue; - } - final double x = posTag.getDouble(0); - final double y = posTag.getDouble(1); - final double z = posTag.getDouble(2); - final float yaw = rotTag.getFloat(0); - final float pitch = rotTag.getFloat(1); - final String id = idTag.getValue(); - - EntityTypes type = EntityTypes.a(id).orElse(null); - if (type != null) { - Entity entity = type.a(nmsWorld); - if (entity != null) { - BukkitImplAdapter adapter = WorldEditPlugin.getInstance().getBukkitImplAdapter(); - final NBTTagCompound tag = (NBTTagCompound) adapter.fromNative(nativeTag); - for (final String name : Constants.NO_COPY_ENTITY_NBT_FIELDS) { - tag.remove(name); - } - entity.f(tag); - entity.setLocation(x, y, z, yaw, pitch); - nmsWorld - .addEntity(entity, CreatureSpawnEvent.SpawnReason.CUSTOM); - } - } - } - }; - - } - - // set tiles - Map tiles = set.getTiles(); - if (tiles != null && !tiles.isEmpty()) { - if (syncTasks == null) { - syncTasks = new Runnable[1]; - } - - syncTasks[0] = () -> { - for (final Map.Entry entry : tiles.entrySet()) { - final CompoundTag nativeTag = entry.getValue(); - final BlockVector3 blockHash = entry.getKey(); - final int x = blockHash.getX() + bx; - final int y = blockHash.getY(); - final int z = blockHash.getZ() + bz; - final BlockPosition pos = new BlockPosition(x, y, z); - - synchronized (nmsWorld) { - TileEntity tileEntity = nmsWorld.getTileEntity(pos); - if (tileEntity == null || tileEntity.isRemoved()) { - nmsWorld.removeTileEntity(pos); - tileEntity = nmsWorld.getTileEntity(pos); - } - if (tileEntity != null) { - BukkitImplAdapter adapter = - WorldEditPlugin.getInstance().getBukkitImplAdapter(); - final NBTTagCompound tag = - (NBTTagCompound) adapter.fromNative(nativeTag); - tag.set("x", new NBTTagInt(x)); - tag.set("y", new NBTTagInt(y)); - tag.set("z", new NBTTagInt(z)); - tileEntity.load(tag); - } - } - } - }; - } - - Runnable callback; - if (bitMask == 0 && biomes == null && !lightUpdate) { - callback = null; - } else { - int finalMask = bitMask != 0 ? bitMask : lightUpdate ? set.getBitMask() : 0; - boolean finalLightUpdate = lightUpdate; - callback = () -> { - // Set Modified - nmsChunk.d(true); // Set Modified - nmsChunk.mustNotSave = false; - nmsChunk.markDirty(); - // send to player - BukkitAdapter_1_14 - .sendChunk(nmsWorld, chunkX, chunkZ, finalMask, finalLightUpdate); - if (finalizer != null) { - finalizer.run(); - } - }; - } - if (syncTasks != null) { - QueueHandler queueHandler = Fawe.get().getQueueHandler(); - Runnable[] finalSyncTasks = syncTasks; - - // Chain the sync tasks and the callback - Callable chain = () -> { - try { - // Run the sync tasks - for (Runnable task : finalSyncTasks) { - if (task != null) { - task.run(); - } - } - if (callback == null) { - if (finalizer != null) { - finalizer.run(); - } - return null; - } else { - return queueHandler.async(callback, null); - } - } catch (Throwable e) { - e.printStackTrace(); - throw e; - } - }; - return (T) (Future) queueHandler.sync(chain); - } else { - if (callback == null) { - if (finalizer != null) { - finalizer.run(); - } - } else { - callback.run(); - } - } - } - return null; - } catch (Throwable e) { - e.printStackTrace(); - return null; - } - } - - @Override - public synchronized char[] update(int layer, char[] data) { - ChunkSection section = getSections()[layer]; - // Section is null, return empty array - if (section == null) { - data = new char[4096]; - Arrays.fill(data, (char) 1); - return data; - } - if (data == null || data == FaweCache.IMP.EMPTY_CHAR_4096) { - data = new char[4096]; - Arrays.fill(data, (char) 1); - } - DelegateLock lock = BukkitAdapter_1_14.applyLock(section); - synchronized (lock) { - lock.untilFree(); - lock.setModified(false); - // Efficiently convert ChunkSection to raw data - try { - FAWE_Spigot_v1_14_R4 adapter = - ((FAWE_Spigot_v1_14_R4) WorldEditPlugin.getInstance().getBukkitImplAdapter()); - - final DataPaletteBlock blocks = section.getBlocks(); - final DataBits bits = (DataBits) BukkitAdapter_1_14.fieldBits.get(blocks); - final DataPalette palette = - (DataPalette) BukkitAdapter_1_14.fieldPalette.get(blocks); - - final int bitsPerEntry = bits.c(); - final long[] blockStates = bits.a(); - - new BitArray(bitsPerEntry, 4096, blockStates).toRaw(data); - - int num_palette; - if (palette instanceof DataPaletteLinear) { - num_palette = ((DataPaletteLinear) palette).b(); - } else if (palette instanceof DataPaletteHash) { - num_palette = ((DataPaletteHash) palette).b(); - } else { - num_palette = 0; - int[] paletteToBlockInts = FaweCache.IMP.PALETTE_TO_BLOCK.get(); - char[] paletteToBlockChars = FaweCache.IMP.PALETTE_TO_BLOCK_CHAR.get(); - try { - for (int i = 0; i < 4096; i++) { - char paletteVal = data[i]; - char ordinal = paletteToBlockChars[paletteVal]; - if (ordinal == Character.MAX_VALUE) { - paletteToBlockInts[num_palette++] = paletteVal; - IBlockData ibd = palette.a(data[i]); - if (ibd == null) { - ordinal = BlockTypes.AIR.getDefaultState().getOrdinalChar(); - } else { - ordinal = adapter.adaptToChar(ibd); - } - // Don't read "empty". - if (ordinal == 0) { - ordinal = 1; - } - paletteToBlockChars[paletteVal] = ordinal; - } - data[i] = ordinal; - } - } finally { - for (int i = 0; i < num_palette; i++) { - int paletteVal = paletteToBlockInts[i]; - paletteToBlockChars[paletteVal] = Character.MAX_VALUE; - } - } - return data; - } - - char[] paletteToOrdinal = FaweCache.IMP.PALETTE_TO_BLOCK_CHAR.get(); - try { - if (num_palette != 1) { - for (int i = 0; i < num_palette; i++) { - char ordinal = ordinal(palette.a(i), adapter); - paletteToOrdinal[i] = ordinal; - } - for (int i = 0; i < 4096; i++) { - char paletteVal = data[i]; - char val = paletteToOrdinal[paletteVal]; - if (val == Character.MAX_VALUE) { - val = ordinal(palette.a(i), adapter); - paletteToOrdinal[i] = val; - } - // Don't read "empty". - if (val == 0) { - val = 1; - } - data[i] = val; - } - } else { - char ordinal = ordinal(palette.a(0), adapter); - // Don't read "empty". - if (ordinal == 0) { - ordinal = 1; - } - Arrays.fill(data, ordinal); - } - } finally { - for (int i = 0; i < num_palette; i++) { - paletteToOrdinal[i] = Character.MAX_VALUE; - } - } - return data; - } catch (IllegalAccessException e) { - e.printStackTrace(); - throw new RuntimeException(e); - } - } - } - - private final char ordinal(IBlockData ibd, FAWE_Spigot_v1_14_R4 adapter) { - if (ibd == null) { - return BlockTypes.AIR.getDefaultState().getOrdinalChar(); - } else { - return adapter.adaptToChar(ibd); - } - } - - public ChunkSection[] getSections() { - ChunkSection[] tmp = sections; - if (tmp == null) { - synchronized (this) { - tmp = sections; - if (tmp == null) { - Chunk chunk = getChunk(); - sections = tmp = chunk.getSections().clone(); - } - } - } - return tmp; - } - - public Chunk getChunk() { - Chunk tmp = nmsChunk; - if (tmp == null) { - synchronized (this) { - tmp = nmsChunk; - if (tmp == null) { - nmsChunk = tmp = ensureLoaded(this.world, chunkX, chunkZ); - } - } - } - return tmp; - } - - private void fillLightNibble(char[][] light, EnumSkyBlock skyBlock) { - for (int Y = 0; Y < 16; Y++) { - if (light[Y] == null) { - continue; - } - SectionPosition sectionPosition = SectionPosition.a(nmsChunk.getPos(), Y); - NibbleArray nibble = - world.getChunkProvider().getLightEngine().a(skyBlock).a(sectionPosition); - if (nibble == null) { - byte[] a = new byte[2048]; - Arrays.fill(a, skyBlock == EnumSkyBlock.SKY ? (byte) 15 : (byte) 0); - nibble = new NibbleArray(a); - ((LightEngine) world.getChunkProvider().getLightEngine()) - .a(skyBlock, sectionPosition, nibble); - } - synchronized (nibble) { - for (int i = 0; i < 4096; i++) { - if (light[Y][i] < 16) { - nibble.a(i, light[Y][i]); - } - } - } - } - } - - @Override - public boolean hasSection(int layer) { - return getSections()[layer] != null; - } - - @Override - public boolean trim(boolean aggressive) { - if (aggressive) { - sections = null; - nmsChunk = null; - return super.trim(true); - } else { - for (int i = 0; i < 16; i++) { - if (!hasSection(i) || super.sections[i] == CharBlocks.EMPTY) { - continue; - } - ChunkSection existing = getSections()[i]; - try { - final DataPaletteBlock blocksExisting = existing.getBlocks(); - - final DataPalette palette = - (DataPalette) BukkitAdapter_1_14.fieldPalette - .get(blocksExisting); - int paletteSize; - - if (palette instanceof DataPaletteLinear) { - paletteSize = ((DataPaletteLinear) palette).b(); - } else if (palette instanceof DataPaletteHash) { - paletteSize = ((DataPaletteHash) palette).b(); - } else { - super.trim(false, i); - continue; - } - if (paletteSize == 1) { - //If the cached palette size is 1 then no blocks can have been changed i.e. do not need to update these chunks. - continue; - } - super.trim(false, i); - } catch (IllegalAccessException ignored) { - super.trim(false, i); - } - } - return true; - } - } -} diff --git a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/FAWEWorldNativeAccess_1_14.java b/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/FAWEWorldNativeAccess_1_14.java deleted file mode 100644 index 9bcfc1ddd..000000000 --- a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/FAWEWorldNativeAccess_1_14.java +++ /dev/null @@ -1,176 +0,0 @@ -package com.boydti.fawe.bukkit.adapter.mc1_14; - -import com.sk89q.jnbt.CompoundTag; -import com.sk89q.worldedit.WorldEditException; -import com.sk89q.worldedit.bukkit.BukkitAdapter; -import com.sk89q.worldedit.bukkit.adapter.impl.FAWE_Spigot_v1_14_R4; -import com.sk89q.worldedit.internal.block.BlockStateIdAccess; -import com.sk89q.worldedit.internal.wna.WorldNativeAccess; -import com.sk89q.worldedit.math.BlockVector3; -import com.sk89q.worldedit.util.SideEffect; -import com.sk89q.worldedit.util.SideEffectSet; -import com.sk89q.worldedit.world.block.BlockStateHolder; -import net.minecraft.server.v1_14_R1.Block; -import net.minecraft.server.v1_14_R1.BlockPosition; -import net.minecraft.server.v1_14_R1.Chunk; -import net.minecraft.server.v1_14_R1.ChunkProviderServer; -import net.minecraft.server.v1_14_R1.EnumDirection; -import net.minecraft.server.v1_14_R1.IBlockData; -import net.minecraft.server.v1_14_R1.NBTBase; -import net.minecraft.server.v1_14_R1.NBTTagCompound; -import net.minecraft.server.v1_14_R1.PlayerChunk; -import net.minecraft.server.v1_14_R1.TileEntity; -import net.minecraft.server.v1_14_R1.World; -import org.bukkit.craftbukkit.v1_14_R1.CraftWorld; -import org.bukkit.craftbukkit.v1_14_R1.block.data.CraftBlockData; -import org.bukkit.event.block.BlockPhysicsEvent; - -import javax.annotation.Nullable; -import java.lang.ref.WeakReference; -import java.util.Objects; - -public class FAWEWorldNativeAccess_1_14 implements WorldNativeAccess { - private static final int UPDATE = 1, NOTIFY = 2; - - private final FAWE_Spigot_v1_14_R4 adapter; - private final WeakReference world; - private SideEffectSet sideEffectSet; - - public FAWEWorldNativeAccess_1_14(FAWE_Spigot_v1_14_R4 adapter, WeakReference world) { - this.adapter = adapter; - this.world = world; - } - - private World getWorld() { - return Objects.requireNonNull(world.get(), "The reference to the world was lost"); - } - - @Override - public void setCurrentSideEffectSet(SideEffectSet sideEffectSet) { - this.sideEffectSet = sideEffectSet; - } - - @Override - public Chunk getChunk(int x, int z) { - return getWorld().getChunkAt(x, z); - } - - @Override - public IBlockData toNative(com.sk89q.worldedit.world.block.BlockState state) { - int stateId = BlockStateIdAccess.getBlockStateId(state); - return BlockStateIdAccess.isValidInternalId(stateId) - ? Block.getByCombinedId(stateId) - : ((CraftBlockData) BukkitAdapter.adapt(state)).getState(); - } - - @Override - public IBlockData getBlockState(Chunk chunk, BlockPosition position) { - return chunk.getType(position); - } - - @Nullable - @Override - public IBlockData setBlockState(Chunk chunk, BlockPosition position, IBlockData state) { - return chunk.setType(position, state, false); - } - - @Override - public IBlockData getValidBlockForPosition(IBlockData block, BlockPosition position) { - return Block.b(block, getWorld(), position); - } - - @Override - public BlockPosition getPosition(int x, int y, int z) { - return new BlockPosition(x, y, z); - } - - @Override - public void updateLightingForBlock(BlockPosition position) { - getWorld().getChunkProvider().getLightEngine().a(position); - } - - @Override - public boolean updateTileEntity(BlockPosition position, CompoundTag tag) { - // We will assume that the tile entity was created for us, - // though we do not do this on the other versions - TileEntity tileEntity = getWorld().getTileEntity(position); - if (tileEntity == null) { - return false; - } - NBTBase nativeTag = adapter.fromNative(tag); - tileEntity.load((NBTTagCompound) nativeTag); - return true; - } - - @Override - public void notifyBlockUpdate(BlockPosition position, IBlockData oldState, IBlockData newState) { - getWorld().notify(position, oldState, newState, UPDATE | NOTIFY); - } - - @Override - public boolean isChunkTicking(Chunk chunk) { - return chunk.getState().isAtLeast(PlayerChunk.State.TICKING); - } - - @Override - public void markBlockChanged(BlockPosition position) { - ((ChunkProviderServer) getWorld().getChunkProvider()).flagDirty(position); - } - - private static final EnumDirection[] NEIGHBOUR_ORDER = { - EnumDirection.WEST, EnumDirection.EAST, - EnumDirection.DOWN, EnumDirection.UP, - EnumDirection.NORTH, EnumDirection.SOUTH - }; - - @Override - public void notifyNeighbors(BlockPosition pos, IBlockData oldState, IBlockData newState) { - World world = getWorld(); - if (sideEffectSet.shouldApply(SideEffect.EVENTS)) { - world.update(pos, oldState.getBlock()); - } else { - // When we don't want events, manually run the physics without them. - // Un-nest neighbour updating - for (EnumDirection direction : NEIGHBOUR_ORDER) { - BlockPosition shifted = pos.shift(direction); - world.getType(shifted).doPhysics(world, shifted, oldState.getBlock(), pos, false); - } - } - if (newState.isComplexRedstone()) { - world.updateAdjacentComparators(pos, newState.getBlock()); - } - } - - @Override - public void updateNeighbors(BlockPosition pos, IBlockData oldState, IBlockData newState, int recursionLimit) { - World world = getWorld(); - // a == updateNeighbors - // b == updateDiagonalNeighbors - oldState.b(world, pos, NOTIFY); - if (sideEffectSet.shouldApply(SideEffect.EVENTS)) { - CraftWorld craftWorld = world.getWorld(); - if (craftWorld != null) { - BlockPhysicsEvent event = new BlockPhysicsEvent( - craftWorld.getBlockAt(pos.getX(), pos.getY(), pos.getZ()), - CraftBlockData.fromData(newState)); - world.getServer().getPluginManager().callEvent(event); - if (event.isCancelled()) { - return; - } - } - } - newState.a(world, pos, NOTIFY); - newState.b(world, pos, NOTIFY); - } - - @Override - public void onBlockStateChange(BlockPosition pos, IBlockData oldState, IBlockData newState) { - getWorld().a(pos, oldState, newState); - } - - - @Override - public > boolean setBlock(BlockVector3 position, B block, SideEffectSet sideEffects) throws WorldEditException { - return this.adapter.setBlock(this.getChunk(position.getBlockX() >> 4, position.getBlockZ() >> 4).bukkitChunk, position.getBlockX(), position.getBlockY(), position.getBlockZ(), block, sideEffectSet.shouldApply(SideEffect.LIGHTING)); - } -} \ No newline at end of file diff --git a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/MapChunkUtil_1_14.java b/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/MapChunkUtil_1_14.java deleted file mode 100644 index bfdde3f3a..000000000 --- a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/MapChunkUtil_1_14.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.boydti.fawe.bukkit.adapter.mc1_14; - -import com.boydti.fawe.bukkit.adapter.MapChunkUtil; -import net.minecraft.server.v1_14_R1.PacketPlayOutMapChunk; - -public class MapChunkUtil_1_14 extends MapChunkUtil { - public MapChunkUtil_1_14() throws NoSuchFieldException { - fieldX = PacketPlayOutMapChunk.class.getDeclaredField("a"); - fieldZ = PacketPlayOutMapChunk.class.getDeclaredField("b"); - fieldBitMask = PacketPlayOutMapChunk.class.getDeclaredField("c"); - fieldHeightMap = PacketPlayOutMapChunk.class.getDeclaredField("d"); - fieldChunkData = PacketPlayOutMapChunk.class.getDeclaredField("e"); - fieldBlockEntities = PacketPlayOutMapChunk.class.getDeclaredField("f"); - fieldFull = PacketPlayOutMapChunk.class.getDeclaredField("g"); - fieldX.setAccessible(true); - fieldZ.setAccessible(true); - fieldBitMask.setAccessible(true); - fieldHeightMap.setAccessible(true); - fieldChunkData.setAccessible(true); - fieldBlockEntities.setAccessible(true); - fieldFull.setAccessible(true); - } - - @Override - public PacketPlayOutMapChunk createPacket() { - return new PacketPlayOutMapChunk(); - } -} diff --git a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/nbt/LazyCompoundTag_1_14.java b/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/nbt/LazyCompoundTag_1_14.java deleted file mode 100644 index ef410dcad..000000000 --- a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_14/nbt/LazyCompoundTag_1_14.java +++ /dev/null @@ -1,152 +0,0 @@ -package com.boydti.fawe.bukkit.adapter.mc1_14.nbt; - -import com.sk89q.jnbt.CompoundTag; -import com.sk89q.jnbt.ListTag; -import com.sk89q.jnbt.StringTag; -import com.sk89q.jnbt.Tag; -import com.sk89q.worldedit.bukkit.WorldEditPlugin; -import net.minecraft.server.v1_14_R1.NBTBase; -import net.minecraft.server.v1_14_R1.NBTNumber; -import net.minecraft.server.v1_14_R1.NBTTagCompound; -import net.minecraft.server.v1_14_R1.NBTTagList; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.function.Supplier; - -public class LazyCompoundTag_1_14 extends CompoundTag { - private final Supplier nmsTag; - - public LazyCompoundTag_1_14(Supplier tag) { - super(null); - this.nmsTag = tag; - } - - public LazyCompoundTag_1_14(NBTTagCompound tag) { - this(() -> tag); - } - - public NBTTagCompound get() { - return nmsTag.get(); - } - - @Override - public Map getValue() { - Map value = super.getValue(); - if (value == null) { - Tag tag = WorldEditPlugin.getInstance().getBukkitImplAdapter().toNative(nmsTag.get()); - setValue(((CompoundTag) tag).getValue()); - } - return super.getValue(); - } - - public boolean containsKey(String key) { - return nmsTag.get().hasKey(key); - } - - public byte[] getByteArray(String key) { - return nmsTag.get().getByteArray(key); - } - - public byte getByte(String key) { - return nmsTag.get().getByte(key); - } - - public double getDouble(String key) { - return nmsTag.get().getDouble(key); - } - - public double asDouble(String key) { - NBTBase value = nmsTag.get().get(key); - if (value instanceof NBTNumber) { - return ((NBTNumber) value).asDouble(); - } - return 0; - } - - public float getFloat(String key) { - return nmsTag.get().getFloat(key); - } - - public int[] getIntArray(String key) { - return nmsTag.get().getIntArray(key); - } - - public int getInt(String key) { - return nmsTag.get().getInt(key); - } - - public int asInt(String key) { - NBTBase value = nmsTag.get().get(key); - if (value instanceof NBTNumber) { - return ((NBTNumber) value).asInt(); - } - return 0; - } - - public List getList(String key) { - NBTBase tag = nmsTag.get().get(key); - if (tag instanceof NBTTagList) { - ArrayList list = new ArrayList<>(); - NBTTagList nbtList = (NBTTagList) tag; - for (NBTBase elem : nbtList) { - if (elem instanceof NBTTagCompound) { - list.add(new LazyCompoundTag_1_14((NBTTagCompound) elem)); - } else { - list.add(WorldEditPlugin.getInstance().getBukkitImplAdapter().toNative(elem)); - } - } - return list; - } - return Collections.emptyList(); - } - - public ListTag getListTag(String key) { - NBTBase tag = nmsTag.get().get(key); - if (tag instanceof NBTTagList) { - return (ListTag) WorldEditPlugin.getInstance().getBukkitImplAdapter().toNative(tag); - } - return new ListTag(StringTag.class, Collections.emptyList()); - } - - @SuppressWarnings("unchecked") - public List getList(String key, Class listType) { - ListTag listTag = getListTag(key); - if (listTag.getType().equals(listType)) { - return (List) listTag.getValue(); - } else { - return Collections.emptyList(); - } - } - - public long[] getLongArray(String key) { - return nmsTag.get().getLongArray(key); - } - - public long getLong(String key) { - return nmsTag.get().getLong(key); - } - - public long asLong(String key) { - NBTBase value = nmsTag.get().get(key); - if (value instanceof NBTNumber) { - return ((NBTNumber) value).asLong(); - } - return 0; - } - - public short getShort(String key) { - return nmsTag.get().getShort(key); - } - - public String getString(String key) { - return nmsTag.get().getString(key); - } - - @Override - public String toString() { - return nmsTag.get().toString(); - } -} diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java index c7e0788d7..5e2323513 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java @@ -31,7 +31,6 @@ import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.bukkit.adapter.AdapterLoadException; import com.sk89q.worldedit.bukkit.adapter.BukkitImplAdapter; import com.sk89q.worldedit.bukkit.adapter.BukkitImplLoader; -import com.sk89q.worldedit.bukkit.adapter.impl.FAWE_Spigot_v1_14_R4; import com.sk89q.worldedit.bukkit.adapter.impl.FAWE_Spigot_v1_15_R2; import com.sk89q.worldedit.bukkit.adapter.impl.FAWE_Spigot_v1_16_R1; import com.sk89q.worldedit.bukkit.adapter.impl.FAWE_Spigot_v1_16_R2; @@ -296,7 +295,6 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter // Attempt to load a Bukkit adapter BukkitImplLoader adapterLoader = new BukkitImplLoader(); try { - adapterLoader.addClass(FAWE_Spigot_v1_14_R4.class); adapterLoader.addClass(FAWE_Spigot_v1_15_R2.class); adapterLoader.addClass(FAWE_Spigot_v1_16_R1.class); adapterLoader.addClass(FAWE_Spigot_v1_16_R2.class); diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/FAWE_Spigot_v1_14_R4.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/FAWE_Spigot_v1_14_R4.java deleted file mode 100644 index 9d6d85f49..000000000 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/FAWE_Spigot_v1_14_R4.java +++ /dev/null @@ -1,457 +0,0 @@ -/* - * WorldEdit, a Minecraft world manipulation toolkit - * Copyright (C) sk89q - * Copyright (C) WorldEdit team and contributors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.sk89q.worldedit.bukkit.adapter.impl; - -import com.boydti.fawe.Fawe; -import com.boydti.fawe.FaweCache; -import com.boydti.fawe.beta.IChunkGet; -import com.boydti.fawe.beta.implementation.packet.ChunkPacket; -import com.boydti.fawe.beta.implementation.queue.SingleThreadQueueExtent; -import com.boydti.fawe.bukkit.adapter.mc1_14.*; -import com.boydti.fawe.bukkit.adapter.mc1_14.nbt.LazyCompoundTag_1_14; -import com.google.common.io.Files; -import com.sk89q.jnbt.CompoundTag; -import com.sk89q.jnbt.Tag; -import com.sk89q.worldedit.EditSession; -import com.sk89q.worldedit.MaxChangedBlocksException; -import com.sk89q.worldedit.blocks.BaseItemStack; -import com.sk89q.worldedit.blocks.TileEntityBlock; -import com.sk89q.worldedit.bukkit.BukkitAdapter; -import com.sk89q.worldedit.bukkit.adapter.BukkitImplAdapter; -import com.sk89q.worldedit.bukkit.adapter.CachedBukkitAdapter; -import com.sk89q.worldedit.bukkit.adapter.IDelegateBukkitImplAdapter; -import com.sk89q.worldedit.entity.BaseEntity; -import com.sk89q.worldedit.entity.LazyBaseEntity; -import com.sk89q.worldedit.internal.wna.WorldNativeAccess; -import com.sk89q.worldedit.math.BlockVector3; -import com.sk89q.worldedit.regions.Region; -import com.sk89q.worldedit.registry.state.Property; -import com.sk89q.worldedit.util.SideEffect; -import com.sk89q.worldedit.util.SideEffectSet; -import com.sk89q.worldedit.world.biome.BiomeType; -import com.sk89q.worldedit.world.block.BlockState; -import com.sk89q.worldedit.world.block.*; -import com.sk89q.worldedit.world.entity.EntityType; -import com.sk89q.worldedit.world.registry.BlockMaterial; -import net.minecraft.server.v1_14_R1.*; -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.World.Environment; -import org.bukkit.block.data.BlockData; -import org.bukkit.craftbukkit.v1_14_R1.CraftChunk; -import org.bukkit.craftbukkit.v1_14_R1.CraftWorld; -import org.bukkit.craftbukkit.v1_14_R1.block.CraftBlock; -import org.bukkit.craftbukkit.v1_14_R1.block.data.CraftBlockData; -import org.bukkit.craftbukkit.v1_14_R1.entity.CraftEntity; -import org.bukkit.craftbukkit.v1_14_R1.entity.CraftPlayer; -import org.bukkit.craftbukkit.v1_14_R1.inventory.CraftItemStack; -import org.bukkit.entity.Player; -import org.bukkit.generator.ChunkGenerator; - -import javax.annotation.Nullable; -import java.io.File; -import java.io.IOException; -import java.lang.ref.WeakReference; -import java.util.Map; -import java.util.OptionalInt; -import java.util.Set; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.Future; -import java.util.function.Supplier; -import java.util.stream.Stream; - -import static com.google.common.base.Preconditions.checkNotNull; -import com.sk89q.jnbt.StringTag; - -public final class FAWE_Spigot_v1_14_R4 extends CachedBukkitAdapter implements IDelegateBukkitImplAdapter { - private final Spigot_v1_14_R4 parent; - private char[] ibdToStateOrdinal; - - // ------------------------------------------------------------------------ - // Code that may break between versions of Minecraft - // ------------------------------------------------------------------------ - - public FAWE_Spigot_v1_14_R4() throws NoSuchFieldException, NoSuchMethodException { - this.parent = new Spigot_v1_14_R4(); - } - - @Override - public BukkitImplAdapter getParent() { - return parent; - } - - private synchronized boolean init() { - if (ibdToStateOrdinal != null && ibdToStateOrdinal[1] != 0) return false; - ibdToStateOrdinal = new char[Block.REGISTRY_ID.a()]; // size - for (int i = 0; i < ibdToStateOrdinal.length; i++) { - BlockState state = BlockTypesCache.states[i]; - BlockMaterial_1_14 material = (BlockMaterial_1_14) state.getMaterial(); - int id = Block.REGISTRY_ID.getId(material.getState()); - ibdToStateOrdinal[id] = state.getOrdinalChar(); - } - return true; - } - - @Override - public BlockMaterial getMaterial(BlockType blockType) { - Block block = getBlock(blockType); - return new BlockMaterial_1_14(block); - } - - @Override - public BlockMaterial getMaterial(BlockState state) { - IBlockData bs = ((CraftBlockData) Bukkit.createBlockData(state.getAsString())).getState(); - return new BlockMaterial_1_14(bs.getBlock(), bs); - } - - public Block getBlock(BlockType blockType) { - return IRegistry.BLOCK.get(new MinecraftKey(blockType.getNamespace(), blockType.getResource())); - } - - @SuppressWarnings("deprecation") - @Override - public BaseBlock getBlock(Location location) { - checkNotNull(location); - - CraftWorld craftWorld = ((CraftWorld) location.getWorld()); - int x = location.getBlockX(); - int y = location.getBlockY(); - int z = location.getBlockZ(); - - org.bukkit.block.Block bukkitBlock = location.getBlock(); - BlockState state = BukkitAdapter.adapt(bukkitBlock.getBlockData()); - if (state.getBlockType().getMaterial().hasContainer()) { - //Read the NBT data - TileEntity te = craftWorld.getHandle().getTileEntity(new BlockPosition(x, y, z)); - if (te != null) { - NBTTagCompound tag = new NBTTagCompound(); - te.save(tag); // readTileEntityIntoTag - return state.toBaseBlock((CompoundTag) toNative(tag)); - } - } - - return state.toBaseBlock(); - } - - @Override - public Set getSupportedSideEffects() { - return SideEffectSet.defaults().getSideEffectsToApply(); - } - - public boolean setBlock(org.bukkit.Chunk chunk, int x, int y, int z, BlockStateHolder state, boolean update) { - CraftChunk craftChunk = (CraftChunk) chunk; - Chunk nmsChunk = craftChunk.getHandle(); - World nmsWorld = nmsChunk.getWorld(); - - IBlockData blockData = ((BlockMaterial_1_14) state.getMaterial()).getState(); - ChunkSection[] sections = nmsChunk.getSections(); - int y4 = y >> 4; - ChunkSection section = sections[y4]; - - IBlockData existing; - if (section == null) { - existing = ((BlockMaterial_1_14) BlockTypes.AIR.getDefaultState().getMaterial()).getState(); - } else { - existing = section.getType(x & 15, y & 15, z & 15); - } - - BlockPosition pos = new BlockPosition(x, y, z); - - nmsChunk.removeTileEntity(pos); // Force delete the old tile entity - - CompoundTag nativeTag = state instanceof BaseBlock ? ((BaseBlock)state).getNbtData() : null; - if (nativeTag != null || existing instanceof TileEntityBlock) { - nmsWorld.setTypeAndData(pos, blockData, 0); - // remove tile - if (nativeTag != null) { - // We will assume that the tile entity was created for us, - // though we do not do this on the Forge version - TileEntity tileEntity = nmsWorld.getTileEntity(pos); - if (tileEntity != null) { - NBTTagCompound tag = (NBTTagCompound) fromNative(nativeTag); - tag.set("x", new NBTTagInt(x)); - tag.set("y", new NBTTagInt(y)); - tag.set("z", new NBTTagInt(z)); - tileEntity.load(tag); // readTagIntoTileEntity - } - } - } else { - if (existing == blockData) return true; - if (section == null) { - if (blockData.isAir()) return true; - sections[y4] = section = new ChunkSection(y4 << 4); - } - nmsChunk.setType(pos = new BlockPosition(x, y, z), blockData, false); - } - if (update) { - nmsWorld.getMinecraftWorld().notify(pos, existing, blockData, 0); - } - return true; - } - - @Override - public WorldNativeAccess createWorldNativeAccess(org.bukkit.World world) { - return new FAWEWorldNativeAccess_1_14(this, - new WeakReference<>(((CraftWorld) world).getHandle())); - } - - @Nullable - private static String getEntityId(Entity entity) { - MinecraftKey minecraftkey = EntityTypes.getName(entity.getEntityType()); - return minecraftkey == null ? null : minecraftkey.toString(); - } - - private static void readEntityIntoTag(Entity entity, NBTTagCompound tag) { - entity.save(tag); - } - - @Override - public BaseEntity getEntity(org.bukkit.entity.Entity entity) { - checkNotNull(entity); - - CraftEntity craftEntity = ((CraftEntity) entity); - Entity mcEntity = craftEntity.getHandle(); - - String id = getEntityId(mcEntity); - - if (id != null) { - EntityType type = com.sk89q.worldedit.world.entity.EntityTypes.get(id); - Supplier saveTag = () -> { - NBTTagCompound tag = new NBTTagCompound(); - readEntityIntoTag(mcEntity, tag); - - //add Id for AbstractChangeSet to work - CompoundTag natve = (CompoundTag) toNative(tag); - natve.getValue().put("Id", new StringTag(id)); - return natve; - }; - return new LazyBaseEntity(type, saveTag); - } else { - return null; - } - } - - @Override - public OptionalInt getInternalBlockStateId(BlockState state) { - BlockMaterial_1_14 material = (BlockMaterial_1_14) state.getMaterial(); - IBlockData mcState = material.getCraftBlockData().getState(); - return OptionalInt.of(Block.REGISTRY_ID.getId(mcState)); - } - - @Override - public BlockState adapt(BlockData blockData) { - CraftBlockData cbd = ((CraftBlockData) blockData); - IBlockData ibd = cbd.getState(); - return adapt(ibd); - } - - public BlockState adapt(IBlockData ibd) { - return BlockTypesCache.states[adaptToChar(ibd)]; - } - - /** - * @deprecated - * Method unused. Use #adaptToChar(IBlockData). - */ - @Deprecated - public int adaptToInt(IBlockData ibd) { - synchronized (this) { - try { - int id = Block.REGISTRY_ID.getId(ibd); - return ibdToStateOrdinal[id]; - } catch (NullPointerException e) { - init(); - return adaptToInt(ibd); - } - } - } - - public char adaptToChar(IBlockData ibd) { - synchronized (this) { - try { - int id = Block.REGISTRY_ID.getId(ibd); - return ibdToStateOrdinal[id]; - } catch (NullPointerException e) { - init(); - return adaptToChar(ibd); - } catch(ArrayIndexOutOfBoundsException e1){ - Fawe.debug("Attempted to convert " + ibd.getBlock() + " with ID " + Block.REGISTRY_ID.getId(ibd) + " to char. ibdToStateOrdinal length: " + ibdToStateOrdinal.length + ". Defaulting to air!"); - return 0; - } - } - } - - @Override - public > BlockData adapt(B state) { - BlockMaterial_1_14 material = (BlockMaterial_1_14) state.getMaterial(); - return material.getCraftBlockData(); - } - - private MapChunkUtil_1_14 mapUtil = new MapChunkUtil_1_14(); - - @Override - public void sendFakeChunk(org.bukkit.World world, Player player, ChunkPacket packet) { - WorldServer nmsWorld = ((CraftWorld) world).getHandle(); - PlayerChunk map = BukkitAdapter_1_14.getPlayerChunk(nmsWorld, packet.getChunkX(), packet.getChunkZ()); - if (map != null && map.hasBeenLoaded()) { - boolean flag = false; - PlayerChunk.d players = map.players; - Stream stream = players.a(new ChunkCoordIntPair(packet.getChunkX(), packet.getChunkZ()), flag); - - EntityPlayer checkPlayer = player == null ? null : ((CraftPlayer) player).getHandle(); - stream.filter(entityPlayer -> checkPlayer == null || entityPlayer == checkPlayer) - .forEach(entityPlayer -> { - synchronized (packet) { - PacketPlayOutMapChunk nmsPacket = (PacketPlayOutMapChunk) packet.getNativePacket(); - if (nmsPacket == null) { - nmsPacket = mapUtil.create( this, packet); - packet.setNativePacket(nmsPacket); - } - try { - FaweCache.IMP.CHUNK_FLAG.get().set(true); - entityPlayer.playerConnection.sendPacket(nmsPacket); - } finally { - FaweCache.IMP.CHUNK_FLAG.get().set(false); - } - } - }); - } - } - - @Override - public Map> getProperties(BlockType blockType) { - return getParent().getProperties(blockType); - } - - @Override - public org.bukkit.inventory.ItemStack adapt(BaseItemStack item) { - ItemStack stack = new ItemStack(IRegistry.ITEM.get(MinecraftKey.a(item.getType().getId())), item.getAmount()); - stack.setTag(((NBTTagCompound) fromNative(item.getNbtData()))); - return CraftItemStack.asCraftMirror(stack); - } - - @Override - public BaseItemStack adapt(org.bukkit.inventory.ItemStack itemStack) { - final ItemStack nmsStack = CraftItemStack.asNMSCopy(itemStack); - final BaseItemStack weStack = new BaseItemStack(BukkitAdapter.asItemType(itemStack.getType()), itemStack.getAmount()); - weStack.setNbtData(((CompoundTag) toNative(nmsStack.getTag()))); - return weStack; - } - - @Override - public Tag toNative(NBTBase foreign) { - return parent.toNative(foreign); - } - - @Override - public NBTBase fromNative(Tag foreign) { - if (foreign instanceof LazyCompoundTag_1_14) { - return ((LazyCompoundTag_1_14) foreign).get(); - } - return parent.fromNative(foreign); - } - - @Override - public boolean regenerate(org.bukkit.World world, Region region, EditSession editSession) { - WorldServer originalWorld = ((CraftWorld) world).getHandle(); - ChunkProviderServer provider = originalWorld.getChunkProvider(); - if (!(provider instanceof ChunkProviderServer)) { - return false; - } - - File saveFolder = Files.createTempDir(); - // register this just in case something goes wrong - // normally it should be deleted at the end of this method - saveFolder.deleteOnExit(); - try { - MinecraftServer server = originalWorld.getServer().getServer(); - WorldNBTStorage originalDataManager = originalWorld.getDataManager(); - WorldNBTStorage saveHandler = new WorldNBTStorage(saveFolder, originalDataManager.getDirectory().getName(), server, originalDataManager.getDataFixer()); - WorldData newWorldData = new WorldData(originalWorld.worldData.a((NBTTagCompound) null), - server.dataConverterManager, getDataVersion(), null); - - ChunkGenerator gen = world.getGenerator(); - Environment env = world.getEnvironment(); - try (WorldServer freshWorld = new WorldServer(server, - server.executorService, saveHandler, - newWorldData, - originalWorld.worldProvider.getDimensionManager(), - originalWorld.getMethodProfiler(), - server.worldLoadListenerFactory.create(11), - env, - gen){ - @Override - public boolean addEntityChunk(net.minecraft.server.v1_14_R1.Entity entity) { - //Fixes #320; Prevent adding entities so we aren't attempting to spawn them asynchronously - return false; - } - }) { - - // Pre-gen all the chunks - // We need to also pull one more chunk in every direction - Fawe.get().getQueueHandler().startSet(true); - try { - SingleThreadQueueExtent extent = new SingleThreadQueueExtent(); - extent.init(null, (x, z) -> new BukkitGetBlocks_1_14(freshWorld, x, z) { - @Override - public Chunk ensureLoaded(World nmsWorld, int chunkX, int chunkZ) { - Chunk cached = nmsWorld.getChunkIfLoaded(chunkX, chunkZ); - if (cached != null) return cached; - Future future = Fawe.get().getQueueHandler().sync((Supplier) () -> freshWorld.getChunkAt( - chunkX, chunkZ)); - while (!future.isDone()) { - // this feels so dirty - freshWorld.getChunkProvider().runTasks(); - } - try { - return future.get(); - } catch (InterruptedException | ExecutionException e) { - throw new RuntimeException(e); - } - } - }, null); - for (BlockVector3 vec : region) { - editSession.setBlock(vec, extent.getFullBlock(vec)); - } - } finally { - Fawe.get().getQueueHandler().endSet(true); - } - } catch (IOException e) { - throw new RuntimeException(e); - } - } catch (MaxChangedBlocksException e) { - throw new RuntimeException(e); - } finally { - saveFolder.delete(); - } - return true; - } - - @Override - public IChunkGet get(org.bukkit.World world, int chunkX, int chunkZ) { - return new BukkitGetBlocks_1_14(world, chunkX, chunkZ); - } - - @Override - public int getInternalBiomeId(BiomeType biome) { - BiomeBase base = CraftBlock.biomeToBiomeBase(BukkitAdapter.adapt(biome)); - return IRegistry.BIOME.a(base); - } -} diff --git a/worldedit-bukkit/src/main/resources/worldedit-adapters.jar b/worldedit-bukkit/src/main/resources/worldedit-adapters.jar index 466f31c5c87c28c17a508cc58a677e0f29956ad5..11e34adbebb9a97615cd1c01ee71fd07847acc34 100644 GIT binary patch delta 9556 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 z%0A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

jrh42_DYE{FQV@Kw={G+M9OM)`kk|mk zZW*WF&S|XjG|3cec!r8%lJO)inj137iX)Hk3p-;8cSvS5UQT{2tpVjJ(ox@lLJ6$& zqa09z^s#NOCD`80WYe>4{Ipe|YAp8b5eiWUxJF}BF|9*n)1rpa$7INNx%nqC$bB_J z475zOBp}Ka?IR#oEWw15gPvS$P*TiMxiY(?O2qVRgaG#I7s`b>FCvQ-m0`xL+_WLFi+g%d>8mR@lHzn!}f3@U+B{%!Dvvf3R-_+pB#?RZ#(g0eR~;b+JM?M@ z61EIyRuQCAs>1oNvC|mIw1}5;h5~0k>p9Z>*!u6X`3qCC^`oAT!nMrHNZw!lTdoAA*r4?OV_^SxU#{Y$%hzhWgjX; z@6aO&K!NmcD@YfiALzqNNN0#q?rPEw1E}SZCP|(djyNMoQ9Q^Vpn2>l`5g*J^(V;U zEO6vvMBYwTs%NS_E8AB_}*vH=V1Vr<$w6KRJ%O)=Xslpjm}hH}%dd?Tf@LaeuS5;uM- z*I~93V5j5fk`B(L11mSq8*E&>ycM2F?2ImALiZmekqD_vwWnvyY4>)SCVfK}(mUf2 zNfLc}jI@-n(npv4jIiVTL(+K)7cOh3WOw%(Ad4G6HuiL0X7YA|*t(LGNlaZYhh&Yg z;>2$*jf`Sksfan2_8pa=`;*D53F4tN5*IU^>+fqMJpz`poNP@9&|gM&A@r`lPnsb{ zDbnPP1l_O!*^d~VsU-yxqx-7le!|Bm^GGx7&?j;`&7;@R5&{?=+aXNhqx}rvp;t|l zObD*MY~;^`bX6X*3N|05KocePmB!WJo0!625fV zLslY2F+SuJ6!8SRIc@{_4Z;RSb{3-Djt^*!Am#wQ6s#wX)C4I8e;v^b)n2Yca!8qr@=;hP&*^y4|1+Zv86%E-%^ z;fPfNImUx{0ql$n`W}U&c6n5mg%!Z;(72=5Xa&V)7;h)Sk9A5>m}y)kY}j)nG6&Y) zj(mVbHZP0iv5M0qu&r()JTzNG08>&!enDJd*hDoRDG3}5mDrCvBz`*UW@I(WhU;iF z`ml|i#!WY+10~Bipap(k5hV%~AouN}D5iOcY>x3RqVQnq%oI-A@Tds=ju?7|%!Tu3 zIdm^Q0@hiMc1GKXFtlaC4t0E&sIm=2wEO31e||dsoBmfYYd+MgiDBMQJd#Q5`FPGgog#n z{8fR}u)>k-NyLWWxJA3S37&1tUmfA6H^d=sC{%kN4LXMH(aPwhh z1sHiTBW~0jE6hgNXz|PC=pj21Q3{;)j7A2!_Rq;*gS(y=^An+P&?PevI|M4X+JR&e zItmab7R(^$&oaco}TvC?>e#_0Ef`yOsbqKR3BnQvC<1S^FwV^t-HeaU^~2N`

(6ilY?u|lL-A5CgktChJdFHK2^ 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 Z%KYbwuEfnmVj@i(VPe{|3B+oq{|BuCLQ?<$ diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/Constants.java b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/Constants.java index 7b994f3f4..795688962 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/Constants.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/Constants.java @@ -53,12 +53,12 @@ public final class Constants { public static final int DATA_VERSION_MC_1_13_2 = 1631; /** - * The DataVersion for Minecraft 1.16 + * The DataVersion for Minecraft 1.14 */ public static final int DATA_VERSION_MC_1_14 = 1952; /** - * The DataVersion for Minecraft 1.16 + * The DataVersion for Minecraft 1.15 */ public static final int DATA_VERSION_MC_1_15 = 2225; diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockData.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockData.java index b82de1fd4..46680c61f 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockData.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockData.java @@ -100,8 +100,6 @@ public final class BundledBlockData { url = resourceLoader.getResource(BundledBlockData.class, "blocks.116.json"); } else if (dataVersion >= Constants.DATA_VERSION_MC_1_15) { url = resourceLoader.getResource(BundledBlockData.class, "blocks.115.json"); - } else if (dataVersion >= Constants.DATA_VERSION_MC_1_14) { - url = resourceLoader.getResource(BundledBlockData.class, "blocks.114.json"); } if (url == null) { url = resourceLoader.getResource(BundledBlockData.class, "blocks.json"); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledItemData.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledItemData.java index ef34bb650..bb3fb599b 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledItemData.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledItemData.java @@ -87,8 +87,6 @@ public final class BundledItemData { url = resourceLoader.getResource(BundledBlockData.class, "items.116.json"); } else if (dataVersion >= Constants.DATA_VERSION_MC_1_15) { url = resourceLoader.getResource(BundledBlockData.class, "items.115.json"); - } else if (dataVersion >= Constants.DATA_VERSION_MC_1_14) { - url = resourceLoader.getResource(BundledBlockData.class, "items.114.json"); } if (url == null) { url = resourceLoader.getResource(BundledBlockData.class, "items.json"); diff --git a/worldedit-core/src/main/resources/com/sk89q/worldedit/world/registry/blocks.114.json b/worldedit-core/src/main/resources/com/sk89q/worldedit/world/registry/blocks.114.json deleted file mode 100644 index d5f98648d..000000000 --- a/worldedit-core/src/main/resources/com/sk89q/worldedit/world/registry/blocks.114.json +++ /dev/null @@ -1,16902 +0,0 @@ -[ - { - "id": "minecraft:acacia_button", - "localizedName": "Acacia Button", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:acacia_door", - "localizedName": "Acacia Door", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:acacia_fence", - "localizedName": "Acacia Fence", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:acacia_fence_gate", - "localizedName": "Acacia Fence Gate", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:acacia_leaves", - "localizedName": "Acacia Leaves", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": true, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:acacia_log", - "localizedName": "Acacia Log", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:acacia_planks", - "localizedName": "Acacia Planks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:acacia_pressure_plate", - "localizedName": "Acacia Pressure Plate", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:acacia_sapling", - "localizedName": "Acacia Sapling", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:acacia_sign", - "localizedName": "Acacia Sign", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:acacia_slab", - "localizedName": "Acacia Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:acacia_stairs", - "localizedName": "Acacia Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:acacia_trapdoor", - "localizedName": "Acacia Trapdoor", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:acacia_wall_sign", - "localizedName": "Acacia Sign", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:acacia_wood", - "localizedName": "Acacia Wood", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:activator_rail", - "localizedName": "Activator Rail", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.7, - "resistance": 0.7, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:air", - "localizedName": "Air", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:allium", - "localizedName": "Allium", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:andesite", - "localizedName": "Andesite", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:andesite_slab", - "localizedName": "Andesite Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:andesite_stairs", - "localizedName": "Andesite Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:andesite_wall", - "localizedName": "Andesite Wall", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:anvil", - "localizedName": "Anvil", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 5.0, - "resistance": 1200.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": true, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:attached_melon_stem", - "localizedName": "Attached Melon Stem", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:attached_pumpkin_stem", - "localizedName": "Attached Pumpkin Stem", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:azure_bluet", - "localizedName": "Azure Bluet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:bamboo", - "localizedName": "Bamboo", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:bamboo_sapling", - "localizedName": "Bamboo Sapling", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": false, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:barrel", - "localizedName": "Barrel", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.5, - "resistance": 2.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": true - } - }, - { - "id": "minecraft:barrier", - "localizedName": "Barrier", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": -1.0, - "resistance": 3600000.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": true, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:beacon", - "localizedName": "Beacon", - "material": { - "powerSource": false, - "lightValue": 15, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:bedrock", - "localizedName": "Bedrock", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": -1.0, - "resistance": 3600000.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:beetroots", - "localizedName": "Beetroots", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:bell", - "localizedName": "Bell", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 5.0, - "resistance": 5.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:birch_button", - "localizedName": "Birch Button", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:birch_door", - "localizedName": "Birch Door", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:birch_fence", - "localizedName": "Birch Fence", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:birch_fence_gate", - "localizedName": "Birch Fence Gate", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:birch_leaves", - "localizedName": "Birch Leaves", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": true, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:birch_log", - "localizedName": "Birch Log", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:birch_planks", - "localizedName": "Birch Planks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:birch_pressure_plate", - "localizedName": "Birch Pressure Plate", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:birch_sapling", - "localizedName": "Birch Sapling", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:birch_sign", - "localizedName": "Birch Sign", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:birch_slab", - "localizedName": "Birch Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:birch_stairs", - "localizedName": "Birch Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:birch_trapdoor", - "localizedName": "Birch Trapdoor", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:birch_wall_sign", - "localizedName": "Birch Sign", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:birch_wood", - "localizedName": "Birch Wood", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:black_banner", - "localizedName": "Black Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:black_bed", - "localizedName": "Black Bed", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:black_carpet", - "localizedName": "Black Carpet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:black_concrete", - "localizedName": "Black Concrete", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.8, - "resistance": 1.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:black_concrete_powder", - "localizedName": "Black Concrete Powder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:black_glazed_terracotta", - "localizedName": "Black Glazed Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.4, - "resistance": 1.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:black_shulker_box", - "localizedName": "Black Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:black_stained_glass", - "localizedName": "Black Stained Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:black_stained_glass_pane", - "localizedName": "Black Stained Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:black_terracotta", - "localizedName": "Black Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:black_wall_banner", - "localizedName": "Black Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:black_wool", - "localizedName": "Black Wool", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:blast_furnace", - "localizedName": "Blast Furnace", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.5, - "resistance": 3.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": true - } - }, - { - "id": "minecraft:blue_banner", - "localizedName": "Blue Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:blue_bed", - "localizedName": "Blue Bed", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:blue_carpet", - "localizedName": "Blue Carpet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:blue_concrete", - "localizedName": "Blue Concrete", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.8, - "resistance": 1.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:blue_concrete_powder", - "localizedName": "Blue Concrete Powder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:blue_glazed_terracotta", - "localizedName": "Blue Glazed Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.4, - "resistance": 1.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:blue_ice", - "localizedName": "Blue Ice", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.8, - "resistance": 2.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.989, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a0a0ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:blue_orchid", - "localizedName": "Blue Orchid", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:blue_shulker_box", - "localizedName": "Blue Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:blue_stained_glass", - "localizedName": "Blue Stained Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:blue_stained_glass_pane", - "localizedName": "Blue Stained Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:blue_terracotta", - "localizedName": "Blue Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:blue_wall_banner", - "localizedName": "Blue Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:blue_wool", - "localizedName": "Blue Wool", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:bone_block", - "localizedName": "Bone Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:bookshelf", - "localizedName": "Bookshelf", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 1.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brain_coral", - "localizedName": "Brain Coral", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brain_coral_block", - "localizedName": "Brain Coral Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brain_coral_fan", - "localizedName": "Brain Coral Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brain_coral_wall_fan", - "localizedName": "Brain Coral Wall Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brewing_stand", - "localizedName": "Brewing Stand", - "material": { - "powerSource": false, - "lightValue": 1, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": true - } - }, - { - "id": "minecraft:brick_slab", - "localizedName": "Brick Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brick_stairs", - "localizedName": "Brick Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brick_wall", - "localizedName": "Brick Wall", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:bricks", - "localizedName": "Bricks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brown_banner", - "localizedName": "Brown Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brown_bed", - "localizedName": "Brown Bed", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brown_carpet", - "localizedName": "Brown Carpet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brown_concrete", - "localizedName": "Brown Concrete", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.8, - "resistance": 1.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brown_concrete_powder", - "localizedName": "Brown Concrete Powder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brown_glazed_terracotta", - "localizedName": "Brown Glazed Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.4, - "resistance": 1.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brown_mushroom", - "localizedName": "Brown Mushroom", - "material": { - "powerSource": false, - "lightValue": 1, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brown_mushroom_block", - "localizedName": "Brown Mushroom Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brown_shulker_box", - "localizedName": "Brown Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:brown_stained_glass", - "localizedName": "Brown Stained Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brown_stained_glass_pane", - "localizedName": "Brown Stained Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brown_terracotta", - "localizedName": "Brown Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brown_wall_banner", - "localizedName": "Brown Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:brown_wool", - "localizedName": "Brown Wool", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:bubble_column", - "localizedName": "Bubble Column", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": true, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:bubble_coral", - "localizedName": "Bubble Coral", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:bubble_coral_block", - "localizedName": "Bubble Coral Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:bubble_coral_fan", - "localizedName": "Bubble Coral Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:bubble_coral_wall_fan", - "localizedName": "Bubble Coral Wall Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cactus", - "localizedName": "Cactus", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.4, - "resistance": 0.4, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cake", - "localizedName": "Cake", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:campfire", - "localizedName": "Campfire", - "material": { - "powerSource": false, - "lightValue": 15, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": true - } - }, - { - "id": "minecraft:carrots", - "localizedName": "Carrots", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cartography_table", - "localizedName": "Cartography Table", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.5, - "resistance": 2.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:carved_pumpkin", - "localizedName": "Carved Pumpkin", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cauldron", - "localizedName": "Cauldron", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cave_air", - "localizedName": "Cave Air", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:chain_command_block", - "localizedName": "Chain Command Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": -1.0, - "resistance": 3600000.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:chest", - "localizedName": "Chest", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.5, - "resistance": 2.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": true - } - }, - { - "id": "minecraft:chipped_anvil", - "localizedName": "Chipped Anvil", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 5.0, - "resistance": 1200.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": true, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:chiseled_quartz_block", - "localizedName": "Chiseled Quartz Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:chiseled_red_sandstone", - "localizedName": "Chiseled Red Sandstone", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:chiseled_sandstone", - "localizedName": "Chiseled Sandstone", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:chiseled_stone_bricks", - "localizedName": "Chiseled Stone Bricks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:chorus_flower", - "localizedName": "Chorus Flower", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.4, - "resistance": 0.4, - "ticksRandomly": true, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:chorus_plant", - "localizedName": "Chorus Plant", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.4, - "resistance": 0.4, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:clay", - "localizedName": "Clay", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.6, - "resistance": 0.6, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a4a8b8", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:coal_block", - "localizedName": "Block of Coal", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 5.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:coal_ore", - "localizedName": "Coal Ore", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:coarse_dirt", - "localizedName": "Coarse Dirt", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#976d4d", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cobblestone", - "localizedName": "Cobblestone", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cobblestone_slab", - "localizedName": "Cobblestone Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cobblestone_stairs", - "localizedName": "Cobblestone Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cobblestone_wall", - "localizedName": "Cobblestone Wall", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cobweb", - "localizedName": "Cobweb", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 4.0, - "resistance": 4.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cocoa", - "localizedName": "Cocoa", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 3.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:command_block", - "localizedName": "Command Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": -1.0, - "resistance": 3600000.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:comparator", - "localizedName": "Redstone Comparator", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:composter", - "localizedName": "Composter", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.6, - "resistance": 0.6, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:conduit", - "localizedName": "Conduit", - "material": { - "powerSource": false, - "lightValue": 15, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cornflower", - "localizedName": "Cornflower", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cracked_stone_bricks", - "localizedName": "Cracked Stone Bricks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:crafting_table", - "localizedName": "Crafting Table", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.5, - "resistance": 2.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:creeper_head", - "localizedName": "Creeper Head", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:creeper_wall_head", - "localizedName": "Creeper Head", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cut_red_sandstone", - "localizedName": "Cut Red Sandstone", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cut_red_sandstone_slab", - "localizedName": "Cut Red Sandstone Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cut_sandstone", - "localizedName": "Cut Sandstone", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cut_sandstone_slab", - "localizedName": "Cut Sandstone Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cyan_banner", - "localizedName": "Cyan Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cyan_bed", - "localizedName": "Cyan Bed", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cyan_carpet", - "localizedName": "Cyan Carpet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cyan_concrete", - "localizedName": "Cyan Concrete", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.8, - "resistance": 1.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cyan_concrete_powder", - "localizedName": "Cyan Concrete Powder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cyan_glazed_terracotta", - "localizedName": "Cyan Glazed Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.4, - "resistance": 1.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cyan_shulker_box", - "localizedName": "Cyan Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:cyan_stained_glass", - "localizedName": "Cyan Stained Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cyan_stained_glass_pane", - "localizedName": "Cyan Stained Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cyan_terracotta", - "localizedName": "Cyan Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cyan_wall_banner", - "localizedName": "Cyan Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:cyan_wool", - "localizedName": "Cyan Wool", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:damaged_anvil", - "localizedName": "Damaged Anvil", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 5.0, - "resistance": 1200.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": true, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dandelion", - "localizedName": "Dandelion", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_oak_button", - "localizedName": "Dark Oak Button", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_oak_door", - "localizedName": "Dark Oak Door", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_oak_fence", - "localizedName": "Dark Oak Fence", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_oak_fence_gate", - "localizedName": "Dark Oak Fence Gate", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_oak_leaves", - "localizedName": "Dark Oak Leaves", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": true, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_oak_log", - "localizedName": "Dark Oak Log", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_oak_planks", - "localizedName": "Dark Oak Planks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_oak_pressure_plate", - "localizedName": "Dark Oak Pressure Plate", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_oak_sapling", - "localizedName": "Dark Oak Sapling", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_oak_sign", - "localizedName": "Dark Oak Sign", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_oak_slab", - "localizedName": "Dark Oak Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_oak_stairs", - "localizedName": "Dark Oak Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_oak_trapdoor", - "localizedName": "Dark Oak Trapdoor", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_oak_wall_sign", - "localizedName": "Dark Oak Sign", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_oak_wood", - "localizedName": "Dark Oak Wood", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_prismarine", - "localizedName": "Dark Prismarine", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_prismarine_slab", - "localizedName": "Dark Prismarine Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dark_prismarine_stairs", - "localizedName": "Dark Prismarine Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:daylight_detector", - "localizedName": "Daylight Detector", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_brain_coral", - "localizedName": "Dead Brain Coral", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_brain_coral_block", - "localizedName": "Dead Brain Coral Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_brain_coral_fan", - "localizedName": "Dead Brain Coral Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_brain_coral_wall_fan", - "localizedName": "Dead Brain Coral Wall Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_bubble_coral", - "localizedName": "Dead Bubble Coral", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_bubble_coral_block", - "localizedName": "Dead Bubble Coral Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_bubble_coral_fan", - "localizedName": "Dead Bubble Coral Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_bubble_coral_wall_fan", - "localizedName": "Dead Bubble Coral Wall Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_bush", - "localizedName": "Dead Bush", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_fire_coral", - "localizedName": "Dead Fire Coral", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_fire_coral_block", - "localizedName": "Dead Fire Coral Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_fire_coral_fan", - "localizedName": "Dead Fire Coral Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_fire_coral_wall_fan", - "localizedName": "Dead Fire Coral Wall Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_horn_coral", - "localizedName": "Dead Horn Coral", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_horn_coral_block", - "localizedName": "Dead Horn Coral Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_horn_coral_fan", - "localizedName": "Dead Horn Coral Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_horn_coral_wall_fan", - "localizedName": "Dead Horn Coral Wall Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_tube_coral", - "localizedName": "Dead Tube Coral", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_tube_coral_block", - "localizedName": "Dead Tube Coral Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_tube_coral_fan", - "localizedName": "Dead Tube Coral Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dead_tube_coral_wall_fan", - "localizedName": "Dead Tube Coral Wall Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:detector_rail", - "localizedName": "Detector Rail", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.7, - "resistance": 0.7, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:diamond_block", - "localizedName": "Block of Diamond", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 5.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:diamond_ore", - "localizedName": "Diamond Ore", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:diorite", - "localizedName": "Diorite", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:diorite_slab", - "localizedName": "Diorite Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:diorite_stairs", - "localizedName": "Diorite Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:diorite_wall", - "localizedName": "Diorite Wall", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dirt", - "localizedName": "Dirt", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#976d4d", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dispenser", - "localizedName": "Dispenser", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.5, - "resistance": 3.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": true - } - }, - { - "id": "minecraft:dragon_egg", - "localizedName": "Dragon Egg", - "material": { - "powerSource": false, - "lightValue": 1, - "hardness": 3.0, - "resistance": 9.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dragon_head", - "localizedName": "Dragon Head", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dragon_wall_head", - "localizedName": "Dragon Head", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dried_kelp_block", - "localizedName": "Dried Kelp Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 2.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7fb238", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:dropper", - "localizedName": "Dropper", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.5, - "resistance": 3.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": true - } - }, - { - "id": "minecraft:emerald_block", - "localizedName": "Block of Emerald", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 5.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:emerald_ore", - "localizedName": "Emerald Ore", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:enchanting_table", - "localizedName": "Enchanting Table", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 5.0, - "resistance": 1200.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:end_gateway", - "localizedName": "End Gateway", - "material": { - "powerSource": false, - "lightValue": 15, - "hardness": -1.0, - "resistance": 3600000.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": true, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:end_portal", - "localizedName": "End Portal", - "material": { - "powerSource": false, - "lightValue": 15, - "hardness": -1.0, - "resistance": 3600000.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": true, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:end_portal_frame", - "localizedName": "End Portal Frame", - "material": { - "powerSource": false, - "lightValue": 1, - "hardness": -1.0, - "resistance": 3600000.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:end_rod", - "localizedName": "End Rod", - "material": { - "powerSource": false, - "lightValue": 14, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:end_stone", - "localizedName": "End Stone", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 9.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:end_stone_brick_slab", - "localizedName": "End Stone Brick Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:end_stone_brick_stairs", - "localizedName": "End Stone Brick Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:end_stone_brick_wall", - "localizedName": "End Stone Brick Wall", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:end_stone_bricks", - "localizedName": "End Stone Bricks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:ender_chest", - "localizedName": "Ender Chest", - "material": { - "powerSource": false, - "lightValue": 7, - "hardness": 22.5, - "resistance": 600.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:farmland", - "localizedName": "Farmland", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.6, - "resistance": 0.6, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#976d4d", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:fern", - "localizedName": "Fern", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:fire", - "localizedName": "Fire", - "material": { - "powerSource": false, - "lightValue": 15, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:fire_coral", - "localizedName": "Fire Coral", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:fire_coral_block", - "localizedName": "Fire Coral Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:fire_coral_fan", - "localizedName": "Fire Coral Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:fire_coral_wall_fan", - "localizedName": "Fire Coral Wall Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:fletching_table", - "localizedName": "Fletching Table", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.5, - "resistance": 2.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:flower_pot", - "localizedName": "Flower Pot", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:frosted_ice", - "localizedName": "Frosted Ice", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": true, - "fullCube": true, - "slipperiness": 0.98, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a0a0ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:furnace", - "localizedName": "Furnace", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.5, - "resistance": 3.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": true - } - }, - { - "id": "minecraft:glass", - "localizedName": "Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:glass_pane", - "localizedName": "Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:glowstone", - "localizedName": "Glowstone", - "material": { - "powerSource": false, - "lightValue": 15, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:gold_block", - "localizedName": "Block of Gold", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:gold_ore", - "localizedName": "Gold Ore", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:granite", - "localizedName": "Granite", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:granite_slab", - "localizedName": "Granite Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:granite_stairs", - "localizedName": "Granite Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:granite_wall", - "localizedName": "Granite Wall", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:grass", - "localizedName": "Grass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:grass_block", - "localizedName": "Grass Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.6, - "resistance": 0.6, - "ticksRandomly": true, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7fb238", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:grass_path", - "localizedName": "Grass Path", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.65, - "resistance": 0.65, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#976d4d", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:gravel", - "localizedName": "Gravel", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.6, - "resistance": 0.6, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:gray_banner", - "localizedName": "Gray Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:gray_bed", - "localizedName": "Gray Bed", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:gray_carpet", - "localizedName": "Gray Carpet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:gray_concrete", - "localizedName": "Gray Concrete", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.8, - "resistance": 1.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:gray_concrete_powder", - "localizedName": "Gray Concrete Powder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:gray_glazed_terracotta", - "localizedName": "Gray Glazed Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.4, - "resistance": 1.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:gray_shulker_box", - "localizedName": "Gray Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:gray_stained_glass", - "localizedName": "Gray Stained Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:gray_stained_glass_pane", - "localizedName": "Gray Stained Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:gray_terracotta", - "localizedName": "Gray Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:gray_wall_banner", - "localizedName": "Gray Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:gray_wool", - "localizedName": "Gray Wool", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:green_banner", - "localizedName": "Green Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:green_bed", - "localizedName": "Green Bed", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:green_carpet", - "localizedName": "Green Carpet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:green_concrete", - "localizedName": "Green Concrete", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.8, - "resistance": 1.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:green_concrete_powder", - "localizedName": "Green Concrete Powder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:green_glazed_terracotta", - "localizedName": "Green Glazed Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.4, - "resistance": 1.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:green_shulker_box", - "localizedName": "Green Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:green_stained_glass", - "localizedName": "Green Stained Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:green_stained_glass_pane", - "localizedName": "Green Stained Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:green_terracotta", - "localizedName": "Green Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:green_wall_banner", - "localizedName": "Green Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:green_wool", - "localizedName": "Green Wool", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:grindstone", - "localizedName": "Grindstone", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": true, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:hay_block", - "localizedName": "Hay Bale", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7fb238", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:heavy_weighted_pressure_plate", - "localizedName": "Heavy Weighted Pressure Plate", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:hopper", - "localizedName": "Hopper", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 4.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": true - } - }, - { - "id": "minecraft:horn_coral", - "localizedName": "Horn Coral", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:horn_coral_block", - "localizedName": "Horn Coral Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:horn_coral_fan", - "localizedName": "Horn Coral Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:horn_coral_wall_fan", - "localizedName": "Horn Coral Wall Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:ice", - "localizedName": "Ice", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": true, - "fullCube": true, - "slipperiness": 0.98, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a0a0ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:infested_chiseled_stone_bricks", - "localizedName": "Infested Chiseled Stone Bricks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.75, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a4a8b8", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:infested_cobblestone", - "localizedName": "Infested Cobblestone", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.75, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a4a8b8", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:infested_cracked_stone_bricks", - "localizedName": "Infested Cracked Stone Bricks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.75, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a4a8b8", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:infested_mossy_stone_bricks", - "localizedName": "Infested Mossy Stone Bricks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.75, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a4a8b8", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:infested_stone", - "localizedName": "Infested Stone", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.75, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a4a8b8", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:infested_stone_bricks", - "localizedName": "Infested Stone Bricks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.75, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a4a8b8", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:iron_bars", - "localizedName": "Iron Bars", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 5.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:iron_block", - "localizedName": "Block of Iron", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 5.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:iron_door", - "localizedName": "Iron Door", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 5.0, - "resistance": 5.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:iron_ore", - "localizedName": "Iron Ore", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:iron_trapdoor", - "localizedName": "Iron Trapdoor", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 5.0, - "resistance": 5.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jack_o_lantern", - "localizedName": "Jack o\u0027Lantern", - "material": { - "powerSource": false, - "lightValue": 15, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jigsaw", - "localizedName": "Jigsaw Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": -1.0, - "resistance": 3600000.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jukebox", - "localizedName": "Jukebox", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": true - } - }, - { - "id": "minecraft:jungle_button", - "localizedName": "Jungle Button", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jungle_door", - "localizedName": "Jungle Door", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jungle_fence", - "localizedName": "Jungle Fence", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jungle_fence_gate", - "localizedName": "Jungle Fence Gate", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jungle_leaves", - "localizedName": "Jungle Leaves", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": true, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jungle_log", - "localizedName": "Jungle Log", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jungle_planks", - "localizedName": "Jungle Planks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jungle_pressure_plate", - "localizedName": "Jungle Pressure Plate", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jungle_sapling", - "localizedName": "Jungle Sapling", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jungle_sign", - "localizedName": "Jungle Sign", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jungle_slab", - "localizedName": "Jungle Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jungle_stairs", - "localizedName": "Jungle Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jungle_trapdoor", - "localizedName": "Jungle Trapdoor", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jungle_wall_sign", - "localizedName": "Jungle Sign", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:jungle_wood", - "localizedName": "Jungle Wood", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:kelp", - "localizedName": "Kelp", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:kelp_plant", - "localizedName": "Kelp Plant", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:ladder", - "localizedName": "Ladder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.4, - "resistance": 0.4, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lantern", - "localizedName": "Lantern", - "material": { - "powerSource": false, - "lightValue": 15, - "hardness": 3.5, - "resistance": 3.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lapis_block", - "localizedName": "Lapis Lazuli Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lapis_ore", - "localizedName": "Lapis Lazuli Ore", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:large_fern", - "localizedName": "Large Fern", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lava", - "localizedName": "Lava", - "material": { - "powerSource": false, - "lightValue": 15, - "hardness": 100.0, - "resistance": 100.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": true, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#ff0000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lectern", - "localizedName": "Lectern", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 2.5, - "resistance": 2.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": true - } - }, - { - "id": "minecraft:lever", - "localizedName": "Lever", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_blue_banner", - "localizedName": "Light Blue Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_blue_bed", - "localizedName": "Light Blue Bed", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_blue_carpet", - "localizedName": "Light Blue Carpet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_blue_concrete", - "localizedName": "Light Blue Concrete", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.8, - "resistance": 1.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_blue_concrete_powder", - "localizedName": "Light Blue Concrete Powder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_blue_glazed_terracotta", - "localizedName": "Light Blue Glazed Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.4, - "resistance": 1.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_blue_shulker_box", - "localizedName": "Light Blue Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:light_blue_stained_glass", - "localizedName": "Light Blue Stained Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_blue_stained_glass_pane", - "localizedName": "Light Blue Stained Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_blue_terracotta", - "localizedName": "Light Blue Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_blue_wall_banner", - "localizedName": "Light Blue Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_blue_wool", - "localizedName": "Light Blue Wool", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_gray_banner", - "localizedName": "Light Gray Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_gray_bed", - "localizedName": "Light Gray Bed", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_gray_carpet", - "localizedName": "Light Gray Carpet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_gray_concrete", - "localizedName": "Light Gray Concrete", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.8, - "resistance": 1.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_gray_concrete_powder", - "localizedName": "Light Gray Concrete Powder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_gray_glazed_terracotta", - "localizedName": "Light Gray Glazed Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.4, - "resistance": 1.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_gray_shulker_box", - "localizedName": "Light Gray Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:light_gray_stained_glass", - "localizedName": "Light Gray Stained Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_gray_stained_glass_pane", - "localizedName": "Light Gray Stained Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_gray_terracotta", - "localizedName": "Light Gray Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_gray_wall_banner", - "localizedName": "Light Gray Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_gray_wool", - "localizedName": "Light Gray Wool", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:light_weighted_pressure_plate", - "localizedName": "Light Weighted Pressure Plate", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lilac", - "localizedName": "Lilac", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lily_of_the_valley", - "localizedName": "Lily of the Valley", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lily_pad", - "localizedName": "Lily Pad", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lime_banner", - "localizedName": "Lime Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lime_bed", - "localizedName": "Lime Bed", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lime_carpet", - "localizedName": "Lime Carpet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lime_concrete", - "localizedName": "Lime Concrete", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.8, - "resistance": 1.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lime_concrete_powder", - "localizedName": "Lime Concrete Powder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lime_glazed_terracotta", - "localizedName": "Lime Glazed Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.4, - "resistance": 1.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lime_shulker_box", - "localizedName": "Lime Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:lime_stained_glass", - "localizedName": "Lime Stained Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lime_stained_glass_pane", - "localizedName": "Lime Stained Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lime_terracotta", - "localizedName": "Lime Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lime_wall_banner", - "localizedName": "Lime Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:lime_wool", - "localizedName": "Lime Wool", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:loom", - "localizedName": "Loom", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.5, - "resistance": 2.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:magenta_banner", - "localizedName": "Magenta Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:magenta_bed", - "localizedName": "Magenta Bed", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:magenta_carpet", - "localizedName": "Magenta Carpet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:magenta_concrete", - "localizedName": "Magenta Concrete", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.8, - "resistance": 1.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:magenta_concrete_powder", - "localizedName": "Magenta Concrete Powder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:magenta_glazed_terracotta", - "localizedName": "Magenta Glazed Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.4, - "resistance": 1.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:magenta_shulker_box", - "localizedName": "Magenta Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:magenta_stained_glass", - "localizedName": "Magenta Stained Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:magenta_stained_glass_pane", - "localizedName": "Magenta Stained Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:magenta_terracotta", - "localizedName": "Magenta Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:magenta_wall_banner", - "localizedName": "Magenta Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:magenta_wool", - "localizedName": "Magenta Wool", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:magma_block", - "localizedName": "Magma Block", - "material": { - "powerSource": false, - "lightValue": 3, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": true, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:melon", - "localizedName": "Melon", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:melon_stem", - "localizedName": "Melon Stem", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:mossy_cobblestone", - "localizedName": "Mossy Cobblestone", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:mossy_cobblestone_slab", - "localizedName": "Mossy Cobblestone Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:mossy_cobblestone_stairs", - "localizedName": "Mossy Cobblestone Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:mossy_cobblestone_wall", - "localizedName": "Mossy Cobblestone Wall", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:mossy_stone_brick_slab", - "localizedName": "Mossy Stone Brick Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:mossy_stone_brick_stairs", - "localizedName": "Mossy Stone Brick Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:mossy_stone_brick_wall", - "localizedName": "Mossy Stone Brick Wall", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:mossy_stone_bricks", - "localizedName": "Mossy Stone Bricks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:moving_piston", - "localizedName": "Moving Piston", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": -1.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": true, - "mapColor": "#707070", - "isTranslucent": true, - "hasContainer": false - } - }, - { - "id": "minecraft:mushroom_stem", - "localizedName": "Mushroom Stem", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:mycelium", - "localizedName": "Mycelium", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.6, - "resistance": 0.6, - "ticksRandomly": true, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7fb238", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:nether_brick_fence", - "localizedName": "Nether Brick Fence", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:nether_brick_slab", - "localizedName": "Nether Brick Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:nether_brick_stairs", - "localizedName": "Nether Brick Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:nether_brick_wall", - "localizedName": "Nether Brick Wall", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:nether_bricks", - "localizedName": "Nether Bricks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:nether_portal", - "localizedName": "Nether Portal", - "material": { - "powerSource": false, - "lightValue": 11, - "hardness": -1.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": true, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:nether_quartz_ore", - "localizedName": "Nether Quartz Ore", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:nether_wart", - "localizedName": "Nether Wart", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:nether_wart_block", - "localizedName": "Nether Wart Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7fb238", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:netherrack", - "localizedName": "Netherrack", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.4, - "resistance": 0.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:note_block", - "localizedName": "Note Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:oak_button", - "localizedName": "Oak Button", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:oak_door", - "localizedName": "Oak Door", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:oak_fence", - "localizedName": "Oak Fence", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:oak_fence_gate", - "localizedName": "Oak Fence Gate", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:oak_leaves", - "localizedName": "Oak Leaves", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": true, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:oak_log", - "localizedName": "Oak Log", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:oak_planks", - "localizedName": "Oak Planks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:oak_pressure_plate", - "localizedName": "Oak Pressure Plate", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:oak_sapling", - "localizedName": "Oak Sapling", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:oak_sign", - "localizedName": "Oak Sign", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:oak_slab", - "localizedName": "Oak Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:oak_stairs", - "localizedName": "Oak Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:oak_trapdoor", - "localizedName": "Oak Trapdoor", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:oak_wall_sign", - "localizedName": "Oak Sign", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:oak_wood", - "localizedName": "Oak Wood", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:observer", - "localizedName": "Observer", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:obsidian", - "localizedName": "Obsidian", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 50.0, - "resistance": 1200.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:orange_banner", - "localizedName": "Orange Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:orange_bed", - "localizedName": "Orange Bed", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:orange_carpet", - "localizedName": "Orange Carpet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:orange_concrete", - "localizedName": "Orange Concrete", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.8, - "resistance": 1.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:orange_concrete_powder", - "localizedName": "Orange Concrete Powder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:orange_glazed_terracotta", - "localizedName": "Orange Glazed Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.4, - "resistance": 1.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:orange_shulker_box", - "localizedName": "Orange Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:orange_stained_glass", - "localizedName": "Orange Stained Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:orange_stained_glass_pane", - "localizedName": "Orange Stained Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:orange_terracotta", - "localizedName": "Orange Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:orange_tulip", - "localizedName": "Orange Tulip", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:orange_wall_banner", - "localizedName": "Orange Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:orange_wool", - "localizedName": "Orange Wool", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:oxeye_daisy", - "localizedName": "Oxeye Daisy", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:packed_ice", - "localizedName": "Packed Ice", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.98, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a0a0ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:peony", - "localizedName": "Peony", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:petrified_oak_slab", - "localizedName": "Petrified Oak Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:pink_banner", - "localizedName": "Pink Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:pink_bed", - "localizedName": "Pink Bed", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:pink_carpet", - "localizedName": "Pink Carpet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:pink_concrete", - "localizedName": "Pink Concrete", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.8, - "resistance": 1.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:pink_concrete_powder", - "localizedName": "Pink Concrete Powder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:pink_glazed_terracotta", - "localizedName": "Pink Glazed Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.4, - "resistance": 1.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:pink_shulker_box", - "localizedName": "Pink Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:pink_stained_glass", - "localizedName": "Pink Stained Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:pink_stained_glass_pane", - "localizedName": "Pink Stained Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:pink_terracotta", - "localizedName": "Pink Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:pink_tulip", - "localizedName": "Pink Tulip", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:pink_wall_banner", - "localizedName": "Pink Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:pink_wool", - "localizedName": "Pink Wool", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:piston", - "localizedName": "Piston", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": true, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:piston_head", - "localizedName": "Piston Head", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": true, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:player_head", - "localizedName": "Player Head", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:player_wall_head", - "localizedName": "Player Head", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:podzol", - "localizedName": "Podzol", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#976d4d", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:polished_andesite", - "localizedName": "Polished Andesite", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:polished_andesite_slab", - "localizedName": "Polished Andesite Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:polished_andesite_stairs", - "localizedName": "Polished Andesite Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:polished_diorite", - "localizedName": "Polished Diorite", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:polished_diorite_slab", - "localizedName": "Polished Diorite Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:polished_diorite_stairs", - "localizedName": "Polished Diorite Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:polished_granite", - "localizedName": "Polished Granite", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:polished_granite_slab", - "localizedName": "Polished Granite Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:polished_granite_stairs", - "localizedName": "Polished Granite Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:poppy", - "localizedName": "Poppy", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potatoes", - "localizedName": "Potatoes", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_acacia_sapling", - "localizedName": "Potted Acacia Sapling", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_allium", - "localizedName": "Potted Allium", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_azure_bluet", - "localizedName": "Potted Azure Bluet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_bamboo", - "localizedName": "Potted Bamboo", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_birch_sapling", - "localizedName": "Potted Birch Sapling", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_blue_orchid", - "localizedName": "Potted Blue Orchid", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_brown_mushroom", - "localizedName": "Potted Brown Mushroom", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_cactus", - "localizedName": "Potted Cactus", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_cornflower", - "localizedName": "Potted Cornflower", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_dandelion", - "localizedName": "Potted Dandelion", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_dark_oak_sapling", - "localizedName": "Potted Dark Oak Sapling", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_dead_bush", - "localizedName": "Potted Dead Bush", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_fern", - "localizedName": "Potted Fern", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_jungle_sapling", - "localizedName": "Potted Jungle Sapling", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_lily_of_the_valley", - "localizedName": "Potted Lily of the Valley", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_oak_sapling", - "localizedName": "Potted Oak Sapling", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_orange_tulip", - "localizedName": "Potted Orange Tulip", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_oxeye_daisy", - "localizedName": "Potted Oxeye Daisy", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_pink_tulip", - "localizedName": "Potted Pink Tulip", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_poppy", - "localizedName": "Potted Poppy", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_red_mushroom", - "localizedName": "Potted Red Mushroom", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_red_tulip", - "localizedName": "Potted Red Tulip", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_spruce_sapling", - "localizedName": "Potted Spruce Sapling", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_white_tulip", - "localizedName": "Potted White Tulip", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:potted_wither_rose", - "localizedName": "Potted Wither Rose", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:powered_rail", - "localizedName": "Powered Rail", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.7, - "resistance": 0.7, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:prismarine", - "localizedName": "Prismarine", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:prismarine_brick_slab", - "localizedName": "Prismarine Brick Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:prismarine_brick_stairs", - "localizedName": "Prismarine Brick Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:prismarine_bricks", - "localizedName": "Prismarine Bricks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:prismarine_slab", - "localizedName": "Prismarine Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:prismarine_stairs", - "localizedName": "Prismarine Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:prismarine_wall", - "localizedName": "Prismarine Wall", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:pumpkin", - "localizedName": "Pumpkin", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:pumpkin_stem", - "localizedName": "Pumpkin Stem", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:purple_banner", - "localizedName": "Purple Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:purple_bed", - "localizedName": "Purple Bed", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:purple_carpet", - "localizedName": "Purple Carpet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:purple_concrete", - "localizedName": "Purple Concrete", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.8, - "resistance": 1.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:purple_concrete_powder", - "localizedName": "Purple Concrete Powder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:purple_glazed_terracotta", - "localizedName": "Purple Glazed Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.4, - "resistance": 1.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:purple_shulker_box", - "localizedName": "Purple Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:purple_stained_glass", - "localizedName": "Purple Stained Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:purple_stained_glass_pane", - "localizedName": "Purple Stained Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:purple_terracotta", - "localizedName": "Purple Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:purple_wall_banner", - "localizedName": "Purple Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:purple_wool", - "localizedName": "Purple Wool", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:purpur_block", - "localizedName": "Purpur Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:purpur_pillar", - "localizedName": "Purpur Pillar", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:purpur_slab", - "localizedName": "Purpur Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:purpur_stairs", - "localizedName": "Purpur Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:quartz_block", - "localizedName": "Block of Quartz", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:quartz_pillar", - "localizedName": "Quartz Pillar", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:quartz_slab", - "localizedName": "Quartz Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:quartz_stairs", - "localizedName": "Quartz Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:rail", - "localizedName": "Rail", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.7, - "resistance": 0.7, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_banner", - "localizedName": "Red Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_bed", - "localizedName": "Red Bed", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_carpet", - "localizedName": "Red Carpet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_concrete", - "localizedName": "Red Concrete", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.8, - "resistance": 1.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_concrete_powder", - "localizedName": "Red Concrete Powder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_glazed_terracotta", - "localizedName": "Red Glazed Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.4, - "resistance": 1.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_mushroom", - "localizedName": "Red Mushroom", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_mushroom_block", - "localizedName": "Red Mushroom Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_nether_brick_slab", - "localizedName": "Red Nether Brick Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_nether_brick_stairs", - "localizedName": "Red Nether Brick Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_nether_brick_wall", - "localizedName": "Red Nether Brick Wall", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_nether_bricks", - "localizedName": "Red Nether Bricks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_sand", - "localizedName": "Red Sand", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_sandstone", - "localizedName": "Red Sandstone", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_sandstone_slab", - "localizedName": "Red Sandstone Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_sandstone_stairs", - "localizedName": "Red Sandstone Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_sandstone_wall", - "localizedName": "Red Sandstone Wall", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_shulker_box", - "localizedName": "Red Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:red_stained_glass", - "localizedName": "Red Stained Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_stained_glass_pane", - "localizedName": "Red Stained Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_terracotta", - "localizedName": "Red Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_tulip", - "localizedName": "Red Tulip", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_wall_banner", - "localizedName": "Red Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:red_wool", - "localizedName": "Red Wool", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:redstone_block", - "localizedName": "Block of Redstone", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 5.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:redstone_lamp", - "localizedName": "Redstone Lamp", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:redstone_ore", - "localizedName": "Redstone Ore", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": true, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:redstone_torch", - "localizedName": "Redstone Torch", - "material": { - "powerSource": true, - "lightValue": 7, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:redstone_wall_torch", - "localizedName": "Redstone Torch", - "material": { - "powerSource": true, - "lightValue": 7, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:redstone_wire", - "localizedName": "Redstone Wire", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:repeater", - "localizedName": "Redstone Repeater", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:repeating_command_block", - "localizedName": "Repeating Command Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": -1.0, - "resistance": 3600000.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:rose_bush", - "localizedName": "Rose Bush", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:sand", - "localizedName": "Sand", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:sandstone", - "localizedName": "Sandstone", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:sandstone_slab", - "localizedName": "Sandstone Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:sandstone_stairs", - "localizedName": "Sandstone Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:sandstone_wall", - "localizedName": "Sandstone Wall", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:scaffolding", - "localizedName": "Scaffolding", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": true, - "hasContainer": false - } - }, - { - "id": "minecraft:sea_lantern", - "localizedName": "Sea Lantern", - "material": { - "powerSource": false, - "lightValue": 15, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:sea_pickle", - "localizedName": "Sea Pickle", - "material": { - "powerSource": false, - "lightValue": 6, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:seagrass", - "localizedName": "Seagrass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:shulker_box", - "localizedName": "Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:skeleton_skull", - "localizedName": "Skeleton Skull", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:skeleton_wall_skull", - "localizedName": "Skeleton Skull", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:slime_block", - "localizedName": "Slime Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.8, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a4a8b8", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:smithing_table", - "localizedName": "Smithing Table", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.5, - "resistance": 2.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:smoker", - "localizedName": "Smoker", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.5, - "resistance": 3.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": true - } - }, - { - "id": "minecraft:smooth_quartz", - "localizedName": "Smooth Quartz", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:smooth_quartz_slab", - "localizedName": "Smooth Quartz Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:smooth_quartz_stairs", - "localizedName": "Smooth Quartz Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:smooth_red_sandstone", - "localizedName": "Smooth Red Sandstone", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:smooth_red_sandstone_slab", - "localizedName": "Smooth Red Sandstone Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:smooth_red_sandstone_stairs", - "localizedName": "Smooth Red Sandstone Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:smooth_sandstone", - "localizedName": "Smooth Sandstone", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:smooth_sandstone_slab", - "localizedName": "Smooth Sandstone Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:smooth_sandstone_stairs", - "localizedName": "Smooth Sandstone Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:smooth_stone", - "localizedName": "Smooth Stone", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:smooth_stone_slab", - "localizedName": "Smooth Stone Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:snow", - "localizedName": "Snow", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": true, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#ffffff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:snow_block", - "localizedName": "Snow Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#ffffff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:soul_sand", - "localizedName": "Soul Sand", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": true, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:spawner", - "localizedName": "Spawner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 5.0, - "resistance": 5.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:sponge", - "localizedName": "Sponge", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.6, - "resistance": 0.6, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#e5e533", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:spruce_button", - "localizedName": "Spruce Button", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:spruce_door", - "localizedName": "Spruce Door", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:spruce_fence", - "localizedName": "Spruce Fence", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:spruce_fence_gate", - "localizedName": "Spruce Fence Gate", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:spruce_leaves", - "localizedName": "Spruce Leaves", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": true, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:spruce_log", - "localizedName": "Spruce Log", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:spruce_planks", - "localizedName": "Spruce Planks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:spruce_pressure_plate", - "localizedName": "Spruce Pressure Plate", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:spruce_sapling", - "localizedName": "Spruce Sapling", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:spruce_sign", - "localizedName": "Spruce Sign", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:spruce_slab", - "localizedName": "Spruce Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:spruce_stairs", - "localizedName": "Spruce Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:spruce_trapdoor", - "localizedName": "Spruce Trapdoor", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.0, - "resistance": 3.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:spruce_wall_sign", - "localizedName": "Spruce Sign", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:spruce_wood", - "localizedName": "Spruce Wood", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:sticky_piston", - "localizedName": "Sticky Piston", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": true, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stone", - "localizedName": "Stone", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stone_brick_slab", - "localizedName": "Stone Brick Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stone_brick_stairs", - "localizedName": "Stone Brick Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stone_brick_wall", - "localizedName": "Stone Brick Wall", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stone_bricks", - "localizedName": "Stone Bricks", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stone_button", - "localizedName": "Stone Button", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stone_pressure_plate", - "localizedName": "Stone Pressure Plate", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stone_slab", - "localizedName": "Stone Slab", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stone_stairs", - "localizedName": "Stone Stairs", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stonecutter", - "localizedName": "Stonecutter", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 3.5, - "resistance": 3.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stripped_acacia_log", - "localizedName": "Stripped Acacia Log", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stripped_acacia_wood", - "localizedName": "Stripped Acacia Wood", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stripped_birch_log", - "localizedName": "Stripped Birch Log", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stripped_birch_wood", - "localizedName": "Stripped Birch Wood", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stripped_dark_oak_log", - "localizedName": "Stripped Dark Oak Log", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stripped_dark_oak_wood", - "localizedName": "Stripped Dark Oak Wood", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stripped_jungle_log", - "localizedName": "Stripped Jungle Log", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stripped_jungle_wood", - "localizedName": "Stripped Jungle Wood", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stripped_oak_log", - "localizedName": "Stripped Oak Log", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stripped_oak_wood", - "localizedName": "Stripped Oak Wood", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stripped_spruce_log", - "localizedName": "Stripped Spruce Log", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:stripped_spruce_wood", - "localizedName": "Stripped Spruce Wood", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:structure_block", - "localizedName": "Structure Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": -1.0, - "resistance": 3600000.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#a7a7a7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:structure_void", - "localizedName": "Structure Void", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:sugar_cane", - "localizedName": "Sugar Cane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:sunflower", - "localizedName": "Sunflower", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:sweet_berry_bush", - "localizedName": "Sweet Berry Bush", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:tall_grass", - "localizedName": "Tall Grass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:tall_seagrass", - "localizedName": "Tall Seagrass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:terracotta", - "localizedName": "Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:tnt", - "localizedName": "TNT", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#ff0000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:torch", - "localizedName": "Torch", - "material": { - "powerSource": false, - "lightValue": 14, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:trapped_chest", - "localizedName": "Trapped Chest", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 2.5, - "resistance": 2.5, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": true - } - }, - { - "id": "minecraft:tripwire", - "localizedName": "Tripwire", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:tripwire_hook", - "localizedName": "Tripwire Hook", - "material": { - "powerSource": true, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:tube_coral", - "localizedName": "Tube Coral", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:tube_coral_block", - "localizedName": "Tube Coral Block", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.5, - "resistance": 6.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:tube_coral_fan", - "localizedName": "Tube Coral Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:tube_coral_wall_fan", - "localizedName": "Tube Coral Wall Fan", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:turtle_egg", - "localizedName": "Turtle Egg", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:vine", - "localizedName": "Vines", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:void_air", - "localizedName": "Void Air", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:wall_torch", - "localizedName": "Torch", - "material": { - "powerSource": false, - "lightValue": 14, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:water", - "localizedName": "Water", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 100.0, - "resistance": 100.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": true, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": true, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#4040ff", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:wet_sponge", - "localizedName": "Wet Sponge", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.6, - "resistance": 0.6, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#e5e533", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:wheat", - "localizedName": "Wheat Crops", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": true, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:white_banner", - "localizedName": "White Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:white_bed", - "localizedName": "White Bed", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:white_carpet", - "localizedName": "White Carpet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:white_concrete", - "localizedName": "White Concrete", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.8, - "resistance": 1.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:white_concrete_powder", - "localizedName": "White Concrete Powder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:white_glazed_terracotta", - "localizedName": "White Glazed Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.4, - "resistance": 1.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:white_shulker_box", - "localizedName": "White Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:white_stained_glass", - "localizedName": "White Stained Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:white_stained_glass_pane", - "localizedName": "White Stained Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:white_terracotta", - "localizedName": "White Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:white_tulip", - "localizedName": "White Tulip", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:white_wall_banner", - "localizedName": "White Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:white_wool", - "localizedName": "White Wool", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:wither_rose", - "localizedName": "Wither Rose", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.0, - "resistance": 0.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#007c00", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:wither_skeleton_skull", - "localizedName": "Wither Skeleton Skull", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:wither_skeleton_wall_skull", - "localizedName": "Wither Skeleton Skull", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:yellow_banner", - "localizedName": "Yellow Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:yellow_bed", - "localizedName": "Yellow Bed", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.2, - "resistance": 0.2, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:yellow_carpet", - "localizedName": "Yellow Carpet", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.1, - "resistance": 0.1, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": true, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:yellow_concrete", - "localizedName": "Yellow Concrete", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.8, - "resistance": 1.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:yellow_concrete_powder", - "localizedName": "Yellow Concrete Powder", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.5, - "resistance": 0.5, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#f7e9a3", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:yellow_glazed_terracotta", - "localizedName": "Yellow Glazed Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.4, - "resistance": 1.4, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:yellow_shulker_box", - "localizedName": "Yellow Shulker Box", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 2.0, - "resistance": 2.0, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#7f3fb2", - "isTranslucent": true, - "hasContainer": true - } - }, - { - "id": "minecraft:yellow_stained_glass", - "localizedName": "Yellow Stained Glass", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:yellow_stained_glass_pane", - "localizedName": "Yellow Stained Glass Pane", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.3, - "resistance": 0.3, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:yellow_terracotta", - "localizedName": "Yellow Terracotta", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.25, - "resistance": 4.2, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": false, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": true, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#707070", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:yellow_wall_banner", - "localizedName": "Yellow Banner", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#8f7748", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:yellow_wool", - "localizedName": "Yellow Wool", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 0.8, - "resistance": 0.8, - "ticksRandomly": false, - "fullCube": true, - "slipperiness": 0.6, - "liquid": false, - "solid": true, - "movementBlocker": true, - "burnable": true, - "opaque": true, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": false, - "unpushable": false, - "mapColor": "#c7c7c7", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:zombie_head", - "localizedName": "Zombie Head", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - }, - { - "id": "minecraft:zombie_wall_head", - "localizedName": "Zombie Head", - "material": { - "powerSource": false, - "lightValue": 0, - "hardness": 1.0, - "resistance": 1.0, - "ticksRandomly": false, - "fullCube": false, - "slipperiness": 0.6, - "liquid": false, - "solid": false, - "movementBlocker": false, - "burnable": false, - "opaque": false, - "replacedDuringPlacement": false, - "toolRequired": false, - "fragileWhenPushed": true, - "unpushable": false, - "mapColor": "#000000", - "isTranslucent": false, - "hasContainer": false - } - } -] \ No newline at end of file diff --git a/worldedit-core/src/main/resources/com/sk89q/worldedit/world/registry/items.114.json b/worldedit-core/src/main/resources/com/sk89q/worldedit/world/registry/items.114.json deleted file mode 100644 index f139d1082..000000000 --- a/worldedit-core/src/main/resources/com/sk89q/worldedit/world/registry/items.114.json +++ /dev/null @@ -1,6141 +0,0 @@ -[ - { - "id": "minecraft:acacia_boat", - "unlocalizedName": "item.minecraft.acacia_boat", - "localizedName": "Acacia Boat", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:acacia_button", - "unlocalizedName": "block.minecraft.acacia_button", - "localizedName": "Acacia Button", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:acacia_door", - "unlocalizedName": "block.minecraft.acacia_door", - "localizedName": "Acacia Door", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:acacia_fence", - "unlocalizedName": "block.minecraft.acacia_fence", - "localizedName": "Acacia Fence", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:acacia_fence_gate", - "unlocalizedName": "block.minecraft.acacia_fence_gate", - "localizedName": "Acacia Fence Gate", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:acacia_leaves", - "unlocalizedName": "block.minecraft.acacia_leaves", - "localizedName": "Acacia Leaves", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:acacia_log", - "unlocalizedName": "block.minecraft.acacia_log", - "localizedName": "Acacia Log", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:acacia_planks", - "unlocalizedName": "block.minecraft.acacia_planks", - "localizedName": "Acacia Planks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:acacia_pressure_plate", - "unlocalizedName": "block.minecraft.acacia_pressure_plate", - "localizedName": "Acacia Pressure Plate", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:acacia_sapling", - "unlocalizedName": "block.minecraft.acacia_sapling", - "localizedName": "Acacia Sapling", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:acacia_sign", - "unlocalizedName": "block.minecraft.acacia_sign", - "localizedName": "Acacia Sign", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:acacia_slab", - "unlocalizedName": "block.minecraft.acacia_slab", - "localizedName": "Acacia Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:acacia_stairs", - "unlocalizedName": "block.minecraft.acacia_stairs", - "localizedName": "Acacia Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:acacia_trapdoor", - "unlocalizedName": "block.minecraft.acacia_trapdoor", - "localizedName": "Acacia Trapdoor", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:acacia_wood", - "unlocalizedName": "block.minecraft.acacia_wood", - "localizedName": "Acacia Wood", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:activator_rail", - "unlocalizedName": "block.minecraft.activator_rail", - "localizedName": "Activator Rail", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:air", - "unlocalizedName": "block.minecraft.air", - "localizedName": "Air", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:allium", - "unlocalizedName": "block.minecraft.allium", - "localizedName": "Allium", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:andesite", - "unlocalizedName": "block.minecraft.andesite", - "localizedName": "Andesite", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:andesite_slab", - "unlocalizedName": "block.minecraft.andesite_slab", - "localizedName": "Andesite Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:andesite_stairs", - "unlocalizedName": "block.minecraft.andesite_stairs", - "localizedName": "Andesite Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:andesite_wall", - "unlocalizedName": "block.minecraft.andesite_wall", - "localizedName": "Andesite Wall", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:anvil", - "unlocalizedName": "block.minecraft.anvil", - "localizedName": "Anvil", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:apple", - "unlocalizedName": "item.minecraft.apple", - "localizedName": "Apple", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:armor_stand", - "unlocalizedName": "item.minecraft.armor_stand", - "localizedName": "Armor Stand", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:arrow", - "unlocalizedName": "item.minecraft.arrow", - "localizedName": "Arrow", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:azure_bluet", - "unlocalizedName": "block.minecraft.azure_bluet", - "localizedName": "Azure Bluet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:baked_potato", - "unlocalizedName": "item.minecraft.baked_potato", - "localizedName": "Baked Potato", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:bamboo", - "unlocalizedName": "block.minecraft.bamboo", - "localizedName": "Bamboo", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:barrel", - "unlocalizedName": "block.minecraft.barrel", - "localizedName": "Barrel", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:barrier", - "unlocalizedName": "block.minecraft.barrier", - "localizedName": "Barrier", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:bat_spawn_egg", - "unlocalizedName": "item.minecraft.bat_spawn_egg", - "localizedName": "Bat Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:beacon", - "unlocalizedName": "block.minecraft.beacon", - "localizedName": "Beacon", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:bedrock", - "unlocalizedName": "block.minecraft.bedrock", - "localizedName": "Bedrock", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:beef", - "unlocalizedName": "item.minecraft.beef", - "localizedName": "Raw Beef", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:beetroot", - "unlocalizedName": "item.minecraft.beetroot", - "localizedName": "Beetroot", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:beetroot_seeds", - "unlocalizedName": "item.minecraft.beetroot_seeds", - "localizedName": "Beetroot Seeds", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:beetroot_soup", - "unlocalizedName": "item.minecraft.beetroot_soup", - "localizedName": "Beetroot Soup", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:bell", - "unlocalizedName": "block.minecraft.bell", - "localizedName": "Bell", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:birch_boat", - "unlocalizedName": "item.minecraft.birch_boat", - "localizedName": "Birch Boat", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:birch_button", - "unlocalizedName": "block.minecraft.birch_button", - "localizedName": "Birch Button", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:birch_door", - "unlocalizedName": "block.minecraft.birch_door", - "localizedName": "Birch Door", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:birch_fence", - "unlocalizedName": "block.minecraft.birch_fence", - "localizedName": "Birch Fence", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:birch_fence_gate", - "unlocalizedName": "block.minecraft.birch_fence_gate", - "localizedName": "Birch Fence Gate", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:birch_leaves", - "unlocalizedName": "block.minecraft.birch_leaves", - "localizedName": "Birch Leaves", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:birch_log", - "unlocalizedName": "block.minecraft.birch_log", - "localizedName": "Birch Log", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:birch_planks", - "unlocalizedName": "block.minecraft.birch_planks", - "localizedName": "Birch Planks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:birch_pressure_plate", - "unlocalizedName": "block.minecraft.birch_pressure_plate", - "localizedName": "Birch Pressure Plate", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:birch_sapling", - "unlocalizedName": "block.minecraft.birch_sapling", - "localizedName": "Birch Sapling", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:birch_sign", - "unlocalizedName": "block.minecraft.birch_sign", - "localizedName": "Birch Sign", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:birch_slab", - "unlocalizedName": "block.minecraft.birch_slab", - "localizedName": "Birch Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:birch_stairs", - "unlocalizedName": "block.minecraft.birch_stairs", - "localizedName": "Birch Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:birch_trapdoor", - "unlocalizedName": "block.minecraft.birch_trapdoor", - "localizedName": "Birch Trapdoor", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:birch_wood", - "unlocalizedName": "block.minecraft.birch_wood", - "localizedName": "Birch Wood", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:black_banner", - "unlocalizedName": "block.minecraft.black_banner", - "localizedName": "Black Banner", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:black_bed", - "unlocalizedName": "block.minecraft.black_bed", - "localizedName": "Black Bed", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:black_carpet", - "unlocalizedName": "block.minecraft.black_carpet", - "localizedName": "Black Carpet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:black_concrete", - "unlocalizedName": "block.minecraft.black_concrete", - "localizedName": "Black Concrete", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:black_concrete_powder", - "unlocalizedName": "block.minecraft.black_concrete_powder", - "localizedName": "Black Concrete Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:black_dye", - "unlocalizedName": "item.minecraft.black_dye", - "localizedName": "Black Dye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:black_glazed_terracotta", - "unlocalizedName": "block.minecraft.black_glazed_terracotta", - "localizedName": "Black Glazed Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:black_shulker_box", - "unlocalizedName": "block.minecraft.black_shulker_box", - "localizedName": "Black Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:black_stained_glass", - "unlocalizedName": "block.minecraft.black_stained_glass", - "localizedName": "Black Stained Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:black_stained_glass_pane", - "unlocalizedName": "block.minecraft.black_stained_glass_pane", - "localizedName": "Black Stained Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:black_terracotta", - "unlocalizedName": "block.minecraft.black_terracotta", - "localizedName": "Black Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:black_wool", - "unlocalizedName": "block.minecraft.black_wool", - "localizedName": "Black Wool", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:blast_furnace", - "unlocalizedName": "block.minecraft.blast_furnace", - "localizedName": "Blast Furnace", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:blaze_powder", - "unlocalizedName": "item.minecraft.blaze_powder", - "localizedName": "Blaze Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:blaze_rod", - "unlocalizedName": "item.minecraft.blaze_rod", - "localizedName": "Blaze Rod", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:blaze_spawn_egg", - "unlocalizedName": "item.minecraft.blaze_spawn_egg", - "localizedName": "Blaze Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:blue_banner", - "unlocalizedName": "block.minecraft.blue_banner", - "localizedName": "Blue Banner", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:blue_bed", - "unlocalizedName": "block.minecraft.blue_bed", - "localizedName": "Blue Bed", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:blue_carpet", - "unlocalizedName": "block.minecraft.blue_carpet", - "localizedName": "Blue Carpet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:blue_concrete", - "unlocalizedName": "block.minecraft.blue_concrete", - "localizedName": "Blue Concrete", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:blue_concrete_powder", - "unlocalizedName": "block.minecraft.blue_concrete_powder", - "localizedName": "Blue Concrete Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:blue_dye", - "unlocalizedName": "item.minecraft.blue_dye", - "localizedName": "Blue Dye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:blue_glazed_terracotta", - "unlocalizedName": "block.minecraft.blue_glazed_terracotta", - "localizedName": "Blue Glazed Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:blue_ice", - "unlocalizedName": "block.minecraft.blue_ice", - "localizedName": "Blue Ice", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:blue_orchid", - "unlocalizedName": "block.minecraft.blue_orchid", - "localizedName": "Blue Orchid", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:blue_shulker_box", - "unlocalizedName": "block.minecraft.blue_shulker_box", - "localizedName": "Blue Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:blue_stained_glass", - "unlocalizedName": "block.minecraft.blue_stained_glass", - "localizedName": "Blue Stained Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:blue_stained_glass_pane", - "unlocalizedName": "block.minecraft.blue_stained_glass_pane", - "localizedName": "Blue Stained Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:blue_terracotta", - "unlocalizedName": "block.minecraft.blue_terracotta", - "localizedName": "Blue Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:blue_wool", - "unlocalizedName": "block.minecraft.blue_wool", - "localizedName": "Blue Wool", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:bone", - "unlocalizedName": "item.minecraft.bone", - "localizedName": "Bone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:bone_block", - "unlocalizedName": "block.minecraft.bone_block", - "localizedName": "Bone Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:bone_meal", - "unlocalizedName": "item.minecraft.bone_meal", - "localizedName": "Bone Meal", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:book", - "unlocalizedName": "item.minecraft.book", - "localizedName": "Book", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:bookshelf", - "unlocalizedName": "block.minecraft.bookshelf", - "localizedName": "Bookshelf", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:bow", - "unlocalizedName": "item.minecraft.bow", - "localizedName": "Bow", - "maxStackSize": 1, - "maxDamage": 384 - }, - { - "id": "minecraft:bowl", - "unlocalizedName": "item.minecraft.bowl", - "localizedName": "Bowl", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brain_coral", - "unlocalizedName": "block.minecraft.brain_coral", - "localizedName": "Brain Coral", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brain_coral_block", - "unlocalizedName": "block.minecraft.brain_coral_block", - "localizedName": "Brain Coral Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brain_coral_fan", - "unlocalizedName": "block.minecraft.brain_coral_fan", - "localizedName": "Brain Coral Fan", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:bread", - "unlocalizedName": "item.minecraft.bread", - "localizedName": "Bread", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brewing_stand", - "unlocalizedName": "block.minecraft.brewing_stand", - "localizedName": "Brewing Stand", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brick", - "unlocalizedName": "item.minecraft.brick", - "localizedName": "Brick", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brick_slab", - "unlocalizedName": "block.minecraft.brick_slab", - "localizedName": "Brick Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brick_stairs", - "unlocalizedName": "block.minecraft.brick_stairs", - "localizedName": "Brick Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brick_wall", - "unlocalizedName": "block.minecraft.brick_wall", - "localizedName": "Brick Wall", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:bricks", - "unlocalizedName": "block.minecraft.bricks", - "localizedName": "Bricks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brown_banner", - "unlocalizedName": "block.minecraft.brown_banner", - "localizedName": "Brown Banner", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:brown_bed", - "unlocalizedName": "block.minecraft.brown_bed", - "localizedName": "Brown Bed", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:brown_carpet", - "unlocalizedName": "block.minecraft.brown_carpet", - "localizedName": "Brown Carpet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brown_concrete", - "unlocalizedName": "block.minecraft.brown_concrete", - "localizedName": "Brown Concrete", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brown_concrete_powder", - "unlocalizedName": "block.minecraft.brown_concrete_powder", - "localizedName": "Brown Concrete Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brown_dye", - "unlocalizedName": "item.minecraft.brown_dye", - "localizedName": "Brown Dye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brown_glazed_terracotta", - "unlocalizedName": "block.minecraft.brown_glazed_terracotta", - "localizedName": "Brown Glazed Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brown_mushroom", - "unlocalizedName": "block.minecraft.brown_mushroom", - "localizedName": "Brown Mushroom", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brown_mushroom_block", - "unlocalizedName": "block.minecraft.brown_mushroom_block", - "localizedName": "Brown Mushroom Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brown_shulker_box", - "unlocalizedName": "block.minecraft.brown_shulker_box", - "localizedName": "Brown Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:brown_stained_glass", - "unlocalizedName": "block.minecraft.brown_stained_glass", - "localizedName": "Brown Stained Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brown_stained_glass_pane", - "unlocalizedName": "block.minecraft.brown_stained_glass_pane", - "localizedName": "Brown Stained Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brown_terracotta", - "unlocalizedName": "block.minecraft.brown_terracotta", - "localizedName": "Brown Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:brown_wool", - "unlocalizedName": "block.minecraft.brown_wool", - "localizedName": "Brown Wool", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:bubble_coral", - "unlocalizedName": "block.minecraft.bubble_coral", - "localizedName": "Bubble Coral", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:bubble_coral_block", - "unlocalizedName": "block.minecraft.bubble_coral_block", - "localizedName": "Bubble Coral Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:bubble_coral_fan", - "unlocalizedName": "block.minecraft.bubble_coral_fan", - "localizedName": "Bubble Coral Fan", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:bucket", - "unlocalizedName": "item.minecraft.bucket", - "localizedName": "Bucket", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:cactus", - "unlocalizedName": "block.minecraft.cactus", - "localizedName": "Cactus", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cake", - "unlocalizedName": "block.minecraft.cake", - "localizedName": "Cake", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:campfire", - "unlocalizedName": "block.minecraft.campfire", - "localizedName": "Campfire", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:carrot", - "unlocalizedName": "item.minecraft.carrot", - "localizedName": "Carrot", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:carrot_on_a_stick", - "unlocalizedName": "item.minecraft.carrot_on_a_stick", - "localizedName": "Carrot on a Stick", - "maxStackSize": 1, - "maxDamage": 25 - }, - { - "id": "minecraft:cartography_table", - "unlocalizedName": "block.minecraft.cartography_table", - "localizedName": "Cartography Table", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:carved_pumpkin", - "unlocalizedName": "block.minecraft.carved_pumpkin", - "localizedName": "Carved Pumpkin", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cat_spawn_egg", - "unlocalizedName": "item.minecraft.cat_spawn_egg", - "localizedName": "Cat Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cauldron", - "unlocalizedName": "block.minecraft.cauldron", - "localizedName": "Cauldron", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cave_spider_spawn_egg", - "unlocalizedName": "item.minecraft.cave_spider_spawn_egg", - "localizedName": "Cave Spider Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:chain_command_block", - "unlocalizedName": "block.minecraft.chain_command_block", - "localizedName": "Chain Command Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:chainmail_boots", - "unlocalizedName": "item.minecraft.chainmail_boots", - "localizedName": "Chainmail Boots", - "maxStackSize": 1, - "maxDamage": 195 - }, - { - "id": "minecraft:chainmail_chestplate", - "unlocalizedName": "item.minecraft.chainmail_chestplate", - "localizedName": "Chainmail Chestplate", - "maxStackSize": 1, - "maxDamage": 240 - }, - { - "id": "minecraft:chainmail_helmet", - "unlocalizedName": "item.minecraft.chainmail_helmet", - "localizedName": "Chainmail Helmet", - "maxStackSize": 1, - "maxDamage": 165 - }, - { - "id": "minecraft:chainmail_leggings", - "unlocalizedName": "item.minecraft.chainmail_leggings", - "localizedName": "Chainmail Leggings", - "maxStackSize": 1, - "maxDamage": 225 - }, - { - "id": "minecraft:charcoal", - "unlocalizedName": "item.minecraft.charcoal", - "localizedName": "Charcoal", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:chest", - "unlocalizedName": "block.minecraft.chest", - "localizedName": "Chest", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:chest_minecart", - "unlocalizedName": "item.minecraft.chest_minecart", - "localizedName": "Minecart with Chest", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:chicken", - "unlocalizedName": "item.minecraft.chicken", - "localizedName": "Raw Chicken", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:chicken_spawn_egg", - "unlocalizedName": "item.minecraft.chicken_spawn_egg", - "localizedName": "Chicken Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:chipped_anvil", - "unlocalizedName": "block.minecraft.chipped_anvil", - "localizedName": "Chipped Anvil", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:chiseled_quartz_block", - "unlocalizedName": "block.minecraft.chiseled_quartz_block", - "localizedName": "Chiseled Quartz Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:chiseled_red_sandstone", - "unlocalizedName": "block.minecraft.chiseled_red_sandstone", - "localizedName": "Chiseled Red Sandstone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:chiseled_sandstone", - "unlocalizedName": "block.minecraft.chiseled_sandstone", - "localizedName": "Chiseled Sandstone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:chiseled_stone_bricks", - "unlocalizedName": "block.minecraft.chiseled_stone_bricks", - "localizedName": "Chiseled Stone Bricks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:chorus_flower", - "unlocalizedName": "block.minecraft.chorus_flower", - "localizedName": "Chorus Flower", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:chorus_fruit", - "unlocalizedName": "item.minecraft.chorus_fruit", - "localizedName": "Chorus Fruit", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:chorus_plant", - "unlocalizedName": "block.minecraft.chorus_plant", - "localizedName": "Chorus Plant", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:clay", - "unlocalizedName": "block.minecraft.clay", - "localizedName": "Clay", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:clay_ball", - "unlocalizedName": "item.minecraft.clay_ball", - "localizedName": "Clay", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:clock", - "unlocalizedName": "item.minecraft.clock", - "localizedName": "Clock", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:coal", - "unlocalizedName": "item.minecraft.coal", - "localizedName": "Coal", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:coal_block", - "unlocalizedName": "block.minecraft.coal_block", - "localizedName": "Block of Coal", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:coal_ore", - "unlocalizedName": "block.minecraft.coal_ore", - "localizedName": "Coal Ore", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:coarse_dirt", - "unlocalizedName": "block.minecraft.coarse_dirt", - "localizedName": "Coarse Dirt", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cobblestone", - "unlocalizedName": "block.minecraft.cobblestone", - "localizedName": "Cobblestone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cobblestone_slab", - "unlocalizedName": "block.minecraft.cobblestone_slab", - "localizedName": "Cobblestone Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cobblestone_stairs", - "unlocalizedName": "block.minecraft.cobblestone_stairs", - "localizedName": "Cobblestone Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cobblestone_wall", - "unlocalizedName": "block.minecraft.cobblestone_wall", - "localizedName": "Cobblestone Wall", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cobweb", - "unlocalizedName": "block.minecraft.cobweb", - "localizedName": "Cobweb", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cocoa_beans", - "unlocalizedName": "item.minecraft.cocoa_beans", - "localizedName": "Cocoa Beans", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cod", - "unlocalizedName": "item.minecraft.cod", - "localizedName": "Raw Cod", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cod_bucket", - "unlocalizedName": "item.minecraft.cod_bucket", - "localizedName": "Bucket of Cod", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:cod_spawn_egg", - "unlocalizedName": "item.minecraft.cod_spawn_egg", - "localizedName": "Cod Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:command_block", - "unlocalizedName": "block.minecraft.command_block", - "localizedName": "Command Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:command_block_minecart", - "unlocalizedName": "item.minecraft.command_block_minecart", - "localizedName": "Minecart with Command Block", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:comparator", - "unlocalizedName": "block.minecraft.comparator", - "localizedName": "Redstone Comparator", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:compass", - "unlocalizedName": "item.minecraft.compass", - "localizedName": "Compass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:composter", - "unlocalizedName": "block.minecraft.composter", - "localizedName": "Composter", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:conduit", - "unlocalizedName": "block.minecraft.conduit", - "localizedName": "Conduit", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cooked_beef", - "unlocalizedName": "item.minecraft.cooked_beef", - "localizedName": "Steak", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cooked_chicken", - "unlocalizedName": "item.minecraft.cooked_chicken", - "localizedName": "Cooked Chicken", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cooked_cod", - "unlocalizedName": "item.minecraft.cooked_cod", - "localizedName": "Cooked Cod", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cooked_mutton", - "unlocalizedName": "item.minecraft.cooked_mutton", - "localizedName": "Cooked Mutton", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cooked_porkchop", - "unlocalizedName": "item.minecraft.cooked_porkchop", - "localizedName": "Cooked Porkchop", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cooked_rabbit", - "unlocalizedName": "item.minecraft.cooked_rabbit", - "localizedName": "Cooked Rabbit", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cooked_salmon", - "unlocalizedName": "item.minecraft.cooked_salmon", - "localizedName": "Cooked Salmon", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cookie", - "unlocalizedName": "item.minecraft.cookie", - "localizedName": "Cookie", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cornflower", - "unlocalizedName": "block.minecraft.cornflower", - "localizedName": "Cornflower", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cow_spawn_egg", - "unlocalizedName": "item.minecraft.cow_spawn_egg", - "localizedName": "Cow Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cracked_stone_bricks", - "unlocalizedName": "block.minecraft.cracked_stone_bricks", - "localizedName": "Cracked Stone Bricks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:crafting_table", - "unlocalizedName": "block.minecraft.crafting_table", - "localizedName": "Crafting Table", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:creeper_banner_pattern", - "unlocalizedName": "item.minecraft.creeper_banner_pattern", - "localizedName": "Banner Pattern", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:creeper_head", - "unlocalizedName": "block.minecraft.creeper_head", - "localizedName": "Creeper Head", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:creeper_spawn_egg", - "unlocalizedName": "item.minecraft.creeper_spawn_egg", - "localizedName": "Creeper Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:crossbow", - "unlocalizedName": "item.minecraft.crossbow", - "localizedName": "Crossbow", - "maxStackSize": 1, - "maxDamage": 326 - }, - { - "id": "minecraft:cut_red_sandstone", - "unlocalizedName": "block.minecraft.cut_red_sandstone", - "localizedName": "Cut Red Sandstone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cut_red_sandstone_slab", - "unlocalizedName": "block.minecraft.cut_red_sandstone_slab", - "localizedName": "Cut Red Sandstone Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cut_sandstone", - "unlocalizedName": "block.minecraft.cut_sandstone", - "localizedName": "Cut Sandstone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cut_sandstone_slab", - "unlocalizedName": "block.minecraft.cut_sandstone_slab", - "localizedName": "Cut Sandstone Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cyan_banner", - "unlocalizedName": "block.minecraft.cyan_banner", - "localizedName": "Cyan Banner", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:cyan_bed", - "unlocalizedName": "block.minecraft.cyan_bed", - "localizedName": "Cyan Bed", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:cyan_carpet", - "unlocalizedName": "block.minecraft.cyan_carpet", - "localizedName": "Cyan Carpet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cyan_concrete", - "unlocalizedName": "block.minecraft.cyan_concrete", - "localizedName": "Cyan Concrete", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cyan_concrete_powder", - "unlocalizedName": "block.minecraft.cyan_concrete_powder", - "localizedName": "Cyan Concrete Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cyan_dye", - "unlocalizedName": "item.minecraft.cyan_dye", - "localizedName": "Cyan Dye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cyan_glazed_terracotta", - "unlocalizedName": "block.minecraft.cyan_glazed_terracotta", - "localizedName": "Cyan Glazed Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cyan_shulker_box", - "unlocalizedName": "block.minecraft.cyan_shulker_box", - "localizedName": "Cyan Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:cyan_stained_glass", - "unlocalizedName": "block.minecraft.cyan_stained_glass", - "localizedName": "Cyan Stained Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cyan_stained_glass_pane", - "unlocalizedName": "block.minecraft.cyan_stained_glass_pane", - "localizedName": "Cyan Stained Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cyan_terracotta", - "unlocalizedName": "block.minecraft.cyan_terracotta", - "localizedName": "Cyan Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:cyan_wool", - "unlocalizedName": "block.minecraft.cyan_wool", - "localizedName": "Cyan Wool", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:damaged_anvil", - "unlocalizedName": "block.minecraft.damaged_anvil", - "localizedName": "Damaged Anvil", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dandelion", - "unlocalizedName": "block.minecraft.dandelion", - "localizedName": "Dandelion", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_oak_boat", - "unlocalizedName": "item.minecraft.dark_oak_boat", - "localizedName": "Dark Oak Boat", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_oak_button", - "unlocalizedName": "block.minecraft.dark_oak_button", - "localizedName": "Dark Oak Button", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_oak_door", - "unlocalizedName": "block.minecraft.dark_oak_door", - "localizedName": "Dark Oak Door", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_oak_fence", - "unlocalizedName": "block.minecraft.dark_oak_fence", - "localizedName": "Dark Oak Fence", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_oak_fence_gate", - "unlocalizedName": "block.minecraft.dark_oak_fence_gate", - "localizedName": "Dark Oak Fence Gate", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_oak_leaves", - "unlocalizedName": "block.minecraft.dark_oak_leaves", - "localizedName": "Dark Oak Leaves", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_oak_log", - "unlocalizedName": "block.minecraft.dark_oak_log", - "localizedName": "Dark Oak Log", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_oak_planks", - "unlocalizedName": "block.minecraft.dark_oak_planks", - "localizedName": "Dark Oak Planks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_oak_pressure_plate", - "unlocalizedName": "block.minecraft.dark_oak_pressure_plate", - "localizedName": "Dark Oak Pressure Plate", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_oak_sapling", - "unlocalizedName": "block.minecraft.dark_oak_sapling", - "localizedName": "Dark Oak Sapling", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_oak_sign", - "unlocalizedName": "block.minecraft.dark_oak_sign", - "localizedName": "Dark Oak Sign", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_oak_slab", - "unlocalizedName": "block.minecraft.dark_oak_slab", - "localizedName": "Dark Oak Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_oak_stairs", - "unlocalizedName": "block.minecraft.dark_oak_stairs", - "localizedName": "Dark Oak Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_oak_trapdoor", - "unlocalizedName": "block.minecraft.dark_oak_trapdoor", - "localizedName": "Dark Oak Trapdoor", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_oak_wood", - "unlocalizedName": "block.minecraft.dark_oak_wood", - "localizedName": "Dark Oak Wood", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_prismarine", - "unlocalizedName": "block.minecraft.dark_prismarine", - "localizedName": "Dark Prismarine", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_prismarine_slab", - "unlocalizedName": "block.minecraft.dark_prismarine_slab", - "localizedName": "Dark Prismarine Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dark_prismarine_stairs", - "unlocalizedName": "block.minecraft.dark_prismarine_stairs", - "localizedName": "Dark Prismarine Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:daylight_detector", - "unlocalizedName": "block.minecraft.daylight_detector", - "localizedName": "Daylight Detector", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dead_brain_coral", - "unlocalizedName": "block.minecraft.dead_brain_coral", - "localizedName": "Dead Brain Coral", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dead_brain_coral_block", - "unlocalizedName": "block.minecraft.dead_brain_coral_block", - "localizedName": "Dead Brain Coral Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dead_brain_coral_fan", - "unlocalizedName": "block.minecraft.dead_brain_coral_fan", - "localizedName": "Dead Brain Coral Fan", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dead_bubble_coral", - "unlocalizedName": "block.minecraft.dead_bubble_coral", - "localizedName": "Dead Bubble Coral", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dead_bubble_coral_block", - "unlocalizedName": "block.minecraft.dead_bubble_coral_block", - "localizedName": "Dead Bubble Coral Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dead_bubble_coral_fan", - "unlocalizedName": "block.minecraft.dead_bubble_coral_fan", - "localizedName": "Dead Bubble Coral Fan", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dead_bush", - "unlocalizedName": "block.minecraft.dead_bush", - "localizedName": "Dead Bush", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dead_fire_coral", - "unlocalizedName": "block.minecraft.dead_fire_coral", - "localizedName": "Dead Fire Coral", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dead_fire_coral_block", - "unlocalizedName": "block.minecraft.dead_fire_coral_block", - "localizedName": "Dead Fire Coral Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dead_fire_coral_fan", - "unlocalizedName": "block.minecraft.dead_fire_coral_fan", - "localizedName": "Dead Fire Coral Fan", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dead_horn_coral", - "unlocalizedName": "block.minecraft.dead_horn_coral", - "localizedName": "Dead Horn Coral", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dead_horn_coral_block", - "unlocalizedName": "block.minecraft.dead_horn_coral_block", - "localizedName": "Dead Horn Coral Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dead_horn_coral_fan", - "unlocalizedName": "block.minecraft.dead_horn_coral_fan", - "localizedName": "Dead Horn Coral Fan", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dead_tube_coral", - "unlocalizedName": "block.minecraft.dead_tube_coral", - "localizedName": "Dead Tube Coral", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dead_tube_coral_block", - "unlocalizedName": "block.minecraft.dead_tube_coral_block", - "localizedName": "Dead Tube Coral Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dead_tube_coral_fan", - "unlocalizedName": "block.minecraft.dead_tube_coral_fan", - "localizedName": "Dead Tube Coral Fan", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:debug_stick", - "unlocalizedName": "item.minecraft.debug_stick", - "localizedName": "Debug Stick", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:detector_rail", - "unlocalizedName": "block.minecraft.detector_rail", - "localizedName": "Detector Rail", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:diamond", - "unlocalizedName": "item.minecraft.diamond", - "localizedName": "Diamond", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:diamond_axe", - "unlocalizedName": "item.minecraft.diamond_axe", - "localizedName": "Diamond Axe", - "maxStackSize": 1, - "maxDamage": 1561 - }, - { - "id": "minecraft:diamond_block", - "unlocalizedName": "block.minecraft.diamond_block", - "localizedName": "Block of Diamond", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:diamond_boots", - "unlocalizedName": "item.minecraft.diamond_boots", - "localizedName": "Diamond Boots", - "maxStackSize": 1, - "maxDamage": 429 - }, - { - "id": "minecraft:diamond_chestplate", - "unlocalizedName": "item.minecraft.diamond_chestplate", - "localizedName": "Diamond Chestplate", - "maxStackSize": 1, - "maxDamage": 528 - }, - { - "id": "minecraft:diamond_helmet", - "unlocalizedName": "item.minecraft.diamond_helmet", - "localizedName": "Diamond Helmet", - "maxStackSize": 1, - "maxDamage": 363 - }, - { - "id": "minecraft:diamond_hoe", - "unlocalizedName": "item.minecraft.diamond_hoe", - "localizedName": "Diamond Hoe", - "maxStackSize": 1, - "maxDamage": 1561 - }, - { - "id": "minecraft:diamond_horse_armor", - "unlocalizedName": "item.minecraft.diamond_horse_armor", - "localizedName": "Diamond Horse Armor", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:diamond_leggings", - "unlocalizedName": "item.minecraft.diamond_leggings", - "localizedName": "Diamond Leggings", - "maxStackSize": 1, - "maxDamage": 495 - }, - { - "id": "minecraft:diamond_ore", - "unlocalizedName": "block.minecraft.diamond_ore", - "localizedName": "Diamond Ore", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:diamond_pickaxe", - "unlocalizedName": "item.minecraft.diamond_pickaxe", - "localizedName": "Diamond Pickaxe", - "maxStackSize": 1, - "maxDamage": 1561 - }, - { - "id": "minecraft:diamond_shovel", - "unlocalizedName": "item.minecraft.diamond_shovel", - "localizedName": "Diamond Shovel", - "maxStackSize": 1, - "maxDamage": 1561 - }, - { - "id": "minecraft:diamond_sword", - "unlocalizedName": "item.minecraft.diamond_sword", - "localizedName": "Diamond Sword", - "maxStackSize": 1, - "maxDamage": 1561 - }, - { - "id": "minecraft:diorite", - "unlocalizedName": "block.minecraft.diorite", - "localizedName": "Diorite", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:diorite_slab", - "unlocalizedName": "block.minecraft.diorite_slab", - "localizedName": "Diorite Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:diorite_stairs", - "unlocalizedName": "block.minecraft.diorite_stairs", - "localizedName": "Diorite Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:diorite_wall", - "unlocalizedName": "block.minecraft.diorite_wall", - "localizedName": "Diorite Wall", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dirt", - "unlocalizedName": "block.minecraft.dirt", - "localizedName": "Dirt", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dispenser", - "unlocalizedName": "block.minecraft.dispenser", - "localizedName": "Dispenser", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dolphin_spawn_egg", - "unlocalizedName": "item.minecraft.dolphin_spawn_egg", - "localizedName": "Dolphin Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:donkey_spawn_egg", - "unlocalizedName": "item.minecraft.donkey_spawn_egg", - "localizedName": "Donkey Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dragon_breath", - "unlocalizedName": "item.minecraft.dragon_breath", - "localizedName": "Dragon\u0027s Breath", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dragon_egg", - "unlocalizedName": "block.minecraft.dragon_egg", - "localizedName": "Dragon Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dragon_head", - "unlocalizedName": "block.minecraft.dragon_head", - "localizedName": "Dragon Head", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dried_kelp", - "unlocalizedName": "item.minecraft.dried_kelp", - "localizedName": "Dried Kelp", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dried_kelp_block", - "unlocalizedName": "block.minecraft.dried_kelp_block", - "localizedName": "Dried Kelp Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:dropper", - "unlocalizedName": "block.minecraft.dropper", - "localizedName": "Dropper", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:drowned_spawn_egg", - "unlocalizedName": "item.minecraft.drowned_spawn_egg", - "localizedName": "Drowned Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:egg", - "unlocalizedName": "item.minecraft.egg", - "localizedName": "Egg", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:elder_guardian_spawn_egg", - "unlocalizedName": "item.minecraft.elder_guardian_spawn_egg", - "localizedName": "Elder Guardian Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:elytra", - "unlocalizedName": "item.minecraft.elytra", - "localizedName": "Elytra", - "maxStackSize": 1, - "maxDamage": 432 - }, - { - "id": "minecraft:emerald", - "unlocalizedName": "item.minecraft.emerald", - "localizedName": "Emerald", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:emerald_block", - "unlocalizedName": "block.minecraft.emerald_block", - "localizedName": "Block of Emerald", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:emerald_ore", - "unlocalizedName": "block.minecraft.emerald_ore", - "localizedName": "Emerald Ore", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:enchanted_book", - "unlocalizedName": "item.minecraft.enchanted_book", - "localizedName": "Enchanted Book", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:enchanted_golden_apple", - "unlocalizedName": "item.minecraft.enchanted_golden_apple", - "localizedName": "Enchanted Golden Apple", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:enchanting_table", - "unlocalizedName": "block.minecraft.enchanting_table", - "localizedName": "Enchanting Table", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:end_crystal", - "unlocalizedName": "item.minecraft.end_crystal", - "localizedName": "End Crystal", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:end_portal_frame", - "unlocalizedName": "block.minecraft.end_portal_frame", - "localizedName": "End Portal Frame", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:end_rod", - "unlocalizedName": "block.minecraft.end_rod", - "localizedName": "End Rod", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:end_stone", - "unlocalizedName": "block.minecraft.end_stone", - "localizedName": "End Stone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:end_stone_brick_slab", - "unlocalizedName": "block.minecraft.end_stone_brick_slab", - "localizedName": "End Stone Brick Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:end_stone_brick_stairs", - "unlocalizedName": "block.minecraft.end_stone_brick_stairs", - "localizedName": "End Stone Brick Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:end_stone_brick_wall", - "unlocalizedName": "block.minecraft.end_stone_brick_wall", - "localizedName": "End Stone Brick Wall", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:end_stone_bricks", - "unlocalizedName": "block.minecraft.end_stone_bricks", - "localizedName": "End Stone Bricks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:ender_chest", - "unlocalizedName": "block.minecraft.ender_chest", - "localizedName": "Ender Chest", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:ender_eye", - "unlocalizedName": "item.minecraft.ender_eye", - "localizedName": "Eye of Ender", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:ender_pearl", - "unlocalizedName": "item.minecraft.ender_pearl", - "localizedName": "Ender Pearl", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:enderman_spawn_egg", - "unlocalizedName": "item.minecraft.enderman_spawn_egg", - "localizedName": "Enderman Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:endermite_spawn_egg", - "unlocalizedName": "item.minecraft.endermite_spawn_egg", - "localizedName": "Endermite Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:evoker_spawn_egg", - "unlocalizedName": "item.minecraft.evoker_spawn_egg", - "localizedName": "Evoker Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:experience_bottle", - "unlocalizedName": "item.minecraft.experience_bottle", - "localizedName": "Bottle o\u0027 Enchanting", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:farmland", - "unlocalizedName": "block.minecraft.farmland", - "localizedName": "Farmland", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:feather", - "unlocalizedName": "item.minecraft.feather", - "localizedName": "Feather", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:fermented_spider_eye", - "unlocalizedName": "item.minecraft.fermented_spider_eye", - "localizedName": "Fermented Spider Eye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:fern", - "unlocalizedName": "block.minecraft.fern", - "localizedName": "Fern", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:filled_map", - "unlocalizedName": "item.minecraft.filled_map", - "localizedName": "Map", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:fire_charge", - "unlocalizedName": "item.minecraft.fire_charge", - "localizedName": "Fire Charge", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:fire_coral", - "unlocalizedName": "block.minecraft.fire_coral", - "localizedName": "Fire Coral", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:fire_coral_block", - "unlocalizedName": "block.minecraft.fire_coral_block", - "localizedName": "Fire Coral Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:fire_coral_fan", - "unlocalizedName": "block.minecraft.fire_coral_fan", - "localizedName": "Fire Coral Fan", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:firework_rocket", - "unlocalizedName": "item.minecraft.firework_rocket", - "localizedName": "Firework Rocket", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:firework_star", - "unlocalizedName": "item.minecraft.firework_star", - "localizedName": "Firework Star", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:fishing_rod", - "unlocalizedName": "item.minecraft.fishing_rod", - "localizedName": "Fishing Rod", - "maxStackSize": 1, - "maxDamage": 64 - }, - { - "id": "minecraft:fletching_table", - "unlocalizedName": "block.minecraft.fletching_table", - "localizedName": "Fletching Table", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:flint", - "unlocalizedName": "item.minecraft.flint", - "localizedName": "Flint", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:flint_and_steel", - "unlocalizedName": "item.minecraft.flint_and_steel", - "localizedName": "Flint and Steel", - "maxStackSize": 1, - "maxDamage": 64 - }, - { - "id": "minecraft:flower_banner_pattern", - "unlocalizedName": "item.minecraft.flower_banner_pattern", - "localizedName": "Banner Pattern", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:flower_pot", - "unlocalizedName": "block.minecraft.flower_pot", - "localizedName": "Flower Pot", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:fox_spawn_egg", - "unlocalizedName": "item.minecraft.fox_spawn_egg", - "localizedName": "Fox Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:furnace", - "unlocalizedName": "block.minecraft.furnace", - "localizedName": "Furnace", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:furnace_minecart", - "unlocalizedName": "item.minecraft.furnace_minecart", - "localizedName": "Minecart with Furnace", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:ghast_spawn_egg", - "unlocalizedName": "item.minecraft.ghast_spawn_egg", - "localizedName": "Ghast Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:ghast_tear", - "unlocalizedName": "item.minecraft.ghast_tear", - "localizedName": "Ghast Tear", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:glass", - "unlocalizedName": "block.minecraft.glass", - "localizedName": "Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:glass_bottle", - "unlocalizedName": "item.minecraft.glass_bottle", - "localizedName": "Glass Bottle", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:glass_pane", - "unlocalizedName": "block.minecraft.glass_pane", - "localizedName": "Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:glistering_melon_slice", - "unlocalizedName": "item.minecraft.glistering_melon_slice", - "localizedName": "Glistering Melon Slice", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:globe_banner_pattern", - "unlocalizedName": "item.minecraft.globe_banner_pattern", - "localizedName": "Banner Pattern", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:glowstone", - "unlocalizedName": "block.minecraft.glowstone", - "localizedName": "Glowstone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:glowstone_dust", - "unlocalizedName": "item.minecraft.glowstone_dust", - "localizedName": "Glowstone Dust", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:gold_block", - "unlocalizedName": "block.minecraft.gold_block", - "localizedName": "Block of Gold", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:gold_ingot", - "unlocalizedName": "item.minecraft.gold_ingot", - "localizedName": "Gold Ingot", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:gold_nugget", - "unlocalizedName": "item.minecraft.gold_nugget", - "localizedName": "Gold Nugget", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:gold_ore", - "unlocalizedName": "block.minecraft.gold_ore", - "localizedName": "Gold Ore", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:golden_apple", - "unlocalizedName": "item.minecraft.golden_apple", - "localizedName": "Golden Apple", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:golden_axe", - "unlocalizedName": "item.minecraft.golden_axe", - "localizedName": "Golden Axe", - "maxStackSize": 1, - "maxDamage": 32 - }, - { - "id": "minecraft:golden_boots", - "unlocalizedName": "item.minecraft.golden_boots", - "localizedName": "Golden Boots", - "maxStackSize": 1, - "maxDamage": 91 - }, - { - "id": "minecraft:golden_carrot", - "unlocalizedName": "item.minecraft.golden_carrot", - "localizedName": "Golden Carrot", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:golden_chestplate", - "unlocalizedName": "item.minecraft.golden_chestplate", - "localizedName": "Golden Chestplate", - "maxStackSize": 1, - "maxDamage": 112 - }, - { - "id": "minecraft:golden_helmet", - "unlocalizedName": "item.minecraft.golden_helmet", - "localizedName": "Golden Helmet", - "maxStackSize": 1, - "maxDamage": 77 - }, - { - "id": "minecraft:golden_hoe", - "unlocalizedName": "item.minecraft.golden_hoe", - "localizedName": "Golden Hoe", - "maxStackSize": 1, - "maxDamage": 32 - }, - { - "id": "minecraft:golden_horse_armor", - "unlocalizedName": "item.minecraft.golden_horse_armor", - "localizedName": "Golden Horse Armor", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:golden_leggings", - "unlocalizedName": "item.minecraft.golden_leggings", - "localizedName": "Golden Leggings", - "maxStackSize": 1, - "maxDamage": 105 - }, - { - "id": "minecraft:golden_pickaxe", - "unlocalizedName": "item.minecraft.golden_pickaxe", - "localizedName": "Golden Pickaxe", - "maxStackSize": 1, - "maxDamage": 32 - }, - { - "id": "minecraft:golden_shovel", - "unlocalizedName": "item.minecraft.golden_shovel", - "localizedName": "Golden Shovel", - "maxStackSize": 1, - "maxDamage": 32 - }, - { - "id": "minecraft:golden_sword", - "unlocalizedName": "item.minecraft.golden_sword", - "localizedName": "Golden Sword", - "maxStackSize": 1, - "maxDamage": 32 - }, - { - "id": "minecraft:granite", - "unlocalizedName": "block.minecraft.granite", - "localizedName": "Granite", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:granite_slab", - "unlocalizedName": "block.minecraft.granite_slab", - "localizedName": "Granite Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:granite_stairs", - "unlocalizedName": "block.minecraft.granite_stairs", - "localizedName": "Granite Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:granite_wall", - "unlocalizedName": "block.minecraft.granite_wall", - "localizedName": "Granite Wall", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:grass", - "unlocalizedName": "block.minecraft.grass", - "localizedName": "Grass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:grass_block", - "unlocalizedName": "block.minecraft.grass_block", - "localizedName": "Grass Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:grass_path", - "unlocalizedName": "block.minecraft.grass_path", - "localizedName": "Grass Path", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:gravel", - "unlocalizedName": "block.minecraft.gravel", - "localizedName": "Gravel", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:gray_banner", - "unlocalizedName": "block.minecraft.gray_banner", - "localizedName": "Gray Banner", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:gray_bed", - "unlocalizedName": "block.minecraft.gray_bed", - "localizedName": "Gray Bed", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:gray_carpet", - "unlocalizedName": "block.minecraft.gray_carpet", - "localizedName": "Gray Carpet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:gray_concrete", - "unlocalizedName": "block.minecraft.gray_concrete", - "localizedName": "Gray Concrete", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:gray_concrete_powder", - "unlocalizedName": "block.minecraft.gray_concrete_powder", - "localizedName": "Gray Concrete Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:gray_dye", - "unlocalizedName": "item.minecraft.gray_dye", - "localizedName": "Gray Dye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:gray_glazed_terracotta", - "unlocalizedName": "block.minecraft.gray_glazed_terracotta", - "localizedName": "Gray Glazed Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:gray_shulker_box", - "unlocalizedName": "block.minecraft.gray_shulker_box", - "localizedName": "Gray Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:gray_stained_glass", - "unlocalizedName": "block.minecraft.gray_stained_glass", - "localizedName": "Gray Stained Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:gray_stained_glass_pane", - "unlocalizedName": "block.minecraft.gray_stained_glass_pane", - "localizedName": "Gray Stained Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:gray_terracotta", - "unlocalizedName": "block.minecraft.gray_terracotta", - "localizedName": "Gray Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:gray_wool", - "unlocalizedName": "block.minecraft.gray_wool", - "localizedName": "Gray Wool", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:green_banner", - "unlocalizedName": "block.minecraft.green_banner", - "localizedName": "Green Banner", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:green_bed", - "unlocalizedName": "block.minecraft.green_bed", - "localizedName": "Green Bed", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:green_carpet", - "unlocalizedName": "block.minecraft.green_carpet", - "localizedName": "Green Carpet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:green_concrete", - "unlocalizedName": "block.minecraft.green_concrete", - "localizedName": "Green Concrete", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:green_concrete_powder", - "unlocalizedName": "block.minecraft.green_concrete_powder", - "localizedName": "Green Concrete Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:green_dye", - "unlocalizedName": "item.minecraft.green_dye", - "localizedName": "Green Dye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:green_glazed_terracotta", - "unlocalizedName": "block.minecraft.green_glazed_terracotta", - "localizedName": "Green Glazed Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:green_shulker_box", - "unlocalizedName": "block.minecraft.green_shulker_box", - "localizedName": "Green Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:green_stained_glass", - "unlocalizedName": "block.minecraft.green_stained_glass", - "localizedName": "Green Stained Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:green_stained_glass_pane", - "unlocalizedName": "block.minecraft.green_stained_glass_pane", - "localizedName": "Green Stained Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:green_terracotta", - "unlocalizedName": "block.minecraft.green_terracotta", - "localizedName": "Green Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:green_wool", - "unlocalizedName": "block.minecraft.green_wool", - "localizedName": "Green Wool", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:grindstone", - "unlocalizedName": "block.minecraft.grindstone", - "localizedName": "Grindstone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:guardian_spawn_egg", - "unlocalizedName": "item.minecraft.guardian_spawn_egg", - "localizedName": "Guardian Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:gunpowder", - "unlocalizedName": "item.minecraft.gunpowder", - "localizedName": "Gunpowder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:hay_block", - "unlocalizedName": "block.minecraft.hay_block", - "localizedName": "Hay Bale", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:heart_of_the_sea", - "unlocalizedName": "item.minecraft.heart_of_the_sea", - "localizedName": "Heart of the Sea", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:heavy_weighted_pressure_plate", - "unlocalizedName": "block.minecraft.heavy_weighted_pressure_plate", - "localizedName": "Heavy Weighted Pressure Plate", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:hopper", - "unlocalizedName": "block.minecraft.hopper", - "localizedName": "Hopper", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:hopper_minecart", - "unlocalizedName": "item.minecraft.hopper_minecart", - "localizedName": "Minecart with Hopper", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:horn_coral", - "unlocalizedName": "block.minecraft.horn_coral", - "localizedName": "Horn Coral", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:horn_coral_block", - "unlocalizedName": "block.minecraft.horn_coral_block", - "localizedName": "Horn Coral Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:horn_coral_fan", - "unlocalizedName": "block.minecraft.horn_coral_fan", - "localizedName": "Horn Coral Fan", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:horse_spawn_egg", - "unlocalizedName": "item.minecraft.horse_spawn_egg", - "localizedName": "Horse Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:husk_spawn_egg", - "unlocalizedName": "item.minecraft.husk_spawn_egg", - "localizedName": "Husk Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:ice", - "unlocalizedName": "block.minecraft.ice", - "localizedName": "Ice", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:infested_chiseled_stone_bricks", - "unlocalizedName": "block.minecraft.infested_chiseled_stone_bricks", - "localizedName": "Infested Chiseled Stone Bricks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:infested_cobblestone", - "unlocalizedName": "block.minecraft.infested_cobblestone", - "localizedName": "Infested Cobblestone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:infested_cracked_stone_bricks", - "unlocalizedName": "block.minecraft.infested_cracked_stone_bricks", - "localizedName": "Infested Cracked Stone Bricks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:infested_mossy_stone_bricks", - "unlocalizedName": "block.minecraft.infested_mossy_stone_bricks", - "localizedName": "Infested Mossy Stone Bricks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:infested_stone", - "unlocalizedName": "block.minecraft.infested_stone", - "localizedName": "Infested Stone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:infested_stone_bricks", - "unlocalizedName": "block.minecraft.infested_stone_bricks", - "localizedName": "Infested Stone Bricks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:ink_sac", - "unlocalizedName": "item.minecraft.ink_sac", - "localizedName": "Ink Sac", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:iron_axe", - "unlocalizedName": "item.minecraft.iron_axe", - "localizedName": "Iron Axe", - "maxStackSize": 1, - "maxDamage": 250 - }, - { - "id": "minecraft:iron_bars", - "unlocalizedName": "block.minecraft.iron_bars", - "localizedName": "Iron Bars", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:iron_block", - "unlocalizedName": "block.minecraft.iron_block", - "localizedName": "Block of Iron", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:iron_boots", - "unlocalizedName": "item.minecraft.iron_boots", - "localizedName": "Iron Boots", - "maxStackSize": 1, - "maxDamage": 195 - }, - { - "id": "minecraft:iron_chestplate", - "unlocalizedName": "item.minecraft.iron_chestplate", - "localizedName": "Iron Chestplate", - "maxStackSize": 1, - "maxDamage": 240 - }, - { - "id": "minecraft:iron_door", - "unlocalizedName": "block.minecraft.iron_door", - "localizedName": "Iron Door", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:iron_helmet", - "unlocalizedName": "item.minecraft.iron_helmet", - "localizedName": "Iron Helmet", - "maxStackSize": 1, - "maxDamage": 165 - }, - { - "id": "minecraft:iron_hoe", - "unlocalizedName": "item.minecraft.iron_hoe", - "localizedName": "Iron Hoe", - "maxStackSize": 1, - "maxDamage": 250 - }, - { - "id": "minecraft:iron_horse_armor", - "unlocalizedName": "item.minecraft.iron_horse_armor", - "localizedName": "Iron Horse Armor", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:iron_ingot", - "unlocalizedName": "item.minecraft.iron_ingot", - "localizedName": "Iron Ingot", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:iron_leggings", - "unlocalizedName": "item.minecraft.iron_leggings", - "localizedName": "Iron Leggings", - "maxStackSize": 1, - "maxDamage": 225 - }, - { - "id": "minecraft:iron_nugget", - "unlocalizedName": "item.minecraft.iron_nugget", - "localizedName": "Iron Nugget", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:iron_ore", - "unlocalizedName": "block.minecraft.iron_ore", - "localizedName": "Iron Ore", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:iron_pickaxe", - "unlocalizedName": "item.minecraft.iron_pickaxe", - "localizedName": "Iron Pickaxe", - "maxStackSize": 1, - "maxDamage": 250 - }, - { - "id": "minecraft:iron_shovel", - "unlocalizedName": "item.minecraft.iron_shovel", - "localizedName": "Iron Shovel", - "maxStackSize": 1, - "maxDamage": 250 - }, - { - "id": "minecraft:iron_sword", - "unlocalizedName": "item.minecraft.iron_sword", - "localizedName": "Iron Sword", - "maxStackSize": 1, - "maxDamage": 250 - }, - { - "id": "minecraft:iron_trapdoor", - "unlocalizedName": "block.minecraft.iron_trapdoor", - "localizedName": "Iron Trapdoor", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:item_frame", - "unlocalizedName": "item.minecraft.item_frame", - "localizedName": "Item Frame", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:jack_o_lantern", - "unlocalizedName": "block.minecraft.jack_o_lantern", - "localizedName": "Jack o\u0027Lantern", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:jigsaw", - "unlocalizedName": "block.minecraft.jigsaw", - "localizedName": "Jigsaw Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:jukebox", - "unlocalizedName": "block.minecraft.jukebox", - "localizedName": "Jukebox", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:jungle_boat", - "unlocalizedName": "item.minecraft.jungle_boat", - "localizedName": "Jungle Boat", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:jungle_button", - "unlocalizedName": "block.minecraft.jungle_button", - "localizedName": "Jungle Button", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:jungle_door", - "unlocalizedName": "block.minecraft.jungle_door", - "localizedName": "Jungle Door", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:jungle_fence", - "unlocalizedName": "block.minecraft.jungle_fence", - "localizedName": "Jungle Fence", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:jungle_fence_gate", - "unlocalizedName": "block.minecraft.jungle_fence_gate", - "localizedName": "Jungle Fence Gate", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:jungle_leaves", - "unlocalizedName": "block.minecraft.jungle_leaves", - "localizedName": "Jungle Leaves", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:jungle_log", - "unlocalizedName": "block.minecraft.jungle_log", - "localizedName": "Jungle Log", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:jungle_planks", - "unlocalizedName": "block.minecraft.jungle_planks", - "localizedName": "Jungle Planks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:jungle_pressure_plate", - "unlocalizedName": "block.minecraft.jungle_pressure_plate", - "localizedName": "Jungle Pressure Plate", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:jungle_sapling", - "unlocalizedName": "block.minecraft.jungle_sapling", - "localizedName": "Jungle Sapling", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:jungle_sign", - "unlocalizedName": "block.minecraft.jungle_sign", - "localizedName": "Jungle Sign", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:jungle_slab", - "unlocalizedName": "block.minecraft.jungle_slab", - "localizedName": "Jungle Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:jungle_stairs", - "unlocalizedName": "block.minecraft.jungle_stairs", - "localizedName": "Jungle Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:jungle_trapdoor", - "unlocalizedName": "block.minecraft.jungle_trapdoor", - "localizedName": "Jungle Trapdoor", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:jungle_wood", - "unlocalizedName": "block.minecraft.jungle_wood", - "localizedName": "Jungle Wood", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:kelp", - "unlocalizedName": "block.minecraft.kelp", - "localizedName": "Kelp", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:knowledge_book", - "unlocalizedName": "item.minecraft.knowledge_book", - "localizedName": "Knowledge Book", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:ladder", - "unlocalizedName": "block.minecraft.ladder", - "localizedName": "Ladder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lantern", - "unlocalizedName": "block.minecraft.lantern", - "localizedName": "Lantern", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lapis_block", - "unlocalizedName": "block.minecraft.lapis_block", - "localizedName": "Lapis Lazuli Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lapis_lazuli", - "unlocalizedName": "item.minecraft.lapis_lazuli", - "localizedName": "Lapis Lazuli", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lapis_ore", - "unlocalizedName": "block.minecraft.lapis_ore", - "localizedName": "Lapis Lazuli Ore", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:large_fern", - "unlocalizedName": "block.minecraft.large_fern", - "localizedName": "Large Fern", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lava_bucket", - "unlocalizedName": "item.minecraft.lava_bucket", - "localizedName": "Lava Bucket", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:lead", - "unlocalizedName": "item.minecraft.lead", - "localizedName": "Lead", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:leather", - "unlocalizedName": "item.minecraft.leather", - "localizedName": "Leather", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:leather_boots", - "unlocalizedName": "item.minecraft.leather_boots", - "localizedName": "Leather Boots", - "maxStackSize": 1, - "maxDamage": 65 - }, - { - "id": "minecraft:leather_chestplate", - "unlocalizedName": "item.minecraft.leather_chestplate", - "localizedName": "Leather Tunic", - "maxStackSize": 1, - "maxDamage": 80 - }, - { - "id": "minecraft:leather_helmet", - "unlocalizedName": "item.minecraft.leather_helmet", - "localizedName": "Leather Cap", - "maxStackSize": 1, - "maxDamage": 55 - }, - { - "id": "minecraft:leather_horse_armor", - "unlocalizedName": "item.minecraft.leather_horse_armor", - "localizedName": "Leather Horse Armor", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:leather_leggings", - "unlocalizedName": "item.minecraft.leather_leggings", - "localizedName": "Leather Pants", - "maxStackSize": 1, - "maxDamage": 75 - }, - { - "id": "minecraft:lectern", - "unlocalizedName": "block.minecraft.lectern", - "localizedName": "Lectern", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lever", - "unlocalizedName": "block.minecraft.lever", - "localizedName": "Lever", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_blue_banner", - "unlocalizedName": "block.minecraft.light_blue_banner", - "localizedName": "Light Blue Banner", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:light_blue_bed", - "unlocalizedName": "block.minecraft.light_blue_bed", - "localizedName": "Light Blue Bed", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:light_blue_carpet", - "unlocalizedName": "block.minecraft.light_blue_carpet", - "localizedName": "Light Blue Carpet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_blue_concrete", - "unlocalizedName": "block.minecraft.light_blue_concrete", - "localizedName": "Light Blue Concrete", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_blue_concrete_powder", - "unlocalizedName": "block.minecraft.light_blue_concrete_powder", - "localizedName": "Light Blue Concrete Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_blue_dye", - "unlocalizedName": "item.minecraft.light_blue_dye", - "localizedName": "Light Blue Dye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_blue_glazed_terracotta", - "unlocalizedName": "block.minecraft.light_blue_glazed_terracotta", - "localizedName": "Light Blue Glazed Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_blue_shulker_box", - "unlocalizedName": "block.minecraft.light_blue_shulker_box", - "localizedName": "Light Blue Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:light_blue_stained_glass", - "unlocalizedName": "block.minecraft.light_blue_stained_glass", - "localizedName": "Light Blue Stained Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_blue_stained_glass_pane", - "unlocalizedName": "block.minecraft.light_blue_stained_glass_pane", - "localizedName": "Light Blue Stained Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_blue_terracotta", - "unlocalizedName": "block.minecraft.light_blue_terracotta", - "localizedName": "Light Blue Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_blue_wool", - "unlocalizedName": "block.minecraft.light_blue_wool", - "localizedName": "Light Blue Wool", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_gray_banner", - "unlocalizedName": "block.minecraft.light_gray_banner", - "localizedName": "Light Gray Banner", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:light_gray_bed", - "unlocalizedName": "block.minecraft.light_gray_bed", - "localizedName": "Light Gray Bed", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:light_gray_carpet", - "unlocalizedName": "block.minecraft.light_gray_carpet", - "localizedName": "Light Gray Carpet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_gray_concrete", - "unlocalizedName": "block.minecraft.light_gray_concrete", - "localizedName": "Light Gray Concrete", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_gray_concrete_powder", - "unlocalizedName": "block.minecraft.light_gray_concrete_powder", - "localizedName": "Light Gray Concrete Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_gray_dye", - "unlocalizedName": "item.minecraft.light_gray_dye", - "localizedName": "Light Gray Dye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_gray_glazed_terracotta", - "unlocalizedName": "block.minecraft.light_gray_glazed_terracotta", - "localizedName": "Light Gray Glazed Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_gray_shulker_box", - "unlocalizedName": "block.minecraft.light_gray_shulker_box", - "localizedName": "Light Gray Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:light_gray_stained_glass", - "unlocalizedName": "block.minecraft.light_gray_stained_glass", - "localizedName": "Light Gray Stained Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_gray_stained_glass_pane", - "unlocalizedName": "block.minecraft.light_gray_stained_glass_pane", - "localizedName": "Light Gray Stained Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_gray_terracotta", - "unlocalizedName": "block.minecraft.light_gray_terracotta", - "localizedName": "Light Gray Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_gray_wool", - "unlocalizedName": "block.minecraft.light_gray_wool", - "localizedName": "Light Gray Wool", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:light_weighted_pressure_plate", - "unlocalizedName": "block.minecraft.light_weighted_pressure_plate", - "localizedName": "Light Weighted Pressure Plate", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lilac", - "unlocalizedName": "block.minecraft.lilac", - "localizedName": "Lilac", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lily_of_the_valley", - "unlocalizedName": "block.minecraft.lily_of_the_valley", - "localizedName": "Lily of the Valley", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lily_pad", - "unlocalizedName": "block.minecraft.lily_pad", - "localizedName": "Lily Pad", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lime_banner", - "unlocalizedName": "block.minecraft.lime_banner", - "localizedName": "Lime Banner", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:lime_bed", - "unlocalizedName": "block.minecraft.lime_bed", - "localizedName": "Lime Bed", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:lime_carpet", - "unlocalizedName": "block.minecraft.lime_carpet", - "localizedName": "Lime Carpet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lime_concrete", - "unlocalizedName": "block.minecraft.lime_concrete", - "localizedName": "Lime Concrete", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lime_concrete_powder", - "unlocalizedName": "block.minecraft.lime_concrete_powder", - "localizedName": "Lime Concrete Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lime_dye", - "unlocalizedName": "item.minecraft.lime_dye", - "localizedName": "Lime Dye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lime_glazed_terracotta", - "unlocalizedName": "block.minecraft.lime_glazed_terracotta", - "localizedName": "Lime Glazed Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lime_shulker_box", - "unlocalizedName": "block.minecraft.lime_shulker_box", - "localizedName": "Lime Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:lime_stained_glass", - "unlocalizedName": "block.minecraft.lime_stained_glass", - "localizedName": "Lime Stained Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lime_stained_glass_pane", - "unlocalizedName": "block.minecraft.lime_stained_glass_pane", - "localizedName": "Lime Stained Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lime_terracotta", - "unlocalizedName": "block.minecraft.lime_terracotta", - "localizedName": "Lime Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lime_wool", - "unlocalizedName": "block.minecraft.lime_wool", - "localizedName": "Lime Wool", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:lingering_potion", - "unlocalizedName": "item.minecraft.lingering_potion.effect.water", - "localizedName": "Lingering Water Bottle", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:llama_spawn_egg", - "unlocalizedName": "item.minecraft.llama_spawn_egg", - "localizedName": "Llama Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:loom", - "unlocalizedName": "block.minecraft.loom", - "localizedName": "Loom", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:magenta_banner", - "unlocalizedName": "block.minecraft.magenta_banner", - "localizedName": "Magenta Banner", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:magenta_bed", - "unlocalizedName": "block.minecraft.magenta_bed", - "localizedName": "Magenta Bed", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:magenta_carpet", - "unlocalizedName": "block.minecraft.magenta_carpet", - "localizedName": "Magenta Carpet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:magenta_concrete", - "unlocalizedName": "block.minecraft.magenta_concrete", - "localizedName": "Magenta Concrete", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:magenta_concrete_powder", - "unlocalizedName": "block.minecraft.magenta_concrete_powder", - "localizedName": "Magenta Concrete Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:magenta_dye", - "unlocalizedName": "item.minecraft.magenta_dye", - "localizedName": "Magenta Dye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:magenta_glazed_terracotta", - "unlocalizedName": "block.minecraft.magenta_glazed_terracotta", - "localizedName": "Magenta Glazed Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:magenta_shulker_box", - "unlocalizedName": "block.minecraft.magenta_shulker_box", - "localizedName": "Magenta Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:magenta_stained_glass", - "unlocalizedName": "block.minecraft.magenta_stained_glass", - "localizedName": "Magenta Stained Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:magenta_stained_glass_pane", - "unlocalizedName": "block.minecraft.magenta_stained_glass_pane", - "localizedName": "Magenta Stained Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:magenta_terracotta", - "unlocalizedName": "block.minecraft.magenta_terracotta", - "localizedName": "Magenta Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:magenta_wool", - "unlocalizedName": "block.minecraft.magenta_wool", - "localizedName": "Magenta Wool", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:magma_block", - "unlocalizedName": "block.minecraft.magma_block", - "localizedName": "Magma Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:magma_cream", - "unlocalizedName": "item.minecraft.magma_cream", - "localizedName": "Magma Cream", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:magma_cube_spawn_egg", - "unlocalizedName": "item.minecraft.magma_cube_spawn_egg", - "localizedName": "Magma Cube Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:map", - "unlocalizedName": "item.minecraft.map", - "localizedName": "Empty Map", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:melon", - "unlocalizedName": "block.minecraft.melon", - "localizedName": "Melon", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:melon_seeds", - "unlocalizedName": "item.minecraft.melon_seeds", - "localizedName": "Melon Seeds", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:melon_slice", - "unlocalizedName": "item.minecraft.melon_slice", - "localizedName": "Melon Slice", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:milk_bucket", - "unlocalizedName": "item.minecraft.milk_bucket", - "localizedName": "Milk Bucket", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:minecart", - "unlocalizedName": "item.minecraft.minecart", - "localizedName": "Minecart", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:mojang_banner_pattern", - "unlocalizedName": "item.minecraft.mojang_banner_pattern", - "localizedName": "Banner Pattern", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:mooshroom_spawn_egg", - "unlocalizedName": "item.minecraft.mooshroom_spawn_egg", - "localizedName": "Mooshroom Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:mossy_cobblestone", - "unlocalizedName": "block.minecraft.mossy_cobblestone", - "localizedName": "Mossy Cobblestone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:mossy_cobblestone_slab", - "unlocalizedName": "block.minecraft.mossy_cobblestone_slab", - "localizedName": "Mossy Cobblestone Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:mossy_cobblestone_stairs", - "unlocalizedName": "block.minecraft.mossy_cobblestone_stairs", - "localizedName": "Mossy Cobblestone Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:mossy_cobblestone_wall", - "unlocalizedName": "block.minecraft.mossy_cobblestone_wall", - "localizedName": "Mossy Cobblestone Wall", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:mossy_stone_brick_slab", - "unlocalizedName": "block.minecraft.mossy_stone_brick_slab", - "localizedName": "Mossy Stone Brick Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:mossy_stone_brick_stairs", - "unlocalizedName": "block.minecraft.mossy_stone_brick_stairs", - "localizedName": "Mossy Stone Brick Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:mossy_stone_brick_wall", - "unlocalizedName": "block.minecraft.mossy_stone_brick_wall", - "localizedName": "Mossy Stone Brick Wall", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:mossy_stone_bricks", - "unlocalizedName": "block.minecraft.mossy_stone_bricks", - "localizedName": "Mossy Stone Bricks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:mule_spawn_egg", - "unlocalizedName": "item.minecraft.mule_spawn_egg", - "localizedName": "Mule Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:mushroom_stem", - "unlocalizedName": "block.minecraft.mushroom_stem", - "localizedName": "Mushroom Stem", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:mushroom_stew", - "unlocalizedName": "item.minecraft.mushroom_stew", - "localizedName": "Mushroom Stew", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:music_disc_11", - "unlocalizedName": "item.minecraft.music_disc_11", - "localizedName": "Music Disc", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:music_disc_13", - "unlocalizedName": "item.minecraft.music_disc_13", - "localizedName": "Music Disc", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:music_disc_blocks", - "unlocalizedName": "item.minecraft.music_disc_blocks", - "localizedName": "Music Disc", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:music_disc_cat", - "unlocalizedName": "item.minecraft.music_disc_cat", - "localizedName": "Music Disc", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:music_disc_chirp", - "unlocalizedName": "item.minecraft.music_disc_chirp", - "localizedName": "Music Disc", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:music_disc_far", - "unlocalizedName": "item.minecraft.music_disc_far", - "localizedName": "Music Disc", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:music_disc_mall", - "unlocalizedName": "item.minecraft.music_disc_mall", - "localizedName": "Music Disc", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:music_disc_mellohi", - "unlocalizedName": "item.minecraft.music_disc_mellohi", - "localizedName": "Music Disc", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:music_disc_stal", - "unlocalizedName": "item.minecraft.music_disc_stal", - "localizedName": "Music Disc", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:music_disc_strad", - "unlocalizedName": "item.minecraft.music_disc_strad", - "localizedName": "Music Disc", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:music_disc_wait", - "unlocalizedName": "item.minecraft.music_disc_wait", - "localizedName": "Music Disc", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:music_disc_ward", - "unlocalizedName": "item.minecraft.music_disc_ward", - "localizedName": "Music Disc", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:mutton", - "unlocalizedName": "item.minecraft.mutton", - "localizedName": "Raw Mutton", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:mycelium", - "unlocalizedName": "block.minecraft.mycelium", - "localizedName": "Mycelium", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:name_tag", - "unlocalizedName": "item.minecraft.name_tag", - "localizedName": "Name Tag", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:nautilus_shell", - "unlocalizedName": "item.minecraft.nautilus_shell", - "localizedName": "Nautilus Shell", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:nether_brick", - "unlocalizedName": "item.minecraft.nether_brick", - "localizedName": "Nether Brick", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:nether_brick_fence", - "unlocalizedName": "block.minecraft.nether_brick_fence", - "localizedName": "Nether Brick Fence", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:nether_brick_slab", - "unlocalizedName": "block.minecraft.nether_brick_slab", - "localizedName": "Nether Brick Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:nether_brick_stairs", - "unlocalizedName": "block.minecraft.nether_brick_stairs", - "localizedName": "Nether Brick Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:nether_brick_wall", - "unlocalizedName": "block.minecraft.nether_brick_wall", - "localizedName": "Nether Brick Wall", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:nether_bricks", - "unlocalizedName": "block.minecraft.nether_bricks", - "localizedName": "Nether Bricks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:nether_quartz_ore", - "unlocalizedName": "block.minecraft.nether_quartz_ore", - "localizedName": "Nether Quartz Ore", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:nether_star", - "unlocalizedName": "item.minecraft.nether_star", - "localizedName": "Nether Star", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:nether_wart", - "unlocalizedName": "item.minecraft.nether_wart", - "localizedName": "Nether Wart", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:nether_wart_block", - "unlocalizedName": "block.minecraft.nether_wart_block", - "localizedName": "Nether Wart Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:netherrack", - "unlocalizedName": "block.minecraft.netherrack", - "localizedName": "Netherrack", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:note_block", - "unlocalizedName": "block.minecraft.note_block", - "localizedName": "Note Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:oak_boat", - "unlocalizedName": "item.minecraft.oak_boat", - "localizedName": "Oak Boat", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:oak_button", - "unlocalizedName": "block.minecraft.oak_button", - "localizedName": "Oak Button", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:oak_door", - "unlocalizedName": "block.minecraft.oak_door", - "localizedName": "Oak Door", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:oak_fence", - "unlocalizedName": "block.minecraft.oak_fence", - "localizedName": "Oak Fence", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:oak_fence_gate", - "unlocalizedName": "block.minecraft.oak_fence_gate", - "localizedName": "Oak Fence Gate", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:oak_leaves", - "unlocalizedName": "block.minecraft.oak_leaves", - "localizedName": "Oak Leaves", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:oak_log", - "unlocalizedName": "block.minecraft.oak_log", - "localizedName": "Oak Log", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:oak_planks", - "unlocalizedName": "block.minecraft.oak_planks", - "localizedName": "Oak Planks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:oak_pressure_plate", - "unlocalizedName": "block.minecraft.oak_pressure_plate", - "localizedName": "Oak Pressure Plate", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:oak_sapling", - "unlocalizedName": "block.minecraft.oak_sapling", - "localizedName": "Oak Sapling", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:oak_sign", - "unlocalizedName": "block.minecraft.oak_sign", - "localizedName": "Oak Sign", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:oak_slab", - "unlocalizedName": "block.minecraft.oak_slab", - "localizedName": "Oak Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:oak_stairs", - "unlocalizedName": "block.minecraft.oak_stairs", - "localizedName": "Oak Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:oak_trapdoor", - "unlocalizedName": "block.minecraft.oak_trapdoor", - "localizedName": "Oak Trapdoor", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:oak_wood", - "unlocalizedName": "block.minecraft.oak_wood", - "localizedName": "Oak Wood", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:observer", - "unlocalizedName": "block.minecraft.observer", - "localizedName": "Observer", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:obsidian", - "unlocalizedName": "block.minecraft.obsidian", - "localizedName": "Obsidian", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:ocelot_spawn_egg", - "unlocalizedName": "item.minecraft.ocelot_spawn_egg", - "localizedName": "Ocelot Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:orange_banner", - "unlocalizedName": "block.minecraft.orange_banner", - "localizedName": "Orange Banner", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:orange_bed", - "unlocalizedName": "block.minecraft.orange_bed", - "localizedName": "Orange Bed", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:orange_carpet", - "unlocalizedName": "block.minecraft.orange_carpet", - "localizedName": "Orange Carpet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:orange_concrete", - "unlocalizedName": "block.minecraft.orange_concrete", - "localizedName": "Orange Concrete", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:orange_concrete_powder", - "unlocalizedName": "block.minecraft.orange_concrete_powder", - "localizedName": "Orange Concrete Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:orange_dye", - "unlocalizedName": "item.minecraft.orange_dye", - "localizedName": "Orange Dye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:orange_glazed_terracotta", - "unlocalizedName": "block.minecraft.orange_glazed_terracotta", - "localizedName": "Orange Glazed Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:orange_shulker_box", - "unlocalizedName": "block.minecraft.orange_shulker_box", - "localizedName": "Orange Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:orange_stained_glass", - "unlocalizedName": "block.minecraft.orange_stained_glass", - "localizedName": "Orange Stained Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:orange_stained_glass_pane", - "unlocalizedName": "block.minecraft.orange_stained_glass_pane", - "localizedName": "Orange Stained Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:orange_terracotta", - "unlocalizedName": "block.minecraft.orange_terracotta", - "localizedName": "Orange Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:orange_tulip", - "unlocalizedName": "block.minecraft.orange_tulip", - "localizedName": "Orange Tulip", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:orange_wool", - "unlocalizedName": "block.minecraft.orange_wool", - "localizedName": "Orange Wool", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:oxeye_daisy", - "unlocalizedName": "block.minecraft.oxeye_daisy", - "localizedName": "Oxeye Daisy", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:packed_ice", - "unlocalizedName": "block.minecraft.packed_ice", - "localizedName": "Packed Ice", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:painting", - "unlocalizedName": "item.minecraft.painting", - "localizedName": "Painting", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:panda_spawn_egg", - "unlocalizedName": "item.minecraft.panda_spawn_egg", - "localizedName": "Panda Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:paper", - "unlocalizedName": "item.minecraft.paper", - "localizedName": "Paper", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:parrot_spawn_egg", - "unlocalizedName": "item.minecraft.parrot_spawn_egg", - "localizedName": "Parrot Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:peony", - "unlocalizedName": "block.minecraft.peony", - "localizedName": "Peony", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:petrified_oak_slab", - "unlocalizedName": "block.minecraft.petrified_oak_slab", - "localizedName": "Petrified Oak Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:phantom_membrane", - "unlocalizedName": "item.minecraft.phantom_membrane", - "localizedName": "Phantom Membrane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:phantom_spawn_egg", - "unlocalizedName": "item.minecraft.phantom_spawn_egg", - "localizedName": "Phantom Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pig_spawn_egg", - "unlocalizedName": "item.minecraft.pig_spawn_egg", - "localizedName": "Pig Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pillager_spawn_egg", - "unlocalizedName": "item.minecraft.pillager_spawn_egg", - "localizedName": "Pillager Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pink_banner", - "unlocalizedName": "block.minecraft.pink_banner", - "localizedName": "Pink Banner", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:pink_bed", - "unlocalizedName": "block.minecraft.pink_bed", - "localizedName": "Pink Bed", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:pink_carpet", - "unlocalizedName": "block.minecraft.pink_carpet", - "localizedName": "Pink Carpet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pink_concrete", - "unlocalizedName": "block.minecraft.pink_concrete", - "localizedName": "Pink Concrete", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pink_concrete_powder", - "unlocalizedName": "block.minecraft.pink_concrete_powder", - "localizedName": "Pink Concrete Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pink_dye", - "unlocalizedName": "item.minecraft.pink_dye", - "localizedName": "Pink Dye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pink_glazed_terracotta", - "unlocalizedName": "block.minecraft.pink_glazed_terracotta", - "localizedName": "Pink Glazed Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pink_shulker_box", - "unlocalizedName": "block.minecraft.pink_shulker_box", - "localizedName": "Pink Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:pink_stained_glass", - "unlocalizedName": "block.minecraft.pink_stained_glass", - "localizedName": "Pink Stained Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pink_stained_glass_pane", - "unlocalizedName": "block.minecraft.pink_stained_glass_pane", - "localizedName": "Pink Stained Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pink_terracotta", - "unlocalizedName": "block.minecraft.pink_terracotta", - "localizedName": "Pink Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pink_tulip", - "unlocalizedName": "block.minecraft.pink_tulip", - "localizedName": "Pink Tulip", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pink_wool", - "unlocalizedName": "block.minecraft.pink_wool", - "localizedName": "Pink Wool", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:piston", - "unlocalizedName": "block.minecraft.piston", - "localizedName": "Piston", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:player_head", - "unlocalizedName": "block.minecraft.player_head", - "localizedName": "Player Head", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:podzol", - "unlocalizedName": "block.minecraft.podzol", - "localizedName": "Podzol", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:poisonous_potato", - "unlocalizedName": "item.minecraft.poisonous_potato", - "localizedName": "Poisonous Potato", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:polar_bear_spawn_egg", - "unlocalizedName": "item.minecraft.polar_bear_spawn_egg", - "localizedName": "Polar Bear Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:polished_andesite", - "unlocalizedName": "block.minecraft.polished_andesite", - "localizedName": "Polished Andesite", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:polished_andesite_slab", - "unlocalizedName": "block.minecraft.polished_andesite_slab", - "localizedName": "Polished Andesite Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:polished_andesite_stairs", - "unlocalizedName": "block.minecraft.polished_andesite_stairs", - "localizedName": "Polished Andesite Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:polished_diorite", - "unlocalizedName": "block.minecraft.polished_diorite", - "localizedName": "Polished Diorite", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:polished_diorite_slab", - "unlocalizedName": "block.minecraft.polished_diorite_slab", - "localizedName": "Polished Diorite Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:polished_diorite_stairs", - "unlocalizedName": "block.minecraft.polished_diorite_stairs", - "localizedName": "Polished Diorite Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:polished_granite", - "unlocalizedName": "block.minecraft.polished_granite", - "localizedName": "Polished Granite", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:polished_granite_slab", - "unlocalizedName": "block.minecraft.polished_granite_slab", - "localizedName": "Polished Granite Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:polished_granite_stairs", - "unlocalizedName": "block.minecraft.polished_granite_stairs", - "localizedName": "Polished Granite Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:popped_chorus_fruit", - "unlocalizedName": "item.minecraft.popped_chorus_fruit", - "localizedName": "Popped Chorus Fruit", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:poppy", - "unlocalizedName": "block.minecraft.poppy", - "localizedName": "Poppy", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:porkchop", - "unlocalizedName": "item.minecraft.porkchop", - "localizedName": "Raw Porkchop", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:potato", - "unlocalizedName": "item.minecraft.potato", - "localizedName": "Potato", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:potion", - "unlocalizedName": "item.minecraft.potion.effect.water", - "localizedName": "Water Bottle", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:powered_rail", - "unlocalizedName": "block.minecraft.powered_rail", - "localizedName": "Powered Rail", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:prismarine", - "unlocalizedName": "block.minecraft.prismarine", - "localizedName": "Prismarine", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:prismarine_brick_slab", - "unlocalizedName": "block.minecraft.prismarine_brick_slab", - "localizedName": "Prismarine Brick Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:prismarine_brick_stairs", - "unlocalizedName": "block.minecraft.prismarine_brick_stairs", - "localizedName": "Prismarine Brick Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:prismarine_bricks", - "unlocalizedName": "block.minecraft.prismarine_bricks", - "localizedName": "Prismarine Bricks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:prismarine_crystals", - "unlocalizedName": "item.minecraft.prismarine_crystals", - "localizedName": "Prismarine Crystals", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:prismarine_shard", - "unlocalizedName": "item.minecraft.prismarine_shard", - "localizedName": "Prismarine Shard", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:prismarine_slab", - "unlocalizedName": "block.minecraft.prismarine_slab", - "localizedName": "Prismarine Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:prismarine_stairs", - "unlocalizedName": "block.minecraft.prismarine_stairs", - "localizedName": "Prismarine Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:prismarine_wall", - "unlocalizedName": "block.minecraft.prismarine_wall", - "localizedName": "Prismarine Wall", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pufferfish", - "unlocalizedName": "item.minecraft.pufferfish", - "localizedName": "Pufferfish", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pufferfish_bucket", - "unlocalizedName": "item.minecraft.pufferfish_bucket", - "localizedName": "Bucket of Pufferfish", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:pufferfish_spawn_egg", - "unlocalizedName": "item.minecraft.pufferfish_spawn_egg", - "localizedName": "Pufferfish Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pumpkin", - "unlocalizedName": "block.minecraft.pumpkin", - "localizedName": "Pumpkin", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pumpkin_pie", - "unlocalizedName": "item.minecraft.pumpkin_pie", - "localizedName": "Pumpkin Pie", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:pumpkin_seeds", - "unlocalizedName": "item.minecraft.pumpkin_seeds", - "localizedName": "Pumpkin Seeds", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:purple_banner", - "unlocalizedName": "block.minecraft.purple_banner", - "localizedName": "Purple Banner", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:purple_bed", - "unlocalizedName": "block.minecraft.purple_bed", - "localizedName": "Purple Bed", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:purple_carpet", - "unlocalizedName": "block.minecraft.purple_carpet", - "localizedName": "Purple Carpet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:purple_concrete", - "unlocalizedName": "block.minecraft.purple_concrete", - "localizedName": "Purple Concrete", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:purple_concrete_powder", - "unlocalizedName": "block.minecraft.purple_concrete_powder", - "localizedName": "Purple Concrete Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:purple_dye", - "unlocalizedName": "item.minecraft.purple_dye", - "localizedName": "Purple Dye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:purple_glazed_terracotta", - "unlocalizedName": "block.minecraft.purple_glazed_terracotta", - "localizedName": "Purple Glazed Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:purple_shulker_box", - "unlocalizedName": "block.minecraft.purple_shulker_box", - "localizedName": "Purple Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:purple_stained_glass", - "unlocalizedName": "block.minecraft.purple_stained_glass", - "localizedName": "Purple Stained Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:purple_stained_glass_pane", - "unlocalizedName": "block.minecraft.purple_stained_glass_pane", - "localizedName": "Purple Stained Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:purple_terracotta", - "unlocalizedName": "block.minecraft.purple_terracotta", - "localizedName": "Purple Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:purple_wool", - "unlocalizedName": "block.minecraft.purple_wool", - "localizedName": "Purple Wool", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:purpur_block", - "unlocalizedName": "block.minecraft.purpur_block", - "localizedName": "Purpur Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:purpur_pillar", - "unlocalizedName": "block.minecraft.purpur_pillar", - "localizedName": "Purpur Pillar", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:purpur_slab", - "unlocalizedName": "block.minecraft.purpur_slab", - "localizedName": "Purpur Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:purpur_stairs", - "unlocalizedName": "block.minecraft.purpur_stairs", - "localizedName": "Purpur Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:quartz", - "unlocalizedName": "item.minecraft.quartz", - "localizedName": "Nether Quartz", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:quartz_block", - "unlocalizedName": "block.minecraft.quartz_block", - "localizedName": "Block of Quartz", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:quartz_pillar", - "unlocalizedName": "block.minecraft.quartz_pillar", - "localizedName": "Quartz Pillar", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:quartz_slab", - "unlocalizedName": "block.minecraft.quartz_slab", - "localizedName": "Quartz Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:quartz_stairs", - "unlocalizedName": "block.minecraft.quartz_stairs", - "localizedName": "Quartz Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:rabbit", - "unlocalizedName": "item.minecraft.rabbit", - "localizedName": "Raw Rabbit", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:rabbit_foot", - "unlocalizedName": "item.minecraft.rabbit_foot", - "localizedName": "Rabbit\u0027s Foot", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:rabbit_hide", - "unlocalizedName": "item.minecraft.rabbit_hide", - "localizedName": "Rabbit Hide", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:rabbit_spawn_egg", - "unlocalizedName": "item.minecraft.rabbit_spawn_egg", - "localizedName": "Rabbit Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:rabbit_stew", - "unlocalizedName": "item.minecraft.rabbit_stew", - "localizedName": "Rabbit Stew", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:rail", - "unlocalizedName": "block.minecraft.rail", - "localizedName": "Rail", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:ravager_spawn_egg", - "unlocalizedName": "item.minecraft.ravager_spawn_egg", - "localizedName": "Ravager Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_banner", - "unlocalizedName": "block.minecraft.red_banner", - "localizedName": "Red Banner", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:red_bed", - "unlocalizedName": "block.minecraft.red_bed", - "localizedName": "Red Bed", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:red_carpet", - "unlocalizedName": "block.minecraft.red_carpet", - "localizedName": "Red Carpet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_concrete", - "unlocalizedName": "block.minecraft.red_concrete", - "localizedName": "Red Concrete", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_concrete_powder", - "unlocalizedName": "block.minecraft.red_concrete_powder", - "localizedName": "Red Concrete Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_dye", - "unlocalizedName": "item.minecraft.red_dye", - "localizedName": "Red Dye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_glazed_terracotta", - "unlocalizedName": "block.minecraft.red_glazed_terracotta", - "localizedName": "Red Glazed Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_mushroom", - "unlocalizedName": "block.minecraft.red_mushroom", - "localizedName": "Red Mushroom", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_mushroom_block", - "unlocalizedName": "block.minecraft.red_mushroom_block", - "localizedName": "Red Mushroom Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_nether_brick_slab", - "unlocalizedName": "block.minecraft.red_nether_brick_slab", - "localizedName": "Red Nether Brick Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_nether_brick_stairs", - "unlocalizedName": "block.minecraft.red_nether_brick_stairs", - "localizedName": "Red Nether Brick Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_nether_brick_wall", - "unlocalizedName": "block.minecraft.red_nether_brick_wall", - "localizedName": "Red Nether Brick Wall", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_nether_bricks", - "unlocalizedName": "block.minecraft.red_nether_bricks", - "localizedName": "Red Nether Bricks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_sand", - "unlocalizedName": "block.minecraft.red_sand", - "localizedName": "Red Sand", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_sandstone", - "unlocalizedName": "block.minecraft.red_sandstone", - "localizedName": "Red Sandstone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_sandstone_slab", - "unlocalizedName": "block.minecraft.red_sandstone_slab", - "localizedName": "Red Sandstone Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_sandstone_stairs", - "unlocalizedName": "block.minecraft.red_sandstone_stairs", - "localizedName": "Red Sandstone Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_sandstone_wall", - "unlocalizedName": "block.minecraft.red_sandstone_wall", - "localizedName": "Red Sandstone Wall", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_shulker_box", - "unlocalizedName": "block.minecraft.red_shulker_box", - "localizedName": "Red Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:red_stained_glass", - "unlocalizedName": "block.minecraft.red_stained_glass", - "localizedName": "Red Stained Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_stained_glass_pane", - "unlocalizedName": "block.minecraft.red_stained_glass_pane", - "localizedName": "Red Stained Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_terracotta", - "unlocalizedName": "block.minecraft.red_terracotta", - "localizedName": "Red Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_tulip", - "unlocalizedName": "block.minecraft.red_tulip", - "localizedName": "Red Tulip", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:red_wool", - "unlocalizedName": "block.minecraft.red_wool", - "localizedName": "Red Wool", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:redstone", - "unlocalizedName": "item.minecraft.redstone", - "localizedName": "Redstone Dust", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:redstone_block", - "unlocalizedName": "block.minecraft.redstone_block", - "localizedName": "Block of Redstone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:redstone_lamp", - "unlocalizedName": "block.minecraft.redstone_lamp", - "localizedName": "Redstone Lamp", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:redstone_ore", - "unlocalizedName": "block.minecraft.redstone_ore", - "localizedName": "Redstone Ore", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:redstone_torch", - "unlocalizedName": "block.minecraft.redstone_torch", - "localizedName": "Redstone Torch", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:repeater", - "unlocalizedName": "block.minecraft.repeater", - "localizedName": "Redstone Repeater", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:repeating_command_block", - "unlocalizedName": "block.minecraft.repeating_command_block", - "localizedName": "Repeating Command Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:rose_bush", - "unlocalizedName": "block.minecraft.rose_bush", - "localizedName": "Rose Bush", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:rotten_flesh", - "unlocalizedName": "item.minecraft.rotten_flesh", - "localizedName": "Rotten Flesh", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:saddle", - "unlocalizedName": "item.minecraft.saddle", - "localizedName": "Saddle", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:salmon", - "unlocalizedName": "item.minecraft.salmon", - "localizedName": "Raw Salmon", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:salmon_bucket", - "unlocalizedName": "item.minecraft.salmon_bucket", - "localizedName": "Bucket of Salmon", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:salmon_spawn_egg", - "unlocalizedName": "item.minecraft.salmon_spawn_egg", - "localizedName": "Salmon Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:sand", - "unlocalizedName": "block.minecraft.sand", - "localizedName": "Sand", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:sandstone", - "unlocalizedName": "block.minecraft.sandstone", - "localizedName": "Sandstone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:sandstone_slab", - "unlocalizedName": "block.minecraft.sandstone_slab", - "localizedName": "Sandstone Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:sandstone_stairs", - "unlocalizedName": "block.minecraft.sandstone_stairs", - "localizedName": "Sandstone Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:sandstone_wall", - "unlocalizedName": "block.minecraft.sandstone_wall", - "localizedName": "Sandstone Wall", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:scaffolding", - "unlocalizedName": "block.minecraft.scaffolding", - "localizedName": "Scaffolding", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:scute", - "unlocalizedName": "item.minecraft.scute", - "localizedName": "Scute", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:sea_lantern", - "unlocalizedName": "block.minecraft.sea_lantern", - "localizedName": "Sea Lantern", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:sea_pickle", - "unlocalizedName": "block.minecraft.sea_pickle", - "localizedName": "Sea Pickle", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:seagrass", - "unlocalizedName": "block.minecraft.seagrass", - "localizedName": "Seagrass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:shears", - "unlocalizedName": "item.minecraft.shears", - "localizedName": "Shears", - "maxStackSize": 1, - "maxDamage": 238 - }, - { - "id": "minecraft:sheep_spawn_egg", - "unlocalizedName": "item.minecraft.sheep_spawn_egg", - "localizedName": "Sheep Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:shield", - "unlocalizedName": "item.minecraft.shield", - "localizedName": "Shield", - "maxStackSize": 1, - "maxDamage": 336 - }, - { - "id": "minecraft:shulker_box", - "unlocalizedName": "block.minecraft.shulker_box", - "localizedName": "Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:shulker_shell", - "unlocalizedName": "item.minecraft.shulker_shell", - "localizedName": "Shulker Shell", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:shulker_spawn_egg", - "unlocalizedName": "item.minecraft.shulker_spawn_egg", - "localizedName": "Shulker Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:silverfish_spawn_egg", - "unlocalizedName": "item.minecraft.silverfish_spawn_egg", - "localizedName": "Silverfish Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:skeleton_horse_spawn_egg", - "unlocalizedName": "item.minecraft.skeleton_horse_spawn_egg", - "localizedName": "Skeleton Horse Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:skeleton_skull", - "unlocalizedName": "block.minecraft.skeleton_skull", - "localizedName": "Skeleton Skull", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:skeleton_spawn_egg", - "unlocalizedName": "item.minecraft.skeleton_spawn_egg", - "localizedName": "Skeleton Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:skull_banner_pattern", - "unlocalizedName": "item.minecraft.skull_banner_pattern", - "localizedName": "Banner Pattern", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:slime_ball", - "unlocalizedName": "item.minecraft.slime_ball", - "localizedName": "Slimeball", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:slime_block", - "unlocalizedName": "block.minecraft.slime_block", - "localizedName": "Slime Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:slime_spawn_egg", - "unlocalizedName": "item.minecraft.slime_spawn_egg", - "localizedName": "Slime Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:smithing_table", - "unlocalizedName": "block.minecraft.smithing_table", - "localizedName": "Smithing Table", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:smoker", - "unlocalizedName": "block.minecraft.smoker", - "localizedName": "Smoker", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:smooth_quartz", - "unlocalizedName": "block.minecraft.smooth_quartz", - "localizedName": "Smooth Quartz", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:smooth_quartz_slab", - "unlocalizedName": "block.minecraft.smooth_quartz_slab", - "localizedName": "Smooth Quartz Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:smooth_quartz_stairs", - "unlocalizedName": "block.minecraft.smooth_quartz_stairs", - "localizedName": "Smooth Quartz Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:smooth_red_sandstone", - "unlocalizedName": "block.minecraft.smooth_red_sandstone", - "localizedName": "Smooth Red Sandstone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:smooth_red_sandstone_slab", - "unlocalizedName": "block.minecraft.smooth_red_sandstone_slab", - "localizedName": "Smooth Red Sandstone Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:smooth_red_sandstone_stairs", - "unlocalizedName": "block.minecraft.smooth_red_sandstone_stairs", - "localizedName": "Smooth Red Sandstone Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:smooth_sandstone", - "unlocalizedName": "block.minecraft.smooth_sandstone", - "localizedName": "Smooth Sandstone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:smooth_sandstone_slab", - "unlocalizedName": "block.minecraft.smooth_sandstone_slab", - "localizedName": "Smooth Sandstone Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:smooth_sandstone_stairs", - "unlocalizedName": "block.minecraft.smooth_sandstone_stairs", - "localizedName": "Smooth Sandstone Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:smooth_stone", - "unlocalizedName": "block.minecraft.smooth_stone", - "localizedName": "Smooth Stone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:smooth_stone_slab", - "unlocalizedName": "block.minecraft.smooth_stone_slab", - "localizedName": "Smooth Stone Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:snow", - "unlocalizedName": "block.minecraft.snow", - "localizedName": "Snow", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:snow_block", - "unlocalizedName": "block.minecraft.snow_block", - "localizedName": "Snow Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:snowball", - "unlocalizedName": "item.minecraft.snowball", - "localizedName": "Snowball", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:soul_sand", - "unlocalizedName": "block.minecraft.soul_sand", - "localizedName": "Soul Sand", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spawner", - "unlocalizedName": "block.minecraft.spawner", - "localizedName": "Spawner", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spectral_arrow", - "unlocalizedName": "item.minecraft.spectral_arrow", - "localizedName": "Spectral Arrow", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spider_eye", - "unlocalizedName": "item.minecraft.spider_eye", - "localizedName": "Spider Eye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spider_spawn_egg", - "unlocalizedName": "item.minecraft.spider_spawn_egg", - "localizedName": "Spider Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:splash_potion", - "unlocalizedName": "item.minecraft.splash_potion.effect.water", - "localizedName": "Splash Water Bottle", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:sponge", - "unlocalizedName": "block.minecraft.sponge", - "localizedName": "Sponge", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spruce_boat", - "unlocalizedName": "item.minecraft.spruce_boat", - "localizedName": "Spruce Boat", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:spruce_button", - "unlocalizedName": "block.minecraft.spruce_button", - "localizedName": "Spruce Button", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spruce_door", - "unlocalizedName": "block.minecraft.spruce_door", - "localizedName": "Spruce Door", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spruce_fence", - "unlocalizedName": "block.minecraft.spruce_fence", - "localizedName": "Spruce Fence", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spruce_fence_gate", - "unlocalizedName": "block.minecraft.spruce_fence_gate", - "localizedName": "Spruce Fence Gate", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spruce_leaves", - "unlocalizedName": "block.minecraft.spruce_leaves", - "localizedName": "Spruce Leaves", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spruce_log", - "unlocalizedName": "block.minecraft.spruce_log", - "localizedName": "Spruce Log", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spruce_planks", - "unlocalizedName": "block.minecraft.spruce_planks", - "localizedName": "Spruce Planks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spruce_pressure_plate", - "unlocalizedName": "block.minecraft.spruce_pressure_plate", - "localizedName": "Spruce Pressure Plate", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spruce_sapling", - "unlocalizedName": "block.minecraft.spruce_sapling", - "localizedName": "Spruce Sapling", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spruce_sign", - "unlocalizedName": "block.minecraft.spruce_sign", - "localizedName": "Spruce Sign", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:spruce_slab", - "unlocalizedName": "block.minecraft.spruce_slab", - "localizedName": "Spruce Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spruce_stairs", - "unlocalizedName": "block.minecraft.spruce_stairs", - "localizedName": "Spruce Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spruce_trapdoor", - "unlocalizedName": "block.minecraft.spruce_trapdoor", - "localizedName": "Spruce Trapdoor", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:spruce_wood", - "unlocalizedName": "block.minecraft.spruce_wood", - "localizedName": "Spruce Wood", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:squid_spawn_egg", - "unlocalizedName": "item.minecraft.squid_spawn_egg", - "localizedName": "Squid Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stick", - "unlocalizedName": "item.minecraft.stick", - "localizedName": "Stick", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:sticky_piston", - "unlocalizedName": "block.minecraft.sticky_piston", - "localizedName": "Sticky Piston", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stone", - "unlocalizedName": "block.minecraft.stone", - "localizedName": "Stone", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stone_axe", - "unlocalizedName": "item.minecraft.stone_axe", - "localizedName": "Stone Axe", - "maxStackSize": 1, - "maxDamage": 131 - }, - { - "id": "minecraft:stone_brick_slab", - "unlocalizedName": "block.minecraft.stone_brick_slab", - "localizedName": "Stone Brick Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stone_brick_stairs", - "unlocalizedName": "block.minecraft.stone_brick_stairs", - "localizedName": "Stone Brick Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stone_brick_wall", - "unlocalizedName": "block.minecraft.stone_brick_wall", - "localizedName": "Stone Brick Wall", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stone_bricks", - "unlocalizedName": "block.minecraft.stone_bricks", - "localizedName": "Stone Bricks", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stone_button", - "unlocalizedName": "block.minecraft.stone_button", - "localizedName": "Stone Button", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stone_hoe", - "unlocalizedName": "item.minecraft.stone_hoe", - "localizedName": "Stone Hoe", - "maxStackSize": 1, - "maxDamage": 131 - }, - { - "id": "minecraft:stone_pickaxe", - "unlocalizedName": "item.minecraft.stone_pickaxe", - "localizedName": "Stone Pickaxe", - "maxStackSize": 1, - "maxDamage": 131 - }, - { - "id": "minecraft:stone_pressure_plate", - "unlocalizedName": "block.minecraft.stone_pressure_plate", - "localizedName": "Stone Pressure Plate", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stone_shovel", - "unlocalizedName": "item.minecraft.stone_shovel", - "localizedName": "Stone Shovel", - "maxStackSize": 1, - "maxDamage": 131 - }, - { - "id": "minecraft:stone_slab", - "unlocalizedName": "block.minecraft.stone_slab", - "localizedName": "Stone Slab", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stone_stairs", - "unlocalizedName": "block.minecraft.stone_stairs", - "localizedName": "Stone Stairs", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stone_sword", - "unlocalizedName": "item.minecraft.stone_sword", - "localizedName": "Stone Sword", - "maxStackSize": 1, - "maxDamage": 131 - }, - { - "id": "minecraft:stonecutter", - "unlocalizedName": "block.minecraft.stonecutter", - "localizedName": "Stonecutter", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stray_spawn_egg", - "unlocalizedName": "item.minecraft.stray_spawn_egg", - "localizedName": "Stray Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:string", - "unlocalizedName": "item.minecraft.string", - "localizedName": "String", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stripped_acacia_log", - "unlocalizedName": "block.minecraft.stripped_acacia_log", - "localizedName": "Stripped Acacia Log", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stripped_acacia_wood", - "unlocalizedName": "block.minecraft.stripped_acacia_wood", - "localizedName": "Stripped Acacia Wood", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stripped_birch_log", - "unlocalizedName": "block.minecraft.stripped_birch_log", - "localizedName": "Stripped Birch Log", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stripped_birch_wood", - "unlocalizedName": "block.minecraft.stripped_birch_wood", - "localizedName": "Stripped Birch Wood", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stripped_dark_oak_log", - "unlocalizedName": "block.minecraft.stripped_dark_oak_log", - "localizedName": "Stripped Dark Oak Log", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stripped_dark_oak_wood", - "unlocalizedName": "block.minecraft.stripped_dark_oak_wood", - "localizedName": "Stripped Dark Oak Wood", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stripped_jungle_log", - "unlocalizedName": "block.minecraft.stripped_jungle_log", - "localizedName": "Stripped Jungle Log", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stripped_jungle_wood", - "unlocalizedName": "block.minecraft.stripped_jungle_wood", - "localizedName": "Stripped Jungle Wood", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stripped_oak_log", - "unlocalizedName": "block.minecraft.stripped_oak_log", - "localizedName": "Stripped Oak Log", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stripped_oak_wood", - "unlocalizedName": "block.minecraft.stripped_oak_wood", - "localizedName": "Stripped Oak Wood", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stripped_spruce_log", - "unlocalizedName": "block.minecraft.stripped_spruce_log", - "localizedName": "Stripped Spruce Log", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:stripped_spruce_wood", - "unlocalizedName": "block.minecraft.stripped_spruce_wood", - "localizedName": "Stripped Spruce Wood", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:structure_block", - "unlocalizedName": "block.minecraft.structure_block", - "localizedName": "Structure Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:structure_void", - "unlocalizedName": "block.minecraft.structure_void", - "localizedName": "Structure Void", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:sugar", - "unlocalizedName": "item.minecraft.sugar", - "localizedName": "Sugar", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:sugar_cane", - "unlocalizedName": "block.minecraft.sugar_cane", - "localizedName": "Sugar Cane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:sunflower", - "unlocalizedName": "block.minecraft.sunflower", - "localizedName": "Sunflower", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:suspicious_stew", - "unlocalizedName": "item.minecraft.suspicious_stew", - "localizedName": "Suspicious Stew", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:sweet_berries", - "unlocalizedName": "item.minecraft.sweet_berries", - "localizedName": "Sweet Berries", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:tall_grass", - "unlocalizedName": "block.minecraft.tall_grass", - "localizedName": "Tall Grass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:terracotta", - "unlocalizedName": "block.minecraft.terracotta", - "localizedName": "Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:tipped_arrow", - "unlocalizedName": "item.minecraft.tipped_arrow.effect.poison", - "localizedName": "Arrow of Poison", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:tnt", - "unlocalizedName": "block.minecraft.tnt", - "localizedName": "TNT", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:tnt_minecart", - "unlocalizedName": "item.minecraft.tnt_minecart", - "localizedName": "Minecart with TNT", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:torch", - "unlocalizedName": "block.minecraft.torch", - "localizedName": "Torch", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:totem_of_undying", - "unlocalizedName": "item.minecraft.totem_of_undying", - "localizedName": "Totem of Undying", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:trader_llama_spawn_egg", - "unlocalizedName": "item.minecraft.trader_llama_spawn_egg", - "localizedName": "Trader Llama Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:trapped_chest", - "unlocalizedName": "block.minecraft.trapped_chest", - "localizedName": "Trapped Chest", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:trident", - "unlocalizedName": "item.minecraft.trident", - "localizedName": "Trident", - "maxStackSize": 1, - "maxDamage": 250 - }, - { - "id": "minecraft:tripwire_hook", - "unlocalizedName": "block.minecraft.tripwire_hook", - "localizedName": "Tripwire Hook", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:tropical_fish", - "unlocalizedName": "item.minecraft.tropical_fish", - "localizedName": "Tropical Fish", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:tropical_fish_bucket", - "unlocalizedName": "item.minecraft.tropical_fish_bucket", - "localizedName": "Bucket of Tropical Fish", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:tropical_fish_spawn_egg", - "unlocalizedName": "item.minecraft.tropical_fish_spawn_egg", - "localizedName": "Tropical Fish Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:tube_coral", - "unlocalizedName": "block.minecraft.tube_coral", - "localizedName": "Tube Coral", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:tube_coral_block", - "unlocalizedName": "block.minecraft.tube_coral_block", - "localizedName": "Tube Coral Block", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:tube_coral_fan", - "unlocalizedName": "block.minecraft.tube_coral_fan", - "localizedName": "Tube Coral Fan", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:turtle_egg", - "unlocalizedName": "block.minecraft.turtle_egg", - "localizedName": "Turtle Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:turtle_helmet", - "unlocalizedName": "item.minecraft.turtle_helmet", - "localizedName": "Turtle Shell", - "maxStackSize": 1, - "maxDamage": 275 - }, - { - "id": "minecraft:turtle_spawn_egg", - "unlocalizedName": "item.minecraft.turtle_spawn_egg", - "localizedName": "Turtle Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:vex_spawn_egg", - "unlocalizedName": "item.minecraft.vex_spawn_egg", - "localizedName": "Vex Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:villager_spawn_egg", - "unlocalizedName": "item.minecraft.villager_spawn_egg", - "localizedName": "Villager Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:vindicator_spawn_egg", - "unlocalizedName": "item.minecraft.vindicator_spawn_egg", - "localizedName": "Vindicator Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:vine", - "unlocalizedName": "block.minecraft.vine", - "localizedName": "Vines", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:wandering_trader_spawn_egg", - "unlocalizedName": "item.minecraft.wandering_trader_spawn_egg", - "localizedName": "Wandering Trader Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:water_bucket", - "unlocalizedName": "item.minecraft.water_bucket", - "localizedName": "Water Bucket", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:wet_sponge", - "unlocalizedName": "block.minecraft.wet_sponge", - "localizedName": "Wet Sponge", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:wheat", - "unlocalizedName": "item.minecraft.wheat", - "localizedName": "Wheat", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:wheat_seeds", - "unlocalizedName": "item.minecraft.wheat_seeds", - "localizedName": "Wheat Seeds", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:white_banner", - "unlocalizedName": "block.minecraft.white_banner", - "localizedName": "White Banner", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:white_bed", - "unlocalizedName": "block.minecraft.white_bed", - "localizedName": "White Bed", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:white_carpet", - "unlocalizedName": "block.minecraft.white_carpet", - "localizedName": "White Carpet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:white_concrete", - "unlocalizedName": "block.minecraft.white_concrete", - "localizedName": "White Concrete", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:white_concrete_powder", - "unlocalizedName": "block.minecraft.white_concrete_powder", - "localizedName": "White Concrete Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:white_dye", - "unlocalizedName": "item.minecraft.white_dye", - "localizedName": "White Dye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:white_glazed_terracotta", - "unlocalizedName": "block.minecraft.white_glazed_terracotta", - "localizedName": "White Glazed Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:white_shulker_box", - "unlocalizedName": "block.minecraft.white_shulker_box", - "localizedName": "White Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:white_stained_glass", - "unlocalizedName": "block.minecraft.white_stained_glass", - "localizedName": "White Stained Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:white_stained_glass_pane", - "unlocalizedName": "block.minecraft.white_stained_glass_pane", - "localizedName": "White Stained Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:white_terracotta", - "unlocalizedName": "block.minecraft.white_terracotta", - "localizedName": "White Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:white_tulip", - "unlocalizedName": "block.minecraft.white_tulip", - "localizedName": "White Tulip", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:white_wool", - "unlocalizedName": "block.minecraft.white_wool", - "localizedName": "White Wool", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:witch_spawn_egg", - "unlocalizedName": "item.minecraft.witch_spawn_egg", - "localizedName": "Witch Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:wither_rose", - "unlocalizedName": "block.minecraft.wither_rose", - "localizedName": "Wither Rose", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:wither_skeleton_skull", - "unlocalizedName": "block.minecraft.wither_skeleton_skull", - "localizedName": "Wither Skeleton Skull", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:wither_skeleton_spawn_egg", - "unlocalizedName": "item.minecraft.wither_skeleton_spawn_egg", - "localizedName": "Wither Skeleton Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:wolf_spawn_egg", - "unlocalizedName": "item.minecraft.wolf_spawn_egg", - "localizedName": "Wolf Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:wooden_axe", - "unlocalizedName": "item.minecraft.wooden_axe", - "localizedName": "Wooden Axe", - "maxStackSize": 1, - "maxDamage": 59 - }, - { - "id": "minecraft:wooden_hoe", - "unlocalizedName": "item.minecraft.wooden_hoe", - "localizedName": "Wooden Hoe", - "maxStackSize": 1, - "maxDamage": 59 - }, - { - "id": "minecraft:wooden_pickaxe", - "unlocalizedName": "item.minecraft.wooden_pickaxe", - "localizedName": "Wooden Pickaxe", - "maxStackSize": 1, - "maxDamage": 59 - }, - { - "id": "minecraft:wooden_shovel", - "unlocalizedName": "item.minecraft.wooden_shovel", - "localizedName": "Wooden Shovel", - "maxStackSize": 1, - "maxDamage": 59 - }, - { - "id": "minecraft:wooden_sword", - "unlocalizedName": "item.minecraft.wooden_sword", - "localizedName": "Wooden Sword", - "maxStackSize": 1, - "maxDamage": 59 - }, - { - "id": "minecraft:writable_book", - "unlocalizedName": "item.minecraft.writable_book", - "localizedName": "Book and Quill", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:written_book", - "unlocalizedName": "item.minecraft.written_book", - "localizedName": "Written Book", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:yellow_banner", - "unlocalizedName": "block.minecraft.yellow_banner", - "localizedName": "Yellow Banner", - "maxStackSize": 16, - "maxDamage": 0 - }, - { - "id": "minecraft:yellow_bed", - "unlocalizedName": "block.minecraft.yellow_bed", - "localizedName": "Yellow Bed", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:yellow_carpet", - "unlocalizedName": "block.minecraft.yellow_carpet", - "localizedName": "Yellow Carpet", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:yellow_concrete", - "unlocalizedName": "block.minecraft.yellow_concrete", - "localizedName": "Yellow Concrete", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:yellow_concrete_powder", - "unlocalizedName": "block.minecraft.yellow_concrete_powder", - "localizedName": "Yellow Concrete Powder", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:yellow_dye", - "unlocalizedName": "item.minecraft.yellow_dye", - "localizedName": "Yellow Dye", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:yellow_glazed_terracotta", - "unlocalizedName": "block.minecraft.yellow_glazed_terracotta", - "localizedName": "Yellow Glazed Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:yellow_shulker_box", - "unlocalizedName": "block.minecraft.yellow_shulker_box", - "localizedName": "Yellow Shulker Box", - "maxStackSize": 1, - "maxDamage": 0 - }, - { - "id": "minecraft:yellow_stained_glass", - "unlocalizedName": "block.minecraft.yellow_stained_glass", - "localizedName": "Yellow Stained Glass", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:yellow_stained_glass_pane", - "unlocalizedName": "block.minecraft.yellow_stained_glass_pane", - "localizedName": "Yellow Stained Glass Pane", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:yellow_terracotta", - "unlocalizedName": "block.minecraft.yellow_terracotta", - "localizedName": "Yellow Terracotta", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:yellow_wool", - "unlocalizedName": "block.minecraft.yellow_wool", - "localizedName": "Yellow Wool", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:zombie_head", - "unlocalizedName": "block.minecraft.zombie_head", - "localizedName": "Zombie Head", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:zombie_horse_spawn_egg", - "unlocalizedName": "item.minecraft.zombie_horse_spawn_egg", - "localizedName": "Zombie Horse Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:zombie_pigman_spawn_egg", - "unlocalizedName": "item.minecraft.zombie_pigman_spawn_egg", - "localizedName": "Zombie Pigman Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:zombie_spawn_egg", - "unlocalizedName": "item.minecraft.zombie_spawn_egg", - "localizedName": "Zombie Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - }, - { - "id": "minecraft:zombie_villager_spawn_egg", - "unlocalizedName": "item.minecraft.zombie_villager_spawn_egg", - "localizedName": "Zombie Villager Spawn Egg", - "maxStackSize": 64, - "maxDamage": 0 - } -] \ No newline at end of file From 371460a1cebd2abf8b674cffaac81d295a59d6e5 Mon Sep 17 00:00:00 2001 From: N0tMyFaultOG Date: Wed, 16 Sep 2020 16:10:00 +0200 Subject: [PATCH 7/8] Relocate metrics --- worldedit-bukkit/build.gradle.kts | 7 +- .../worldedit/bukkit/WorldEditPlugin.java | 2 - .../main/java/org/bstats/bukkit/Metrics.java | 720 ------------------ 3 files changed, 6 insertions(+), 723 deletions(-) delete mode 100644 worldedit-bukkit/src/main/java/org/bstats/bukkit/Metrics.java diff --git a/worldedit-bukkit/build.gradle.kts b/worldedit-bukkit/build.gradle.kts index c6e75daf4..563861603 100644 --- a/worldedit-bukkit/build.gradle.kts +++ b/worldedit-bukkit/build.gradle.kts @@ -12,7 +12,7 @@ repositories { maven { url = uri("https://repo.codemc.org/repository/maven-public") } maven { url = uri("https://papermc.io/repo/repository/maven-public/") } maven { url = uri("https://maven.enginehub.org/repo/") } - maven { url = uri("http://ci.emc.gs/nexus/content/groups/aikar/") } + maven { url = uri("https://ci.emc.gs/nexus/content/groups/aikar/") } maven { url = uri("https://ci.athion.net/plugin/repository/tools/") } maven { this.name = "JitPack" @@ -60,6 +60,8 @@ dependencies { exclude("com.sk89q.worldedit.worldedit-libs", "bukkit") exclude("com.sk89q.worldedit.worldedit-libs", "core") } + "compile"("org.bstats:bstats-bukkit:1.7") + // Third party "implementation"("com.github.InventivetalentDev:MapManager:1.7.+") { isTransitive = false } "implementation"("com.github.TechFortress:GriefPrevention:16.+") { isTransitive = false } "implementation"("com.massivecraft:mcore:7.0.1") { isTransitive = false } @@ -106,6 +108,9 @@ tasks.named("shadowJar") { relocate("it.unimi.dsi.fastutil", "com.sk89q.worldedit.bukkit.fastutil") { include(dependency("it.unimi.dsi:fastutil")) } + relocate("org.bstats", "com.boydti.metrics") { + include(dependency("org.bstats:bstats-bukkit:1.7")) + } } } diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java index 5e2323513..10f4ef2b5 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java @@ -107,7 +107,6 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter private static final Logger log = LoggerFactory.getLogger(WorldEditPlugin.class); public static final String CUI_PLUGIN_CHANNEL = "worldedit:cui"; private static WorldEditPlugin INSTANCE; - // The BSTATS_ID needs to be modified for FAWE to prevent contaminating WorldEdit stats private static final int BSTATS_PLUGIN_ID = 1403; private BukkitImplAdapter bukkitAdapter; @@ -181,7 +180,6 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter } } - //todo consider removing this again because it is better to stay consistent with upstream // Setup metrics new Metrics(this, BSTATS_PLUGIN_ID); } diff --git a/worldedit-bukkit/src/main/java/org/bstats/bukkit/Metrics.java b/worldedit-bukkit/src/main/java/org/bstats/bukkit/Metrics.java deleted file mode 100644 index ff8b3d951..000000000 --- a/worldedit-bukkit/src/main/java/org/bstats/bukkit/Metrics.java +++ /dev/null @@ -1,720 +0,0 @@ -package org.bstats.bukkit; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; -import com.google.gson.JsonPrimitive; -import org.bukkit.Bukkit; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.plugin.Plugin; -import org.bukkit.plugin.RegisteredServiceProvider; -import org.bukkit.plugin.ServicePriority; - -import javax.net.ssl.HttpsURLConnection; -import java.io.*; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.net.URL; -import java.nio.charset.StandardCharsets; -import java.util.*; -import java.util.concurrent.Callable; -import java.util.logging.Level; -import java.util.zip.GZIPOutputStream; - -/** - * bStats collects some data for plugin authors. - *

- * Check out https://bStats.org/ to learn more about bStats! - */ -@SuppressWarnings({"WeakerAccess", "unused"}) -public class Metrics { - - static { - // You can use the property to disable the check in your test environment - if (System.getProperty("bstats.relocatecheck") == null || !System.getProperty("bstats.relocatecheck").equals("false")) { - // Maven's Relocate is clever and changes strings, too. So we have to use this little "trick" ... :D - final String defaultPackage = new String( - new byte[]{'o', 'r', 'g', '.', 'b', 's', 't', 'a', 't', 's', '.', 'b', 'u', 'k', 'k', 'i', 't'}); - final String examplePackage = new String(new byte[]{'y', 'o', 'u', 'r', '.', 'p', 'a', 'c', 'k', 'a', 'g', 'e'}); - // We want to make sure nobody just copy & pastes the example and use the wrong package names - if (Metrics.class.getPackage().getName().equals(defaultPackage) || Metrics.class.getPackage().getName().equals(examplePackage)) { - throw new IllegalStateException("bStats Metrics class has not been relocated correctly!"); - } - } - } - - // The version of this bStats class - public static final int B_STATS_VERSION = 1; - - // The url to which the data is sent - private static final String URL = "https://bStats.org/submitData/bukkit"; - - // Is bStats enabled on this server? - private boolean enabled; - - // Should failed requests be logged? - private static boolean logFailedRequests; - - // Should the sent data be logged? - private static boolean logSentData; - - // Should the response text be logged? - private static boolean logResponseStatusText; - - // The uuid of the server - private static String serverUUID; - - // The plugin - private final Plugin plugin; - - // The plugin id - private final int pluginId; - - // A list with all custom charts - private final List charts = new ArrayList<>(); - - /** - * Class constructor. - * - * @param plugin The plugin which stats should be submitted. - * @param pluginId The id of the plugin. - * It can be found at What is my plugin id? - */ - public Metrics(Plugin plugin, int pluginId) { - if (plugin == null) { - throw new IllegalArgumentException("Plugin cannot be null!"); - } - this.plugin = plugin; - this.pluginId = pluginId; - - // Get the config file - File bStatsFolder = new File(plugin.getDataFolder().getParentFile(), "bStats"); - File configFile = new File(bStatsFolder, "config.yml"); - YamlConfiguration config = YamlConfiguration.loadConfiguration(configFile); - - // Check if the config file exists - if (!config.isSet("serverUuid")) { - - // Add default values - config.addDefault("enabled", true); - // Every server gets it's unique random id. - config.addDefault("serverUuid", UUID.randomUUID().toString()); - // Should failed request be logged? - config.addDefault("logFailedRequests", false); - // Should the sent data be logged? - config.addDefault("logSentData", false); - // Should the response text be logged? - config.addDefault("logResponseStatusText", false); - - // Inform the server owners about bStats - config.options().header( - "bStats collects some data for plugin authors like how many servers are using their plugins.\n" + - "To honor their work, you should not disable it.\n" + - "This has nearly no effect on the server performance!\n" + - "Check out https://bStats.org/ to learn more :)" - ).copyDefaults(true); - try { - config.save(configFile); - } catch (IOException ignored) { } - } - - // Load the data - enabled = config.getBoolean("enabled", true); - serverUUID = config.getString("serverUuid"); - logFailedRequests = config.getBoolean("logFailedRequests", false); - logSentData = config.getBoolean("logSentData", false); - logResponseStatusText = config.getBoolean("logResponseStatusText", false); - - if (enabled) { - boolean found = false; - // Search for all other bStats Metrics classes to see if we are the first one - for (Class service : Bukkit.getServicesManager().getKnownServices()) { - try { - service.getField("B_STATS_VERSION"); // Our identifier :) - found = true; // We aren't the first - break; - } catch (NoSuchFieldException ignored) { } - } - // Register our service - Bukkit.getServicesManager().register(Metrics.class, this, plugin, ServicePriority.Normal); - if (!found) { - // We are the first! - startSubmitting(); - } - } - } - - /** - * Checks if bStats is enabled. - * - * @return Whether bStats is enabled or not. - */ - public boolean isEnabled() { - return enabled; - } - - /** - * Adds a custom chart. - * - * @param chart The chart to add. - */ - public void addCustomChart(CustomChart chart) { - if (chart == null) { - throw new IllegalArgumentException("Chart cannot be null!"); - } - charts.add(chart); - } - - /** - * Starts the Scheduler which submits our data every 30 minutes. - */ - private void startSubmitting() { - final Timer timer = new Timer(true); // We use a timer cause the Bukkit scheduler is affected by server lags - timer.scheduleAtFixedRate(new TimerTask() { - @Override - public void run() { - if (!plugin.isEnabled()) { // Plugin was disabled - timer.cancel(); - return; - } - // Nevertheless we want our code to run in the Bukkit main thread, so we have to use the Bukkit scheduler - // Don't be afraid! The connection to the bStats server is still async, only the stats collection is sync ;) - Bukkit.getScheduler().runTask(plugin, () -> submitData()); - } - }, 1000 * 60 * 5, 1000 * 60 * 30); - // Submit the data every 30 minutes, first time after 5 minutes to give other plugins enough time to start - // WARNING: Changing the frequency has no effect but your plugin WILL be blocked/deleted! - // WARNING: Just don't do it! - } - - /** - * Gets the plugin specific data. - * This method is called using Reflection. - * - * @return The plugin specific data. - */ - public JsonObject getPluginData() { - JsonObject data = new JsonObject(); - - String pluginName = "FastAsyncWorldEdit"; - String pluginVersion = plugin.getDescription().getVersion(); - - data.addProperty("pluginName", pluginName); // Append the name of the plugin - data.addProperty("id", pluginId); // Append the id of the plugin - data.addProperty("pluginVersion", pluginVersion); // Append the version of the plugin - JsonArray customCharts = new JsonArray(); - for (CustomChart customChart : charts) { - // Add the data of the custom charts - JsonObject chart = customChart.getRequestJsonObject(); - if (chart == null) { // If the chart is null, we skip it - continue; - } - customCharts.add(chart); - } - data.add("customCharts", customCharts); - - return data; - } - - /** - * Gets the server specific data. - * - * @return The server specific data. - */ - private JsonObject getServerData() { - // Minecraft specific data - int playerAmount; - try { - // Around MC 1.8 the return type was changed to a collection from an array, - // This fixes java.lang.NoSuchMethodError: org.bukkit.Bukkit.getOnlinePlayers()Ljava/util/Collection; - Method onlinePlayersMethod = Class.forName("org.bukkit.Server").getMethod("getOnlinePlayers"); - playerAmount = onlinePlayersMethod.getReturnType().equals(Collection.class) - ? ((Collection) onlinePlayersMethod.invoke(Bukkit.getServer())).size() - : ((Player[]) onlinePlayersMethod.invoke(Bukkit.getServer())).length; - } catch (Exception e) { - playerAmount = Bukkit.getOnlinePlayers().size(); // Just use the new method if the Reflection failed - } - int onlineMode = Bukkit.getOnlineMode() ? 1 : 0; - String bukkitVersion = Bukkit.getVersion(); - String bukkitName = Bukkit.getName(); - - // OS/Java specific data - String javaVersion = System.getProperty("java.version"); - String osName = System.getProperty("os.name"); - String osArch = System.getProperty("os.arch"); - String osVersion = System.getProperty("os.version"); - int coreCount = Runtime.getRuntime().availableProcessors(); - - JsonObject data = new JsonObject(); - - data.addProperty("serverUUID", serverUUID); - - data.addProperty("playerAmount", playerAmount); - data.addProperty("onlineMode", onlineMode); - data.addProperty("bukkitVersion", bukkitVersion); - data.addProperty("bukkitName", bukkitName); - - data.addProperty("javaVersion", javaVersion); - data.addProperty("osName", osName); - data.addProperty("osArch", osArch); - data.addProperty("osVersion", osVersion); - data.addProperty("coreCount", coreCount); - - return data; - } - - /** - * Collects the data and sends it afterwards. - */ - private void submitData() { - final JsonObject data = getServerData(); - - JsonArray pluginData = new JsonArray(); - // Search for all other bStats Metrics classes to get their plugin data - for (Class service : Bukkit.getServicesManager().getKnownServices()) { - try { - service.getField("B_STATS_VERSION"); // Our identifier :) - - for (RegisteredServiceProvider provider : Bukkit.getServicesManager().getRegistrations(service)) { - try { - Object plugin = provider.getService().getMethod("getPluginData").invoke(provider.getProvider()); - if (plugin instanceof JsonObject) { - pluginData.add((JsonObject) plugin); - } else { // old bstats version compatibility - try { - Class jsonObjectJsonSimple = Class.forName("org.json.simple.JSONObject"); - if (plugin.getClass().isAssignableFrom(jsonObjectJsonSimple)) { - Method jsonStringGetter = jsonObjectJsonSimple.getDeclaredMethod("toJSONString"); - jsonStringGetter.setAccessible(true); - String jsonString = (String) jsonStringGetter.invoke(plugin); - JsonObject object = new JsonParser().parse(jsonString).getAsJsonObject(); - pluginData.add(object); - } - } catch (ClassNotFoundException e) { - // minecraft version 1.14+ - if (logFailedRequests) { - this.plugin.getLogger().log(Level.SEVERE, "Encountered unexpected exception", e); - } - } - } - } catch (NullPointerException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ignored) { } - } - } catch (NoSuchFieldException ignored) { } - } - - data.add("plugins", pluginData); - - // Create a new thread for the connection to the bStats server - new Thread(() -> { - try { - // Send the data - sendData(plugin, data); - } catch (Exception e) { - // Something went wrong! :( - if (logFailedRequests) { - plugin.getLogger().log(Level.WARNING, "Could not submit plugin stats of " + plugin.getName(), e); - } - } - }).start(); - } - - /** - * Sends the data to the bStats server. - * - * @param plugin Any plugin. It's just used to get a logger instance. - * @param data The data to send. - * @throws Exception If the request failed. - */ - private static void sendData(Plugin plugin, JsonObject data) throws Exception { - if (data == null) { - throw new IllegalArgumentException("Data cannot be null!"); - } - if (Bukkit.isPrimaryThread()) { - throw new IllegalAccessException("This method must not be called from the main thread!"); - } - if (logSentData) { - plugin.getLogger().info("Sending data to bStats: " + data); - } - HttpsURLConnection connection = (HttpsURLConnection) new URL(URL).openConnection(); - - // Compress the data to save bandwidth - byte[] compressedData = compress(data.toString()); - - // Add headers - connection.setRequestMethod("POST"); - connection.addRequestProperty("Accept", "application/json"); - connection.addRequestProperty("Connection", "close"); - connection.addRequestProperty("Content-Encoding", "gzip"); // We gzip our request - connection.addRequestProperty("Content-Length", String.valueOf(compressedData.length)); - connection.setRequestProperty("Content-Type", "application/json"); // We send our data in JSON format - connection.setRequestProperty("User-Agent", "MC-Server/" + B_STATS_VERSION); - - // Send data - connection.setDoOutput(true); - try (DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream())) { - outputStream.write(compressedData); - } - - StringBuilder builder = new StringBuilder(); - try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) { - String line; - while ((line = bufferedReader.readLine()) != null) { - builder.append(line); - } - } - - if (logResponseStatusText) { - plugin.getLogger().info("Sent data to bStats and received response: " + builder); - } - } - - /** - * Gzips the given String. - * - * @param str The string to gzip. - * @return The gzipped String. - * @throws IOException If the compression failed. - */ - private static byte[] compress(final String str) throws IOException { - if (str == null) { - return null; - } - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - try (GZIPOutputStream gzip = new GZIPOutputStream(outputStream)) { - gzip.write(str.getBytes(StandardCharsets.UTF_8)); - } - return outputStream.toByteArray(); - } - - /** - * Represents a custom chart. - */ - public static abstract class CustomChart { - - // The id of the chart - final String chartId; - - /** - * Class constructor. - * - * @param chartId The id of the chart. - */ - CustomChart(String chartId) { - if (chartId == null || chartId.isEmpty()) { - throw new IllegalArgumentException("ChartId cannot be null or empty!"); - } - this.chartId = chartId; - } - - private JsonObject getRequestJsonObject() { - JsonObject chart = new JsonObject(); - chart.addProperty("chartId", chartId); - try { - JsonObject data = getChartData(); - if (data == null) { - // If the data is null we don't send the chart. - return null; - } - chart.add("data", data); - } catch (Throwable t) { - if (logFailedRequests) { - Bukkit.getLogger().log(Level.WARNING, "Failed to get data for custom chart with id " + chartId, t); - } - return null; - } - return chart; - } - - protected abstract JsonObject getChartData() throws Exception; - - } - - /** - * Represents a custom simple pie. - */ - public static class SimplePie extends CustomChart { - - private final Callable callable; - - /** - * Class constructor. - * - * @param chartId The id of the chart. - * @param callable The callable which is used to request the chart data. - */ - public SimplePie(String chartId, Callable callable) { - super(chartId); - this.callable = callable; - } - - @Override - protected JsonObject getChartData() throws Exception { - JsonObject data = new JsonObject(); - String value = callable.call(); - if (value == null || value.isEmpty()) { - // Null = skip the chart - return null; - } - data.addProperty("value", value); - return data; - } - } - - /** - * Represents a custom advanced pie. - */ - public static class AdvancedPie extends CustomChart { - - private final Callable> callable; - - /** - * Class constructor. - * - * @param chartId The id of the chart. - * @param callable The callable which is used to request the chart data. - */ - public AdvancedPie(String chartId, Callable> callable) { - super(chartId); - this.callable = callable; - } - - @Override - protected JsonObject getChartData() throws Exception { - JsonObject data = new JsonObject(); - JsonObject values = new JsonObject(); - Map map = callable.call(); - if (map == null || map.isEmpty()) { - // Null = skip the chart - return null; - } - boolean allSkipped = true; - for (Map.Entry entry : map.entrySet()) { - if (entry.getValue() == 0) { - continue; // Skip this invalid - } - allSkipped = false; - values.addProperty(entry.getKey(), entry.getValue()); - } - if (allSkipped) { - // Null = skip the chart - return null; - } - data.add("values", values); - return data; - } - } - - /** - * Represents a custom drilldown pie. - */ - public static class DrilldownPie extends CustomChart { - - private final Callable>> callable; - - /** - * Class constructor. - * - * @param chartId The id of the chart. - * @param callable The callable which is used to request the chart data. - */ - public DrilldownPie(String chartId, Callable>> callable) { - super(chartId); - this.callable = callable; - } - - @Override - public JsonObject getChartData() throws Exception { - JsonObject data = new JsonObject(); - JsonObject values = new JsonObject(); - Map> map = callable.call(); - if (map == null || map.isEmpty()) { - // Null = skip the chart - return null; - } - boolean reallyAllSkipped = true; - for (Map.Entry> entryValues : map.entrySet()) { - JsonObject value = new JsonObject(); - boolean allSkipped = true; - for (Map.Entry valueEntry : map.get(entryValues.getKey()).entrySet()) { - value.addProperty(valueEntry.getKey(), valueEntry.getValue()); - allSkipped = false; - } - if (!allSkipped) { - reallyAllSkipped = false; - values.add(entryValues.getKey(), value); - } - } - if (reallyAllSkipped) { - // Null = skip the chart - return null; - } - data.add("values", values); - return data; - } - } - - /** - * Represents a custom single line chart. - */ - public static class SingleLineChart extends CustomChart { - - private final Callable callable; - - /** - * Class constructor. - * - * @param chartId The id of the chart. - * @param callable The callable which is used to request the chart data. - */ - public SingleLineChart(String chartId, Callable callable) { - super(chartId); - this.callable = callable; - } - - @Override - protected JsonObject getChartData() throws Exception { - JsonObject data = new JsonObject(); - int value = callable.call(); - if (value == 0) { - // Null = skip the chart - return null; - } - data.addProperty("value", value); - return data; - } - - } - - /** - * Represents a custom multi line chart. - */ - public static class MultiLineChart extends CustomChart { - - private final Callable> callable; - - /** - * Class constructor. - * - * @param chartId The id of the chart. - * @param callable The callable which is used to request the chart data. - */ - public MultiLineChart(String chartId, Callable> callable) { - super(chartId); - this.callable = callable; - } - - @Override - protected JsonObject getChartData() throws Exception { - JsonObject data = new JsonObject(); - JsonObject values = new JsonObject(); - Map map = callable.call(); - if (map == null || map.isEmpty()) { - // Null = skip the chart - return null; - } - boolean allSkipped = true; - for (Map.Entry entry : map.entrySet()) { - if (entry.getValue() == 0) { - continue; // Skip this invalid - } - allSkipped = false; - values.addProperty(entry.getKey(), entry.getValue()); - } - if (allSkipped) { - // Null = skip the chart - return null; - } - data.add("values", values); - return data; - } - - } - - /** - * Represents a custom simple bar chart. - */ - public static class SimpleBarChart extends CustomChart { - - private final Callable> callable; - - /** - * Class constructor. - * - * @param chartId The id of the chart. - * @param callable The callable which is used to request the chart data. - */ - public SimpleBarChart(String chartId, Callable> callable) { - super(chartId); - this.callable = callable; - } - - @Override - protected JsonObject getChartData() throws Exception { - JsonObject data = new JsonObject(); - JsonObject values = new JsonObject(); - Map map = callable.call(); - if (map == null || map.isEmpty()) { - // Null = skip the chart - return null; - } - for (Map.Entry entry : map.entrySet()) { - JsonArray categoryValues = new JsonArray(); - categoryValues.add(new JsonPrimitive(entry.getValue())); - values.add(entry.getKey(), categoryValues); - } - data.add("values", values); - return data; - } - - } - - /** - * Represents a custom advanced bar chart. - */ - public static class AdvancedBarChart extends CustomChart { - - private final Callable> callable; - - /** - * Class constructor. - * - * @param chartId The id of the chart. - * @param callable The callable which is used to request the chart data. - */ - public AdvancedBarChart(String chartId, Callable> callable) { - super(chartId); - this.callable = callable; - } - - @Override - protected JsonObject getChartData() throws Exception { - JsonObject data = new JsonObject(); - JsonObject values = new JsonObject(); - Map map = callable.call(); - if (map == null || map.isEmpty()) { - // Null = skip the chart - return null; - } - boolean allSkipped = true; - for (Map.Entry entry : map.entrySet()) { - if (entry.getValue().length == 0) { - continue; // Skip this invalid - } - allSkipped = false; - JsonArray categoryValues = new JsonArray(); - for (int categoryValue : entry.getValue()) { - categoryValues.add(new JsonPrimitive(categoryValue)); - } - values.add(entry.getKey(), categoryValues); - } - if (allSkipped) { - // Null = skip the chart - return null; - } - data.add("values", values); - return data; - } - } - -} From c7369e2cc0ed6d6e46241136bfc3130ba0c6e966 Mon Sep 17 00:00:00 2001 From: N0tMyFaultOG Date: Wed, 16 Sep 2020 16:12:20 +0200 Subject: [PATCH 8/8] Update plugin.yml --- worldedit-bukkit/src/main/resources/plugin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/worldedit-bukkit/src/main/resources/plugin.yml b/worldedit-bukkit/src/main/resources/plugin.yml index 30b1c0f50..2f968bff8 100644 --- a/worldedit-bukkit/src/main/resources/plugin.yml +++ b/worldedit-bukkit/src/main/resources/plugin.yml @@ -2,7 +2,7 @@ name: FastAsyncWorldEdit main: com.sk89q.worldedit.bukkit.WorldEditPlugin version: "${internalVersion}" load: STARTUP -api-version: 1.13 +api-version: 1.15 softdepend: [Vault] provides: [WorldEdit] website: https://intellectualsites.github.io/download/fawe.html