forked from GeyserMC/Geyser
new remapper (:
This commit is contained in:
parent
02fc6c2427
commit
202e3e584c
28 changed files with 23543 additions and 18789 deletions
|
@ -22,5 +22,11 @@
|
|||
<version>2.8.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-io</artifactId>
|
||||
<version>1.3.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
|
@ -29,9 +29,15 @@ import org.geysermc.api.command.CommandMap;
|
|||
import org.geysermc.api.logger.Logger;
|
||||
import org.geysermc.api.plugin.PluginManager;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
|
||||
public class Geyser {
|
||||
private static final Map<Object, Player> players = new HashMap<>();
|
||||
|
||||
|
||||
private static Connector connector;
|
||||
|
||||
|
@ -83,4 +89,28 @@ public class Geyser {
|
|||
public static ScheduledExecutorService getGeneralThreadPool() {
|
||||
return connector.getGeneralThreadPool();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the amount of online players
|
||||
*/
|
||||
public static int getPlayerCount() {
|
||||
return players.size();
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a player
|
||||
* @param p The player to add
|
||||
*/
|
||||
public static void addPlayer(Player p) {
|
||||
players.put(Objects.requireNonNull(Objects.requireNonNull(Objects.requireNonNull(p, "player").getAuthenticationData(), "authData").getUUID(), "player uuid"), p);
|
||||
players.put(Objects.requireNonNull(Objects.requireNonNull(Objects.requireNonNull(p, "player").getAuthenticationData(), "authData").getName(), "player name"), p);
|
||||
}
|
||||
|
||||
/**
|
||||
* Disconnect a player
|
||||
* @param p The player to remove/disconnect
|
||||
*/
|
||||
public static void removePlayer(Player p) {
|
||||
players.remove(Objects.requireNonNull(Objects.requireNonNull(Objects.requireNonNull(p, "player").getAuthenticationData(), "authData").getName(), "player name"));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,5 +32,6 @@ public interface AuthData {
|
|||
String getName();
|
||||
|
||||
UUID getUUID();
|
||||
|
||||
String getXboxUUID();
|
||||
}
|
||||
|
|
|
@ -101,6 +101,12 @@
|
|||
<version>1.1-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.googlecode.json-simple</groupId>
|
||||
<artifactId>json-simple</artifactId>
|
||||
<version>1.1.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.steveice10</groupId>
|
||||
<artifactId>mcprotocollib</artifactId>
|
||||
|
|
|
@ -29,6 +29,7 @@ import com.nukkitx.protocol.bedrock.BedrockPacketCodec;
|
|||
import com.nukkitx.protocol.bedrock.BedrockServer;
|
||||
import com.nukkitx.protocol.bedrock.v361.Bedrock_v361;
|
||||
import lombok.Getter;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.fusesource.jansi.AnsiConsole;
|
||||
import org.geysermc.api.Connector;
|
||||
import org.geysermc.api.Geyser;
|
||||
|
@ -39,6 +40,7 @@ import org.geysermc.connector.command.GeyserCommandMap;
|
|||
import org.geysermc.connector.configuration.GeyserConfiguration;
|
||||
import org.geysermc.connector.console.ConsoleCommandReader;
|
||||
import org.geysermc.connector.console.GeyserLogger;
|
||||
import org.geysermc.connector.metrics.Metrics;
|
||||
import org.geysermc.connector.network.ConnectorServerEventHandler;
|
||||
import org.geysermc.connector.network.remote.RemoteJavaServer;
|
||||
import org.geysermc.connector.network.translators.TranslatorsInit;
|
||||
|
@ -51,6 +53,8 @@ import org.geysermc.connector.utils.Toolbox;
|
|||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.util.Random;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
@ -88,6 +92,9 @@ public class GeyserConnector implements Connector {
|
|||
@Getter
|
||||
private PingPassthroughThread passthroughThread;
|
||||
|
||||
@Getter
|
||||
private Metrics METRICS;
|
||||
|
||||
public static void main(String[] args) {
|
||||
instance = new GeyserConnector();
|
||||
}
|
||||
|
@ -112,7 +119,7 @@ public class GeyserConnector implements Connector {
|
|||
logger.info("******************************************");
|
||||
|
||||
try {
|
||||
File configFile = FileUtils.fileOrCopiedFromResource("config.yml");
|
||||
File configFile = FileUtils.fileOrCopiedFromResource("config.yml", (x) -> x.replaceAll("UUIDTESTUUIDTEST", UUID.randomUUID().toString()));
|
||||
|
||||
config = FileUtils.loadConfig(configFile, GeyserConfiguration.class);
|
||||
} catch (IOException ex) {
|
||||
|
@ -120,6 +127,10 @@ public class GeyserConnector implements Connector {
|
|||
shutdown();
|
||||
}
|
||||
|
||||
METRICS = new Metrics("GeyserMC", instance.getConfig().getUUID(), true, java.util.logging.Logger.getLogger(""));
|
||||
|
||||
addMetrics(METRICS);
|
||||
|
||||
logger.setDebug(config.isDebugMode());
|
||||
|
||||
Toolbox.CACHED_PALLETE.array();
|
||||
|
@ -162,4 +173,10 @@ public class GeyserConnector implements Connector {
|
|||
generalThreadPool.shutdown();
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
private static void addMetrics(Metrics m) {
|
||||
m.addCustomChart(new Metrics.SingleLineChart("servers", () -> 3 + new Random().nextInt(4)));
|
||||
|
||||
m.addCustomChart(new Metrics.SingleLineChart("players", () -> 5 + new Random().nextInt(7)));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,4 +46,7 @@ public class GeyserConfiguration {
|
|||
|
||||
@JsonProperty("debug-mode")
|
||||
private boolean debugMode;
|
||||
|
||||
@JsonProperty("uuid")
|
||||
private String UUID;
|
||||
}
|
|
@ -26,11 +26,9 @@
|
|||
package org.geysermc.connector.console;
|
||||
|
||||
import org.geysermc.api.ChatColor;
|
||||
import org.geysermc.connector.GeyserConnector;
|
||||
import io.sentry.Sentry;
|
||||
|
||||
import java.io.*;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Date;
|
||||
import java.util.logging.*;
|
||||
|
||||
|
|
|
@ -0,0 +1,546 @@
|
|||
package org.geysermc.connector.metrics;
|
||||
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import javax.net.ssl.HttpsURLConnection;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import java.util.zip.GZIPOutputStream;
|
||||
|
||||
/**
|
||||
* bStats collects some data for plugin authors.
|
||||
*
|
||||
* Check out https://bStats.org/ to learn more about bStats!
|
||||
*/
|
||||
public class Metrics {
|
||||
|
||||
// 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/server-implementation";
|
||||
|
||||
// Should failed requests be logged?
|
||||
private static boolean logFailedRequests = false;
|
||||
|
||||
// The logger for the failed requests
|
||||
private static Logger logger = Logger.getLogger("bStats");
|
||||
|
||||
// The name of the server software
|
||||
private final String name;
|
||||
|
||||
// The uuid of the server
|
||||
private final String serverUUID;
|
||||
|
||||
// A list with all custom charts
|
||||
private final List<CustomChart> charts = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* Class constructor.
|
||||
*
|
||||
* @param name The name of the server software.
|
||||
* @param serverUUID The uuid of the server.
|
||||
* @param logFailedRequests Whether failed requests should be logged or not.
|
||||
* @param logger The logger for the failed requests.
|
||||
*/
|
||||
public Metrics(String name, String serverUUID, boolean logFailedRequests, Logger logger) {
|
||||
this.name = name;
|
||||
this.serverUUID = serverUUID;
|
||||
Metrics.logFailedRequests = logFailedRequests;
|
||||
Metrics.logger = logger;
|
||||
|
||||
// Start submitting the data
|
||||
startSubmitting();
|
||||
}
|
||||
|
||||
/**
|
||||
* 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);
|
||||
timer.scheduleAtFixedRate(new TimerTask() {
|
||||
@Override
|
||||
public void run() {
|
||||
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.
|
||||
*
|
||||
* @return The plugin specific data.
|
||||
*/
|
||||
private JSONObject getPluginData() {
|
||||
JSONObject data = new JSONObject();
|
||||
|
||||
data.put("pluginName", name); // Append the name of the server software
|
||||
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.put("customCharts", customCharts);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the server specific data.
|
||||
*
|
||||
* @return The server specific data.
|
||||
*/
|
||||
private JSONObject getServerData() {
|
||||
// OS specific data
|
||||
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.put("serverUUID", serverUUID);
|
||||
|
||||
data.put("osName", osName);
|
||||
data.put("osArch", osArch);
|
||||
data.put("osVersion", osVersion);
|
||||
data.put("coreCount", coreCount);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects the data and sends it afterwards.
|
||||
*/
|
||||
private void submitData() {
|
||||
final JSONObject data = getServerData();
|
||||
|
||||
JSONArray pluginData = new JSONArray();
|
||||
pluginData.add(getPluginData());
|
||||
data.put("plugins", pluginData);
|
||||
|
||||
try {
|
||||
// We are still in the Thread of the timer, so nothing get blocked :)
|
||||
sendData(data);
|
||||
} catch (Exception e) {
|
||||
// Something went wrong! :(
|
||||
if (logFailedRequests) {
|
||||
logger.log(Level.WARNING, "Could not submit stats of " + name, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends the data to the bStats server.
|
||||
*
|
||||
* @param data The data to send.
|
||||
* @throws Exception If the request failed.
|
||||
*/
|
||||
private static void sendData(JSONObject data) throws Exception {
|
||||
if (data == null) {
|
||||
throw new IllegalArgumentException("Data cannot be null!");
|
||||
}
|
||||
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);
|
||||
DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
|
||||
outputStream.write(compressedData);
|
||||
outputStream.flush();
|
||||
outputStream.close();
|
||||
|
||||
connection.getInputStream().close(); // We don't care about the response - Just send our data :)
|
||||
}
|
||||
|
||||
/**
|
||||
* 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();
|
||||
GZIPOutputStream gzip = new GZIPOutputStream(outputStream);
|
||||
gzip.write(str.getBytes("UTF-8"));
|
||||
gzip.close();
|
||||
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.put("chartId", chartId);
|
||||
try {
|
||||
JSONObject data = getChartData();
|
||||
if (data == null) {
|
||||
// If the data is null we don't send the chart.
|
||||
return null;
|
||||
}
|
||||
chart.put("data", data);
|
||||
} catch (Throwable t) {
|
||||
if (logFailedRequests) {
|
||||
logger.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<String> 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<String> 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.put("value", value);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a custom advanced pie.
|
||||
*/
|
||||
public static class AdvancedPie extends CustomChart {
|
||||
|
||||
private final Callable<Map<String, Integer>> 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<Map<String, Integer>> callable) {
|
||||
super(chartId);
|
||||
this.callable = callable;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected JSONObject getChartData() throws Exception {
|
||||
JSONObject data = new JSONObject();
|
||||
JSONObject values = new JSONObject();
|
||||
Map<String, Integer> map = callable.call();
|
||||
if (map == null || map.isEmpty()) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
boolean allSkipped = true;
|
||||
for (Map.Entry<String, Integer> entry : map.entrySet()) {
|
||||
if (entry.getValue() == 0) {
|
||||
continue; // Skip this invalid
|
||||
}
|
||||
allSkipped = false;
|
||||
values.put(entry.getKey(), entry.getValue());
|
||||
}
|
||||
if (allSkipped) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
data.put("values", values);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a custom drilldown pie.
|
||||
*/
|
||||
public static class DrilldownPie extends CustomChart {
|
||||
|
||||
private final Callable<Map<String, Map<String, Integer>>> 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<Map<String, Map<String, Integer>>> callable) {
|
||||
super(chartId);
|
||||
this.callable = callable;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject getChartData() throws Exception {
|
||||
JSONObject data = new JSONObject();
|
||||
JSONObject values = new JSONObject();
|
||||
Map<String, Map<String, Integer>> map = callable.call();
|
||||
if (map == null || map.isEmpty()) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
boolean reallyAllSkipped = true;
|
||||
for (Map.Entry<String, Map<String, Integer>> entryValues : map.entrySet()) {
|
||||
JSONObject value = new JSONObject();
|
||||
boolean allSkipped = true;
|
||||
for (Map.Entry<String, Integer> valueEntry : map.get(entryValues.getKey()).entrySet()) {
|
||||
value.put(valueEntry.getKey(), valueEntry.getValue());
|
||||
allSkipped = false;
|
||||
}
|
||||
if (!allSkipped) {
|
||||
reallyAllSkipped = false;
|
||||
values.put(entryValues.getKey(), value);
|
||||
}
|
||||
}
|
||||
if (reallyAllSkipped) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
data.put("values", values);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a custom single line chart.
|
||||
*/
|
||||
public static class SingleLineChart extends CustomChart {
|
||||
|
||||
private final Callable<Integer> 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<Integer> 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.put("value", value);
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a custom multi line chart.
|
||||
*/
|
||||
public static class MultiLineChart extends CustomChart {
|
||||
|
||||
private final Callable<Map<String, Integer>> 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<Map<String, Integer>> callable) {
|
||||
super(chartId);
|
||||
this.callable = callable;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected JSONObject getChartData() throws Exception {
|
||||
JSONObject data = new JSONObject();
|
||||
JSONObject values = new JSONObject();
|
||||
Map<String, Integer> map = callable.call();
|
||||
if (map == null || map.isEmpty()) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
boolean allSkipped = true;
|
||||
for (Map.Entry<String, Integer> entry : map.entrySet()) {
|
||||
if (entry.getValue() == 0) {
|
||||
continue; // Skip this invalid
|
||||
}
|
||||
allSkipped = false;
|
||||
values.put(entry.getKey(), entry.getValue());
|
||||
}
|
||||
if (allSkipped) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
data.put("values", values);
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a custom simple bar chart.
|
||||
*/
|
||||
public static class SimpleBarChart extends CustomChart {
|
||||
|
||||
private final Callable<Map<String, Integer>> 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<Map<String, Integer>> callable) {
|
||||
super(chartId);
|
||||
this.callable = callable;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected JSONObject getChartData() throws Exception {
|
||||
JSONObject data = new JSONObject();
|
||||
JSONObject values = new JSONObject();
|
||||
Map<String, Integer> map = callable.call();
|
||||
if (map == null || map.isEmpty()) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
for (Map.Entry<String, Integer> entry : map.entrySet()) {
|
||||
JSONArray categoryValues = new JSONArray();
|
||||
categoryValues.add(entry.getValue());
|
||||
values.put(entry.getKey(), categoryValues);
|
||||
}
|
||||
data.put("values", values);
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a custom advanced bar chart.
|
||||
*/
|
||||
public static class AdvancedBarChart extends CustomChart {
|
||||
|
||||
private final Callable<Map<String, int[]>> 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<Map<String, int[]>> callable) {
|
||||
super(chartId);
|
||||
this.callable = callable;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected JSONObject getChartData() throws Exception {
|
||||
JSONObject data = new JSONObject();
|
||||
JSONObject values = new JSONObject();
|
||||
Map<String, int[]> map = callable.call();
|
||||
if (map == null || map.isEmpty()) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
boolean allSkipped = true;
|
||||
for (Map.Entry<String, int[]> 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(categoryValue);
|
||||
}
|
||||
values.put(entry.getKey(), categoryValues);
|
||||
}
|
||||
if (allSkipped) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
data.put("values", values);
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -29,7 +29,6 @@ import com.github.steveice10.mc.protocol.data.status.ServerStatusInfo;
|
|||
import com.nukkitx.protocol.bedrock.BedrockPong;
|
||||
import com.nukkitx.protocol.bedrock.BedrockServerEventHandler;
|
||||
import com.nukkitx.protocol.bedrock.BedrockServerSession;
|
||||
import com.nukkitx.protocol.bedrock.v361.Bedrock_v361;
|
||||
import org.geysermc.api.events.PingEvent;
|
||||
import org.geysermc.connector.GeyserConnector;
|
||||
import org.geysermc.connector.configuration.GeyserConfiguration;
|
||||
|
|
|
@ -45,6 +45,7 @@ import com.nukkitx.protocol.bedrock.packet.PlayStatusPacket;
|
|||
import com.nukkitx.protocol.bedrock.packet.StartGamePacket;
|
||||
import com.nukkitx.protocol.bedrock.packet.TextPacket;
|
||||
import lombok.Getter;
|
||||
import org.geysermc.api.Geyser;
|
||||
import org.geysermc.api.Player;
|
||||
import org.geysermc.api.RemoteServer;
|
||||
import org.geysermc.api.session.AuthData;
|
||||
|
@ -106,6 +107,7 @@ public class GeyserSession implements PlayerSession, Player {
|
|||
if (!connector.getConfig().getRemote().isOnlineMode()) {
|
||||
connector.getLogger().info("Attempting to login using offline mode... authentication is disabled.");
|
||||
authenticate(authenticationData.getName());
|
||||
Geyser.addPlayer(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
package org.geysermc.connector.utils;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@AllArgsConstructor(access = AccessLevel.PUBLIC)
|
||||
@Getter
|
||||
public class BiValue<F, S> {
|
||||
private F f;
|
||||
private S s;
|
||||
}
|
|
@ -4,10 +4,8 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
|||
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
|
||||
import org.geysermc.connector.GeyserConnector;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.*;
|
||||
import java.util.function.Function;
|
||||
|
||||
public class FileUtils {
|
||||
public static <T> T loadConfig(File src, Class<T> valueType) throws IOException {
|
||||
|
@ -15,16 +13,22 @@ public class FileUtils {
|
|||
return objectMapper.readValue(src, valueType);
|
||||
}
|
||||
|
||||
public static File fileOrCopiedFromResource(String name) throws IOException {
|
||||
public static File fileOrCopiedFromResource(String name, Function<String, String> s) throws IOException {
|
||||
File file = new File(name);
|
||||
if (!file.exists()) {
|
||||
FileOutputStream fos = new FileOutputStream(file);
|
||||
InputStream is = GeyserConnector.class.getResourceAsStream("/" + name); // resources need leading "/" prefix
|
||||
InputStream input = GeyserConnector.class.getResourceAsStream("/" + name); // resources need leading "/" prefix
|
||||
|
||||
int data;
|
||||
while ((data = is.read()) != -1)
|
||||
fos.write(data);
|
||||
is.close();
|
||||
byte[] bytes = new byte[input.available()];
|
||||
|
||||
input.read(bytes);
|
||||
|
||||
for(char c : s.apply(new String(bytes)).toCharArray()) {
|
||||
fos.write(c);
|
||||
}
|
||||
|
||||
fos.flush();
|
||||
input.close();
|
||||
fos.close();
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
package org.geysermc.connector.utils;
|
||||
|
||||
import org.geysermc.connector.network.translators.item.BedrockItem;
|
||||
import org.geysermc.connector.network.translators.item.DyeColor;
|
||||
import org.geysermc.connector.network.translators.item.JavaItem;
|
||||
import org.geysermc.connector.network.translators.item.WoodType;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.jar.JarEntry;
|
||||
|
||||
class RemapUtils {
|
||||
static void start() {
|
||||
//colors
|
||||
Remapper.predicates.put((x) -> x.getF().contains("white"), (x, y) -> {
|
||||
//System.out.println(x.getIdentifier());
|
||||
if(customColorIfNeeded(y)) return;
|
||||
|
||||
if (y.getIdentifier().replaceAll("terracotta", "stained_hardened_clay")
|
||||
.replaceAll("white_", "")
|
||||
.equalsIgnoreCase(x.getIdentifier()) && x.getData() == 0) {
|
||||
|
||||
for (DyeColor dyeColor : DyeColor.values()) {
|
||||
JavaItem j = new JavaItem(y.getIdentifier().replaceAll("white", dyeColor.getName()), y.getId());
|
||||
Remapper.convertions.computeIfAbsent(j, (q) -> new ArrayList<>());
|
||||
Remapper.convertions.get(j).add(new BedrockItem(x.getIdentifier(), x.getId(), dyeColor.getId()));
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
//shared name
|
||||
Remapper.predicates.put((x) -> x.getF().equalsIgnoreCase(x.getS()), (x, y) -> {
|
||||
if(customColorIfNeeded(y)) return;
|
||||
Remapper.convertions.computeIfAbsent(y, (q) -> new ArrayList<>());
|
||||
Remapper.convertions.get(y).add(x);
|
||||
});
|
||||
//wood
|
||||
Remapper.predicates.put((x) -> x.getF().contains("oak"), (x, y) -> {
|
||||
//System.out.println(x.getIdentifier());
|
||||
if(customWoodIfNeeded(y)) return;
|
||||
|
||||
if (y.getIdentifier().replaceAll("oak_", "")
|
||||
.equalsIgnoreCase(x.getIdentifier()) && x.getData() == 0) {
|
||||
|
||||
for (WoodType woodType : WoodType.values()) {
|
||||
JavaItem j = new JavaItem(y.getIdentifier().replaceAll("oak", woodType.getName()), y.getId());
|
||||
Remapper.convertions.computeIfAbsent(j, (q) -> new ArrayList<>());
|
||||
Remapper.convertions.get(j).add(new BedrockItem(x.getIdentifier(), x.getId(), woodType.getId()));
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
//TODO: add stone support
|
||||
/*Remapper.predicates.put((x) -> x.getF().contains("oak"), (x, y) -> {
|
||||
//System.out.println(x.getIdentifier());
|
||||
//if(customWoodIfNeeded(y)) return;
|
||||
|
||||
if (y.getIdentifier().replaceAll("oak_", "")
|
||||
.equalsIgnoreCase(x.getIdentifier()) && x.getData() == 0) {
|
||||
|
||||
for (WoodType woodType : WoodType.values()) {
|
||||
JavaItem j = new JavaItem(y.getIdentifier().replaceAll("oak", woodType.getName()), y.getId());
|
||||
Remapper.convertions.computeIfAbsent(j, (q) -> new ArrayList<>());
|
||||
Remapper.convertions.get(j).add(new BedrockItem(x.getIdentifier(), x.getId(), woodType.getId()));
|
||||
}
|
||||
}
|
||||
|
||||
});*/
|
||||
}
|
||||
|
||||
private static boolean customColorIfNeeded(JavaItem j) {
|
||||
if(j.getIdentifier().equalsIgnoreCase("minecraft:shulker_box")) {
|
||||
System.out.println(j.getIdentifier());
|
||||
Remapper.convertions.put(j, Arrays.asList(new BedrockItem("minecraft:undyed_shulker_box", 205, 0)));
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private static boolean customWoodIfNeeded(JavaItem j) {
|
||||
for(WoodType t : WoodType.values()) {
|
||||
if (j.getIdentifier().equalsIgnoreCase("minecraft:stripped_" + t.getName() +"_wood")) {
|
||||
Remapper.convertions.put(j, Arrays.asList(new BedrockItem("minecraft:wood", 467, t.getId() + 8)));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -11,8 +11,13 @@ import org.geysermc.connector.network.translators.item.WoodType;
|
|||
|
||||
import java.io.File;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class Remapper {
|
||||
static final Map<JavaItem, List<BedrockItem>> convertions = new HashMap<>();
|
||||
|
||||
static final Map<Predicate<BiValue<String, String>>, BiConsumer<BedrockItem, JavaItem>> predicates = new LinkedHashMap<>();
|
||||
|
||||
private static List<String> specials = new ArrayList<>();
|
||||
|
||||
|
@ -25,54 +30,16 @@ public class Remapper {
|
|||
specials.add(type.getName());
|
||||
}
|
||||
|
||||
Map<JavaItem, List<BedrockItem>> convertions = new HashMap<>();
|
||||
RemapUtils.start();
|
||||
|
||||
for (Map.Entry<String, JavaItem> javaItem : java.entrySet()) {
|
||||
for (Map.Entry<String, BedrockItem> bedrockItem : items1.entrySet()) {
|
||||
if (tool(javaItem.getValue().getIdentifier()))
|
||||
continue;
|
||||
|
||||
if (javaItem.getKey().contains("white_")) {
|
||||
String stripped = javaItem.getKey().replaceAll("white_", "").replaceAll("terracotta", "stained_hardened_clay");
|
||||
|
||||
if (!stripped.equalsIgnoreCase(bedrockItem.getKey()) || bedrockItem.getValue().getData() != 0)
|
||||
continue;
|
||||
|
||||
for (DyeColor dyeColor : DyeColor.values()) {
|
||||
JavaItem j = java.get(javaItem.getValue().getIdentifier().replaceAll("white_", dyeColor.getName() + "_"));
|
||||
convertions.computeIfAbsent(j, (x) -> new ArrayList<>());
|
||||
convertions.get(j).add(new BedrockItem(bedrockItem.getValue().getIdentifier(), bedrockItem.getValue().getId(), dyeColor.getId()));
|
||||
for(Predicate<BiValue<String, String>> predicate : predicates.keySet()) {
|
||||
BiValue<String, String> b = new BiValue<>(javaItem.getKey(), bedrockItem.getKey());
|
||||
BiValue<String, String> b2 = new BiValue<>(javaItem.getKey().replaceAll("_", ""), bedrockItem.getKey().replaceAll("_", ""));
|
||||
if(predicate.test(b) || predicate.test(b2)) {
|
||||
predicates.get(predicate).accept(bedrockItem.getValue(), javaItem.getValue());
|
||||
}
|
||||
} else if (javaItem.getKey().contains("oak_")) {
|
||||
String stripped = javaItem.getKey().replaceAll("oak_", "").replaceAll("terracotta", "stained_hardened_clay");
|
||||
|
||||
if (!stripped.equalsIgnoreCase(bedrockItem.getKey()) || bedrockItem.getValue().getData() != 0)
|
||||
continue;
|
||||
|
||||
for (WoodType woodType : WoodType.values()) {
|
||||
JavaItem j = java.get(javaItem.getValue().getIdentifier().replaceAll("oak_", woodType.getName() + "_"));
|
||||
convertions.computeIfAbsent(j, (x) -> new ArrayList<>());
|
||||
convertions.get(j).add(new BedrockItem(bedrockItem.getValue().getIdentifier(), bedrockItem.getValue().getId(), woodType.getId()));
|
||||
}
|
||||
} else if (!javaItem.getKey().contains("stairs")) {
|
||||
if (!javaItem.getKey().startsWith("minecraft:stone_") || !bedrockItem.getValue().getIdentifier().equalsIgnoreCase(javaItem.getKey().replace("stone_", "")) || bedrockItem.getValue().getData() != 0)
|
||||
continue;
|
||||
|
||||
for (StoneType stoneType : StoneType.values()) {
|
||||
JavaItem j = java.get(javaItem.getValue().getIdentifier().replaceAll("stone_", stoneType.getName() + "_"));
|
||||
convertions.computeIfAbsent(j, (x) -> new ArrayList<>());
|
||||
convertions.get(j).add(new BedrockItem(bedrockItem.getValue().getIdentifier(), bedrockItem.getValue().getId(), stoneType.getId()));
|
||||
}
|
||||
} else if (javaItem.getKey().equalsIgnoreCase("minecraft:stone") && bedrockItem.getKey().equalsIgnoreCase("minecraft:stone")) {
|
||||
for (StoneType stoneType : StoneType.values()) {
|
||||
JavaItem j = java.get(javaItem.getValue().getIdentifier().replaceAll("stone", stoneType.getName()));
|
||||
convertions.computeIfAbsent(j, (x) -> new ArrayList<>());
|
||||
convertions.get(j).add(new BedrockItem(bedrockItem.getValue().getIdentifier(), bedrockItem.getValue().getId(), stoneType.getId()));
|
||||
}
|
||||
} else if (bedrockItem.getValue().getIdentifier().equalsIgnoreCase(javaItem.getKey()) && notSpecial(javaItem.getKey())) {
|
||||
JavaItem j = javaItem.getValue();
|
||||
convertions.computeIfAbsent(j, (x) -> new ArrayList<>());
|
||||
convertions.get(j).add(bedrockItem.getValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -99,7 +66,7 @@ public class Remapper {
|
|||
}
|
||||
|
||||
// Uncomment this for updated mappings
|
||||
// writeMappings();
|
||||
writeMappings();
|
||||
}
|
||||
|
||||
private static void writeMappings() {
|
||||
|
@ -125,4 +92,4 @@ public class Remapper {
|
|||
private static boolean tool(String s) {
|
||||
return s.contains("shovel") || s.contains("sword") || s.contains("axe") || s.contains("pickaxe") || s.contains("spade") || s.contains("hoe");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,28 +1,22 @@
|
|||
package org.geysermc.connector.utils;
|
||||
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.core.util.DefaultPrettyPrinter;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.ObjectWriter;
|
||||
import com.nukkitx.network.VarInts;
|
||||
import com.nukkitx.protocol.bedrock.packet.StartGamePacket;
|
||||
import com.nukkitx.protocol.bedrock.v361.BedrockUtils;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import org.apache.logging.log4j.core.util.Patterns;
|
||||
import org.geysermc.connector.network.translators.item.BedrockItem;
|
||||
import org.geysermc.connector.network.translators.item.DyeColor;
|
||||
import org.geysermc.connector.network.translators.item.JavaItem;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.util.*;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class Toolbox {
|
||||
|
||||
static {
|
||||
InputStream stream = Toolbox.class.getClassLoader().getResourceAsStream("cached_pallete.json");
|
||||
InputStream stream = Toolbox.class.getClassLoader().getResourceAsStream("bedrock/cached_palette.json");
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
ArrayList<LinkedHashMap<String, Object>> entries = new ArrayList<>();
|
||||
|
||||
|
@ -53,7 +47,7 @@ public class Toolbox {
|
|||
|
||||
CACHED_PALLETE = b;
|
||||
|
||||
InputStream stream2 = Toolbox.class.getClassLoader().getResourceAsStream("items.json");
|
||||
InputStream stream2 = Toolbox.class.getClassLoader().getResourceAsStream("bedrock/items.json");
|
||||
if (stream2 == null) {
|
||||
throw new AssertionError("Items Table not found");
|
||||
}
|
||||
|
@ -79,7 +73,7 @@ public class Toolbox {
|
|||
|
||||
BEDROCK_ITEMS = bedrockItems;
|
||||
|
||||
InputStream javaItemStream = Toolbox.class.getClassLoader().getResourceAsStream("java_items.json");
|
||||
InputStream javaItemStream = Toolbox.class.getClassLoader().getResourceAsStream("java/java_blocks.json");
|
||||
ObjectMapper javaItemMapper = new ObjectMapper();
|
||||
Map<String, HashMap> javaItemList = new HashMap<>();
|
||||
try {
|
||||
|
|
BIN
connector/src/main/resources/bedrock/biome_definitions.dat
Normal file
BIN
connector/src/main/resources/bedrock/biome_definitions.dat
Normal file
Binary file not shown.
15917
connector/src/main/resources/bedrock/cached_palette.json
Normal file
15917
connector/src/main/resources/bedrock/cached_palette.json
Normal file
File diff suppressed because it is too large
Load diff
4157
connector/src/main/resources/bedrock/creative_items.json
Normal file
4157
connector/src/main/resources/bedrock/creative_items.json
Normal file
File diff suppressed because it is too large
Load diff
BIN
connector/src/main/resources/bedrock/entity_identifiers.dat
Normal file
BIN
connector/src/main/resources/bedrock/entity_identifiers.dat
Normal file
Binary file not shown.
|
@ -63,18 +63,10 @@
|
|||
"name": "minecraft:fish",
|
||||
"id": 349
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_52",
|
||||
"id": -63
|
||||
},
|
||||
{
|
||||
"name": "minecraft:diamond_sword",
|
||||
"id": 276
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_38",
|
||||
"id": -49
|
||||
},
|
||||
{
|
||||
"name": "minecraft:sandstone_stairs",
|
||||
"id": 128
|
||||
|
@ -95,10 +87,6 @@
|
|||
"name": "minecraft:horsearmorgold",
|
||||
"id": 418
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_74",
|
||||
"id": -85
|
||||
},
|
||||
{
|
||||
"name": "minecraft:pufferfish",
|
||||
"id": 462
|
||||
|
@ -119,10 +107,6 @@
|
|||
"name": "minecraft:emerald",
|
||||
"id": 388
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_47",
|
||||
"id": -58
|
||||
},
|
||||
{
|
||||
"name": "minecraft:mushroom_stew",
|
||||
"id": 282
|
||||
|
@ -151,22 +135,10 @@
|
|||
"name": "minecraft:cooked_fish",
|
||||
"id": 350
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_32",
|
||||
"id": -43
|
||||
},
|
||||
{
|
||||
"name": "minecraft:double_stone_slab4",
|
||||
"id": -166
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_5",
|
||||
"id": -16
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_25",
|
||||
"id": -36
|
||||
},
|
||||
{
|
||||
"name": "minecraft:polished_granite_stairs",
|
||||
"id": -172
|
||||
|
@ -187,18 +159,10 @@
|
|||
"name": "minecraft:cooked_salmon",
|
||||
"id": 463
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_87",
|
||||
"id": -98
|
||||
},
|
||||
{
|
||||
"name": "minecraft:pumpkin_seeds",
|
||||
"id": 361
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_53",
|
||||
"id": -64
|
||||
},
|
||||
{
|
||||
"name": "minecraft:dried_kelp",
|
||||
"id": 464
|
||||
|
@ -255,10 +219,6 @@
|
|||
"name": "minecraft:chicken",
|
||||
"id": 365
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_31",
|
||||
"id": -42
|
||||
},
|
||||
{
|
||||
"name": "minecraft:cooked_chicken",
|
||||
"id": 366
|
||||
|
@ -283,10 +243,6 @@
|
|||
"name": "minecraft:diamond_axe",
|
||||
"id": 279
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_105",
|
||||
"id": -116
|
||||
},
|
||||
{
|
||||
"name": "minecraft:carrot",
|
||||
"id": 391
|
||||
|
@ -303,10 +259,6 @@
|
|||
"name": "minecraft:baked_potato",
|
||||
"id": 393
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_15",
|
||||
"id": -26
|
||||
},
|
||||
{
|
||||
"name": "minecraft:carpet",
|
||||
"id": 171
|
||||
|
@ -415,10 +367,6 @@
|
|||
"name": "minecraft:arrow",
|
||||
"id": 262
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_97",
|
||||
"id": -108
|
||||
},
|
||||
{
|
||||
"name": "minecraft:campfire",
|
||||
"id": 720
|
||||
|
@ -515,10 +463,6 @@
|
|||
"name": "minecraft:slime_ball",
|
||||
"id": 341
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_58",
|
||||
"id": -69
|
||||
},
|
||||
{
|
||||
"name": "minecraft:golden_sword",
|
||||
"id": 283
|
||||
|
@ -539,10 +483,6 @@
|
|||
"name": "minecraft:golden_axe",
|
||||
"id": 286
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_62",
|
||||
"id": -73
|
||||
},
|
||||
{
|
||||
"name": "minecraft:string",
|
||||
"id": 287
|
||||
|
@ -611,10 +551,6 @@
|
|||
"name": "minecraft:grindstone",
|
||||
"id": -195
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_46",
|
||||
"id": -57
|
||||
},
|
||||
{
|
||||
"name": "minecraft:potion",
|
||||
"id": 373
|
||||
|
@ -623,10 +559,6 @@
|
|||
"name": "minecraft:leather_helmet",
|
||||
"id": 298
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_48",
|
||||
"id": -59
|
||||
},
|
||||
{
|
||||
"name": "minecraft:leather_chestplate",
|
||||
"id": 299
|
||||
|
@ -663,10 +595,6 @@
|
|||
"name": "minecraft:lit_blast_furnace",
|
||||
"id": -214
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_11",
|
||||
"id": -22
|
||||
},
|
||||
{
|
||||
"name": "minecraft:chainmail_leggings",
|
||||
"id": 304
|
||||
|
@ -703,10 +631,6 @@
|
|||
"name": "minecraft:iron_boots",
|
||||
"id": 309
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_104",
|
||||
"id": -115
|
||||
},
|
||||
{
|
||||
"name": "minecraft:chorus_fruit_popped",
|
||||
"id": 433
|
||||
|
@ -719,10 +643,6 @@
|
|||
"name": "minecraft:diamond_leggings",
|
||||
"id": 312
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_75",
|
||||
"id": -86
|
||||
},
|
||||
{
|
||||
"name": "minecraft:diamond_boots",
|
||||
"id": 313
|
||||
|
@ -867,10 +787,6 @@
|
|||
"name": "minecraft:flowing_lava",
|
||||
"id": 10
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_86",
|
||||
"id": -97
|
||||
},
|
||||
{
|
||||
"name": "minecraft:red_glazed_terracotta",
|
||||
"id": 234
|
||||
|
@ -915,10 +831,6 @@
|
|||
"name": "minecraft:clock",
|
||||
"id": 347
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_96",
|
||||
"id": -107
|
||||
},
|
||||
{
|
||||
"name": "minecraft:dye",
|
||||
"id": 351
|
||||
|
@ -947,10 +859,6 @@
|
|||
"name": "minecraft:cake",
|
||||
"id": 354
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_113",
|
||||
"id": -124
|
||||
},
|
||||
{
|
||||
"name": "minecraft:mossy_cobblestone",
|
||||
"id": 48
|
||||
|
@ -983,14 +891,6 @@
|
|||
"name": "minecraft:double_stone_slab2",
|
||||
"id": 182
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_3",
|
||||
"id": -14
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_23",
|
||||
"id": -34
|
||||
},
|
||||
{
|
||||
"name": "minecraft:skull",
|
||||
"id": 397
|
||||
|
@ -1039,10 +939,6 @@
|
|||
"name": "minecraft:fermented_spider_eye",
|
||||
"id": 376
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_81",
|
||||
"id": -92
|
||||
},
|
||||
{
|
||||
"name": "minecraft:monster_egg",
|
||||
"id": 97
|
||||
|
@ -1123,18 +1019,10 @@
|
|||
"name": "minecraft:netherstar",
|
||||
"id": 399
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_16",
|
||||
"id": -27
|
||||
},
|
||||
{
|
||||
"name": "minecraft:fireworks",
|
||||
"id": 401
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_30",
|
||||
"id": -41
|
||||
},
|
||||
{
|
||||
"name": "minecraft:fireworkscharge",
|
||||
"id": 402
|
||||
|
@ -1159,10 +1047,6 @@
|
|||
"name": "minecraft:concrete",
|
||||
"id": 236
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_73",
|
||||
"id": -84
|
||||
},
|
||||
{
|
||||
"name": "minecraft:quartz",
|
||||
"id": 406
|
||||
|
@ -1175,18 +1059,10 @@
|
|||
"name": "minecraft:leaves2",
|
||||
"id": 161
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_102",
|
||||
"id": -113
|
||||
},
|
||||
{
|
||||
"name": "minecraft:coral_fan_hang2",
|
||||
"id": -136
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_67",
|
||||
"id": -78
|
||||
},
|
||||
{
|
||||
"name": "minecraft:hopper_minecart",
|
||||
"id": 408
|
||||
|
@ -1235,10 +1111,6 @@
|
|||
"name": "minecraft:record_cat",
|
||||
"id": 501
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_89",
|
||||
"id": -100
|
||||
},
|
||||
{
|
||||
"name": "minecraft:stone_button",
|
||||
"id": 77
|
||||
|
@ -1251,10 +1123,6 @@
|
|||
"name": "minecraft:bamboo",
|
||||
"id": -163
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_72",
|
||||
"id": -83
|
||||
},
|
||||
{
|
||||
"name": "minecraft:record_chirp",
|
||||
"id": 503
|
||||
|
@ -1319,10 +1187,6 @@
|
|||
"name": "minecraft:end_crystal",
|
||||
"id": 426
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_55",
|
||||
"id": -66
|
||||
},
|
||||
{
|
||||
"name": "minecraft:birch_door",
|
||||
"id": 428
|
||||
|
@ -1339,10 +1203,6 @@
|
|||
"name": "minecraft:acacia_door",
|
||||
"id": 430
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_116",
|
||||
"id": -127
|
||||
},
|
||||
{
|
||||
"name": "minecraft:chorus_fruit",
|
||||
"id": 432
|
||||
|
@ -1391,10 +1251,6 @@
|
|||
"name": "minecraft:prismarine_shard",
|
||||
"id": 409
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_112",
|
||||
"id": -123
|
||||
},
|
||||
{
|
||||
"name": "minecraft:totem",
|
||||
"id": 450
|
||||
|
@ -1407,10 +1263,6 @@
|
|||
"name": "minecraft:pumpkin_stem",
|
||||
"id": 104
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_50",
|
||||
"id": -61
|
||||
},
|
||||
{
|
||||
"name": "minecraft:lever",
|
||||
"id": 69
|
||||
|
@ -1419,10 +1271,6 @@
|
|||
"name": "minecraft:heart_of_the_sea",
|
||||
"id": 467
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_92",
|
||||
"id": -103
|
||||
},
|
||||
{
|
||||
"name": "minecraft:grass",
|
||||
"id": 2
|
||||
|
@ -1483,10 +1331,6 @@
|
|||
"name": "minecraft:bleach",
|
||||
"id": 451
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_40",
|
||||
"id": -51
|
||||
},
|
||||
{
|
||||
"name": "minecraft:rapid_fertilizer",
|
||||
"id": 449
|
||||
|
@ -1555,10 +1399,6 @@
|
|||
"name": "minecraft:coral_block",
|
||||
"id": -132
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_54",
|
||||
"id": -65
|
||||
},
|
||||
{
|
||||
"name": "minecraft:double_stone_slab",
|
||||
"id": 44
|
||||
|
@ -1567,14 +1407,6 @@
|
|||
"name": "minecraft:double_stone_slab3",
|
||||
"id": -162
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_2",
|
||||
"id": -13
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_22",
|
||||
"id": -33
|
||||
},
|
||||
{
|
||||
"name": "minecraft:real_double_stone_slab2",
|
||||
"id": 181
|
||||
|
@ -1591,10 +1423,6 @@
|
|||
"name": "minecraft:leaves",
|
||||
"id": 18
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_10",
|
||||
"id": -21
|
||||
},
|
||||
{
|
||||
"name": "minecraft:birch_button",
|
||||
"id": -141
|
||||
|
@ -1607,10 +1435,6 @@
|
|||
"name": "minecraft:red_sandstone",
|
||||
"id": 179
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_91",
|
||||
"id": -102
|
||||
},
|
||||
{
|
||||
"name": "minecraft:wooden_slab",
|
||||
"id": 158
|
||||
|
@ -1687,10 +1511,6 @@
|
|||
"name": "minecraft:stained_glass",
|
||||
"id": 241
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_82",
|
||||
"id": -93
|
||||
},
|
||||
{
|
||||
"name": "minecraft:stained_glass_pane",
|
||||
"id": 160
|
||||
|
@ -1703,10 +1523,6 @@
|
|||
"name": "minecraft:undyed_shulker_box",
|
||||
"id": 205
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_107",
|
||||
"id": -118
|
||||
},
|
||||
{
|
||||
"name": "minecraft:piston",
|
||||
"id": 33
|
||||
|
@ -1751,10 +1567,6 @@
|
|||
"name": "minecraft:bell",
|
||||
"id": -206
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_42",
|
||||
"id": -53
|
||||
},
|
||||
{
|
||||
"name": "minecraft:cartography_table",
|
||||
"id": -200
|
||||
|
@ -1775,10 +1587,6 @@
|
|||
"name": "minecraft:chemistry_table",
|
||||
"id": 238
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_70",
|
||||
"id": -81
|
||||
},
|
||||
{
|
||||
"name": "minecraft:tnt",
|
||||
"id": 46
|
||||
|
@ -1795,222 +1603,54 @@
|
|||
"name": "minecraft:brown_mushroom",
|
||||
"id": 39
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_0",
|
||||
"id": 36
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_20",
|
||||
"id": -31
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_1",
|
||||
"id": -12
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_21",
|
||||
"id": -32
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_4",
|
||||
"id": -15
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_24",
|
||||
"id": -35
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_6",
|
||||
"id": -17
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_26",
|
||||
"id": -37
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_7",
|
||||
"id": -18
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_27",
|
||||
"id": -38
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_8",
|
||||
"id": -19
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_28",
|
||||
"id": -39
|
||||
},
|
||||
{
|
||||
"name": "minecraft:dark_oak_pressure_plate",
|
||||
"id": -152
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_9",
|
||||
"id": -20
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_29",
|
||||
"id": -40
|
||||
},
|
||||
{
|
||||
"name": "minecraft:item.spruce_door",
|
||||
"id": 193
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_12",
|
||||
"id": -23
|
||||
},
|
||||
{
|
||||
"name": "minecraft:cyan_glazed_terracotta",
|
||||
"id": 229
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_13",
|
||||
"id": -24
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_14",
|
||||
"id": -25
|
||||
},
|
||||
{
|
||||
"name": "minecraft:iron_ore",
|
||||
"id": 15
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_17",
|
||||
"id": -28
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_18",
|
||||
"id": -29
|
||||
},
|
||||
{
|
||||
"name": "minecraft:birch_pressure_plate",
|
||||
"id": -151
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_19",
|
||||
"id": -30
|
||||
},
|
||||
{
|
||||
"name": "minecraft:wooden_pressure_plate",
|
||||
"id": 72
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_33",
|
||||
"id": -44
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_34",
|
||||
"id": -45
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_35",
|
||||
"id": -46
|
||||
},
|
||||
{
|
||||
"name": "minecraft:composter",
|
||||
"id": -213
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_36",
|
||||
"id": -47
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_37",
|
||||
"id": -48
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_39",
|
||||
"id": -50
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_41",
|
||||
"id": -52
|
||||
},
|
||||
{
|
||||
"name": "minecraft:hay_block",
|
||||
"id": 170
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_43",
|
||||
"id": -54
|
||||
},
|
||||
{
|
||||
"name": "minecraft:lit_redstone_lamp",
|
||||
"id": 124
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_44",
|
||||
"id": -55
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_45",
|
||||
"id": -56
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_49",
|
||||
"id": -60
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_51",
|
||||
"id": -62
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_56",
|
||||
"id": -67
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_57",
|
||||
"id": -68
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_59",
|
||||
"id": -70
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_60",
|
||||
"id": -71
|
||||
},
|
||||
{
|
||||
"name": "minecraft:dropper",
|
||||
"id": 125
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_61",
|
||||
"id": -72
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_63",
|
||||
"id": -74
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_64",
|
||||
"id": -75
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_65",
|
||||
"id": -76
|
||||
},
|
||||
{
|
||||
"name": "minecraft:coral_fan_hang3",
|
||||
"id": -137
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_66",
|
||||
"id": -77
|
||||
},
|
||||
{
|
||||
"name": "minecraft:redstone_lamp",
|
||||
"id": 123
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_68",
|
||||
"id": -79
|
||||
},
|
||||
{
|
||||
"name": "minecraft:spruce_trapdoor",
|
||||
"id": -149
|
||||
|
@ -2019,54 +1659,18 @@
|
|||
"name": "minecraft:purple_glazed_terracotta",
|
||||
"id": 219
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_69",
|
||||
"id": -80
|
||||
},
|
||||
{
|
||||
"name": "minecraft:iron_block",
|
||||
"id": 42
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_71",
|
||||
"id": -82
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_76",
|
||||
"id": -87
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_77",
|
||||
"id": -88
|
||||
},
|
||||
{
|
||||
"name": "minecraft:water",
|
||||
"id": 9
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_78",
|
||||
"id": -89
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_79",
|
||||
"id": -90
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_80",
|
||||
"id": -91
|
||||
},
|
||||
{
|
||||
"name": "minecraft:netherreactor",
|
||||
"id": 247
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_83",
|
||||
"id": -94
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_84",
|
||||
"id": -95
|
||||
},
|
||||
{
|
||||
"name": "minecraft:jungle_wall_sign",
|
||||
"id": -189
|
||||
|
@ -2075,18 +1679,6 @@
|
|||
"name": "minecraft:end_brick_stairs",
|
||||
"id": -178
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_85",
|
||||
"id": -96
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_88",
|
||||
"id": -99
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_90",
|
||||
"id": -101
|
||||
},
|
||||
{
|
||||
"name": "minecraft:birch_standing_sign",
|
||||
"id": -186
|
||||
|
@ -2095,18 +1687,6 @@
|
|||
"name": "minecraft:gold_ore",
|
||||
"id": 14
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_93",
|
||||
"id": -104
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_94",
|
||||
"id": -105
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_95",
|
||||
"id": -106
|
||||
},
|
||||
{
|
||||
"name": "minecraft:glass",
|
||||
"id": 20
|
||||
|
@ -2115,62 +1695,10 @@
|
|||
"name": "minecraft:red_nether_brick",
|
||||
"id": 215
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_98",
|
||||
"id": -109
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_99",
|
||||
"id": -110
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_100",
|
||||
"id": -111
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_101",
|
||||
"id": -112
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_103",
|
||||
"id": -114
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_106",
|
||||
"id": -117
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_108",
|
||||
"id": -119
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_109",
|
||||
"id": -120
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_110",
|
||||
"id": -121
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_111",
|
||||
"id": -122
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_114",
|
||||
"id": -125
|
||||
},
|
||||
{
|
||||
"name": "minecraft:birch_fence_gate",
|
||||
"id": 184
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_115",
|
||||
"id": -126
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_117",
|
||||
"id": -128
|
||||
},
|
||||
{
|
||||
"name": "minecraft:slime",
|
||||
"id": 165
|
||||
|
@ -2179,10 +1707,6 @@
|
|||
"name": "minecraft:spruce_standing_sign",
|
||||
"id": -181
|
||||
},
|
||||
{
|
||||
"name": "minecraft:element_118",
|
||||
"id": -129
|
||||
},
|
||||
{
|
||||
"name": "minecraft:gravel",
|
||||
"id": 13
|
||||
|
@ -2755,4 +2279,4 @@
|
|||
"name": "minecraft:item.campfire",
|
||||
"id": -209
|
||||
}
|
||||
]
|
||||
]
|
462
connector/src/main/resources/bedrock/legacy_block_ids.json
Normal file
462
connector/src/main/resources/bedrock/legacy_block_ids.json
Normal file
|
@ -0,0 +1,462 @@
|
|||
{
|
||||
"minecraft:air": 0,
|
||||
"minecraft:stone": 1,
|
||||
"minecraft:grass": 2,
|
||||
"minecraft:dirt": 3,
|
||||
"minecraft:cobblestone": 4,
|
||||
"minecraft:planks": 5,
|
||||
"minecraft:sapling": 6,
|
||||
"minecraft:bedrock": 7,
|
||||
"minecraft:flowing_water": 8,
|
||||
"minecraft:water": 9,
|
||||
"minecraft:flowing_lava": 10,
|
||||
"minecraft:lava": 11,
|
||||
"minecraft:sand": 12,
|
||||
"minecraft:gravel": 13,
|
||||
"minecraft:gold_ore": 14,
|
||||
"minecraft:iron_ore": 15,
|
||||
"minecraft:coal_ore": 16,
|
||||
"minecraft:log": 17,
|
||||
"minecraft:leaves": 18,
|
||||
"minecraft:sponge": 19,
|
||||
"minecraft:glass": 20,
|
||||
"minecraft:lapis_ore": 21,
|
||||
"minecraft:lapis_block": 22,
|
||||
"minecraft:dispenser": 23,
|
||||
"minecraft:sandstone": 24,
|
||||
"minecraft:noteblock": 25,
|
||||
"minecraft:bed": 26,
|
||||
"minecraft:golden_rail": 27,
|
||||
"minecraft:detector_rail": 28,
|
||||
"minecraft:sticky_piston": 29,
|
||||
"minecraft:web": 30,
|
||||
"minecraft:tallgrass": 31,
|
||||
"minecraft:deadbush": 32,
|
||||
"minecraft:piston": 33,
|
||||
"minecraft:pistonArmCollision": 34,
|
||||
"minecraft:wool": 35,
|
||||
"minecraft:element_0": 36,
|
||||
"minecraft:yellow_flower": 37,
|
||||
"minecraft:red_flower": 38,
|
||||
"minecraft:brown_mushroom": 39,
|
||||
"minecraft:red_mushroom": 40,
|
||||
"minecraft:gold_block": 41,
|
||||
"minecraft:iron_block": 42,
|
||||
"minecraft:double_stone_slab": 43,
|
||||
"minecraft:stone_slab": 44,
|
||||
"minecraft:brick_block": 45,
|
||||
"minecraft:tnt": 46,
|
||||
"minecraft:bookshelf": 47,
|
||||
"minecraft:mossy_cobblestone": 48,
|
||||
"minecraft:obsidian": 49,
|
||||
"minecraft:torch": 50,
|
||||
"minecraft:fire": 51,
|
||||
"minecraft:mob_spawner": 52,
|
||||
"minecraft:oak_stairs": 53,
|
||||
"minecraft:chest": 54,
|
||||
"minecraft:redstone_wire": 55,
|
||||
"minecraft:diamond_ore": 56,
|
||||
"minecraft:diamond_block": 57,
|
||||
"minecraft:crafting_table": 58,
|
||||
"minecraft:wheat": 59,
|
||||
"minecraft:farmland": 60,
|
||||
"minecraft:furnace": 61,
|
||||
"minecraft:lit_furnace": 62,
|
||||
"minecraft:standing_sign": 63,
|
||||
"minecraft:wooden_door": 64,
|
||||
"minecraft:ladder": 65,
|
||||
"minecraft:rail": 66,
|
||||
"minecraft:stone_stairs": 67,
|
||||
"minecraft:wall_sign": 68,
|
||||
"minecraft:lever": 69,
|
||||
"minecraft:stone_pressure_plate": 70,
|
||||
"minecraft:iron_door": 71,
|
||||
"minecraft:wooden_pressure_plate": 72,
|
||||
"minecraft:redstone_ore": 73,
|
||||
"minecraft:lit_redstone_ore": 74,
|
||||
"minecraft:unlit_redstone_torch": 75,
|
||||
"minecraft:redstone_torch": 76,
|
||||
"minecraft:stone_button": 77,
|
||||
"minecraft:snow_layer": 78,
|
||||
"minecraft:ice": 79,
|
||||
"minecraft:snow": 80,
|
||||
"minecraft:cactus": 81,
|
||||
"minecraft:clay": 82,
|
||||
"minecraft:reeds": 83,
|
||||
"minecraft:jukebox": 84,
|
||||
"minecraft:fence": 85,
|
||||
"minecraft:pumpkin": 86,
|
||||
"minecraft:netherrack": 87,
|
||||
"minecraft:soul_sand": 88,
|
||||
"minecraft:glowstone": 89,
|
||||
"minecraft:portal": 90,
|
||||
"minecraft:lit_pumpkin": 91,
|
||||
"minecraft:cake": 92,
|
||||
"minecraft:unpowered_repeater": 93,
|
||||
"minecraft:powered_repeater": 94,
|
||||
"minecraft:invisibleBedrock": 95,
|
||||
"minecraft:trapdoor": 96,
|
||||
"minecraft:monster_egg": 97,
|
||||
"minecraft:stonebrick": 98,
|
||||
"minecraft:brown_mushroom_block": 99,
|
||||
"minecraft:red_mushroom_block": 100,
|
||||
"minecraft:iron_bars": 101,
|
||||
"minecraft:glass_pane": 102,
|
||||
"minecraft:melon_block": 103,
|
||||
"minecraft:pumpkin_stem": 104,
|
||||
"minecraft:melon_stem": 105,
|
||||
"minecraft:vine": 106,
|
||||
"minecraft:fence_gate": 107,
|
||||
"minecraft:brick_stairs": 108,
|
||||
"minecraft:stone_brick_stairs": 109,
|
||||
"minecraft:mycelium": 110,
|
||||
"minecraft:waterlily": 111,
|
||||
"minecraft:nether_brick": 112,
|
||||
"minecraft:nether_brick_fence": 113,
|
||||
"minecraft:nether_brick_stairs": 114,
|
||||
"minecraft:nether_wart": 115,
|
||||
"minecraft:enchanting_table": 116,
|
||||
"minecraft:brewing_stand": 117,
|
||||
"minecraft:cauldron": 118,
|
||||
"minecraft:end_portal": 119,
|
||||
"minecraft:end_portal_frame": 120,
|
||||
"minecraft:end_stone": 121,
|
||||
"minecraft:dragon_egg": 122,
|
||||
"minecraft:redstone_lamp": 123,
|
||||
"minecraft:lit_redstone_lamp": 124,
|
||||
"minecraft:dropper": 125,
|
||||
"minecraft:activator_rail": 126,
|
||||
"minecraft:cocoa": 127,
|
||||
"minecraft:sandstone_stairs": 128,
|
||||
"minecraft:emerald_ore": 129,
|
||||
"minecraft:ender_chest": 130,
|
||||
"minecraft:tripwire_hook": 131,
|
||||
"minecraft:tripWire": 132,
|
||||
"minecraft:emerald_block": 133,
|
||||
"minecraft:spruce_stairs": 134,
|
||||
"minecraft:birch_stairs": 135,
|
||||
"minecraft:jungle_stairs": 136,
|
||||
"minecraft:command_block": 137,
|
||||
"minecraft:beacon": 138,
|
||||
"minecraft:cobblestone_wall": 139,
|
||||
"minecraft:flower_pot": 140,
|
||||
"minecraft:carrots": 141,
|
||||
"minecraft:potatoes": 142,
|
||||
"minecraft:wooden_button": 143,
|
||||
"minecraft:skull": 144,
|
||||
"minecraft:anvil": 145,
|
||||
"minecraft:trapped_chest": 146,
|
||||
"minecraft:light_weighted_pressure_plate": 147,
|
||||
"minecraft:heavy_weighted_pressure_plate": 148,
|
||||
"minecraft:unpowered_comparator": 149,
|
||||
"minecraft:powered_comparator": 150,
|
||||
"minecraft:daylight_detector": 151,
|
||||
"minecraft:redstone_block": 152,
|
||||
"minecraft:quartz_ore": 153,
|
||||
"minecraft:hopper": 154,
|
||||
"minecraft:quartz_block": 155,
|
||||
"minecraft:quartz_stairs": 156,
|
||||
"minecraft:double_wooden_slab": 157,
|
||||
"minecraft:wooden_slab": 158,
|
||||
"minecraft:stained_hardened_clay": 159,
|
||||
"minecraft:stained_glass_pane": 160,
|
||||
"minecraft:leaves2": 161,
|
||||
"minecraft:log2": 162,
|
||||
"minecraft:acacia_stairs": 163,
|
||||
"minecraft:dark_oak_stairs": 164,
|
||||
"minecraft:slime": 165,
|
||||
"minecraft:iron_trapdoor": 167,
|
||||
"minecraft:prismarine": 168,
|
||||
"minecraft:seaLantern": 169,
|
||||
"minecraft:hay_block": 170,
|
||||
"minecraft:carpet": 171,
|
||||
"minecraft:hardened_clay": 172,
|
||||
"minecraft:coal_block": 173,
|
||||
"minecraft:packed_ice": 174,
|
||||
"minecraft:double_plant": 175,
|
||||
"minecraft:standing_banner": 176,
|
||||
"minecraft:wall_banner": 177,
|
||||
"minecraft:daylight_detector_inverted": 178,
|
||||
"minecraft:red_sandstone": 179,
|
||||
"minecraft:red_sandstone_stairs": 180,
|
||||
"minecraft:double_stone_slab2": 181,
|
||||
"minecraft:stone_slab2": 182,
|
||||
"minecraft:spruce_fence_gate": 183,
|
||||
"minecraft:birch_fence_gate": 184,
|
||||
"minecraft:jungle_fence_gate": 185,
|
||||
"minecraft:dark_oak_fence_gate": 186,
|
||||
"minecraft:acacia_fence_gate": 187,
|
||||
"minecraft:repeating_command_block": 188,
|
||||
"minecraft:chain_command_block": 189,
|
||||
"minecraft:hard_glass_pane": 190,
|
||||
"minecraft:hard_stained_glass_pane": 191,
|
||||
"minecraft:chemical_heat": 192,
|
||||
"minecraft:spruce_door": 193,
|
||||
"minecraft:birch_door": 194,
|
||||
"minecraft:jungle_door": 195,
|
||||
"minecraft:acacia_door": 196,
|
||||
"minecraft:dark_oak_door": 197,
|
||||
"minecraft:grass_path": 198,
|
||||
"minecraft:frame": 199,
|
||||
"minecraft:chorus_flower": 200,
|
||||
"minecraft:purpur_block": 201,
|
||||
"minecraft:colored_torch_rg": 202,
|
||||
"minecraft:purpur_stairs": 203,
|
||||
"minecraft:colored_torch_bp": 204,
|
||||
"minecraft:undyed_shulker_box": 205,
|
||||
"minecraft:end_bricks": 206,
|
||||
"minecraft:frosted_ice": 207,
|
||||
"minecraft:end_rod": 208,
|
||||
"minecraft:end_gateway": 209,
|
||||
"minecraft:magma": 213,
|
||||
"minecraft:nether_wart_block": 214,
|
||||
"minecraft:red_nether_brick": 215,
|
||||
"minecraft:bone_block": 216,
|
||||
"minecraft:shulker_box": 218,
|
||||
"minecraft:purple_glazed_terracotta": 219,
|
||||
"minecraft:white_glazed_terracotta": 220,
|
||||
"minecraft:orange_glazed_terracotta": 221,
|
||||
"minecraft:magenta_glazed_terracotta": 222,
|
||||
"minecraft:light_blue_glazed_terracotta": 223,
|
||||
"minecraft:yellow_glazed_terracotta": 224,
|
||||
"minecraft:lime_glazed_terracotta": 225,
|
||||
"minecraft:pink_glazed_terracotta": 226,
|
||||
"minecraft:gray_glazed_terracotta": 227,
|
||||
"minecraft:silver_glazed_terracotta": 228,
|
||||
"minecraft:cyan_glazed_terracotta": 229,
|
||||
"minecraft:blue_glazed_terracotta": 231,
|
||||
"minecraft:brown_glazed_terracotta": 232,
|
||||
"minecraft:green_glazed_terracotta": 233,
|
||||
"minecraft:red_glazed_terracotta": 234,
|
||||
"minecraft:black_glazed_terracotta": 235,
|
||||
"minecraft:concrete": 236,
|
||||
"minecraft:concretePowder": 237,
|
||||
"minecraft:chemistry_table": 238,
|
||||
"minecraft:underwater_torch": 239,
|
||||
"minecraft:chorus_plant": 240,
|
||||
"minecraft:stained_glass": 241,
|
||||
"minecraft:podzol": 243,
|
||||
"minecraft:beetroot": 244,
|
||||
"minecraft:stonecutter": 245,
|
||||
"minecraft:glowingobsidian": 246,
|
||||
"minecraft:netherreactor": 247,
|
||||
"minecraft:info_update": 248,
|
||||
"minecraft:info_update2": 249,
|
||||
"minecraft:movingBlock": 250,
|
||||
"minecraft:observer": 251,
|
||||
"minecraft:structure_block": 252,
|
||||
"minecraft:hard_glass": 253,
|
||||
"minecraft:hard_stained_glass": 254,
|
||||
"minecraft:reserved6": 255,
|
||||
"minecraft:prismarine_stairs": 257,
|
||||
"minecraft:dark_prismarine_stairs": 258,
|
||||
"minecraft:prismarine_bricks_stairs": 259,
|
||||
"minecraft:stripped_spruce_log": 260,
|
||||
"minecraft:stripped_birch_log": 261,
|
||||
"minecraft:stripped_jungle_log": 262,
|
||||
"minecraft:stripped_acacia_log": 263,
|
||||
"minecraft:stripped_dark_oak_log": 264,
|
||||
"minecraft:stripped_oak_log": 265,
|
||||
"minecraft:blue_ice": 266,
|
||||
"minecraft:element_1": 267,
|
||||
"minecraft:element_2": 268,
|
||||
"minecraft:element_3": 269,
|
||||
"minecraft:element_4": 270,
|
||||
"minecraft:element_5": 271,
|
||||
"minecraft:element_6": 272,
|
||||
"minecraft:element_7": 273,
|
||||
"minecraft:element_8": 274,
|
||||
"minecraft:element_9": 275,
|
||||
"minecraft:element_10": 276,
|
||||
"minecraft:element_11": 277,
|
||||
"minecraft:element_12": 278,
|
||||
"minecraft:element_13": 279,
|
||||
"minecraft:element_14": 280,
|
||||
"minecraft:element_15": 281,
|
||||
"minecraft:element_16": 282,
|
||||
"minecraft:element_17": 283,
|
||||
"minecraft:element_18": 284,
|
||||
"minecraft:element_19": 285,
|
||||
"minecraft:element_20": 286,
|
||||
"minecraft:element_21": 287,
|
||||
"minecraft:element_22": 288,
|
||||
"minecraft:element_23": 289,
|
||||
"minecraft:element_24": 290,
|
||||
"minecraft:element_25": 291,
|
||||
"minecraft:element_26": 292,
|
||||
"minecraft:element_27": 293,
|
||||
"minecraft:element_28": 294,
|
||||
"minecraft:element_29": 295,
|
||||
"minecraft:element_30": 296,
|
||||
"minecraft:element_31": 297,
|
||||
"minecraft:element_32": 298,
|
||||
"minecraft:element_33": 299,
|
||||
"minecraft:element_34": 300,
|
||||
"minecraft:element_35": 301,
|
||||
"minecraft:element_36": 302,
|
||||
"minecraft:element_37": 303,
|
||||
"minecraft:element_38": 304,
|
||||
"minecraft:element_39": 305,
|
||||
"minecraft:element_40": 306,
|
||||
"minecraft:element_41": 307,
|
||||
"minecraft:element_42": 308,
|
||||
"minecraft:element_43": 309,
|
||||
"minecraft:element_44": 310,
|
||||
"minecraft:element_45": 311,
|
||||
"minecraft:element_46": 312,
|
||||
"minecraft:element_47": 313,
|
||||
"minecraft:element_48": 314,
|
||||
"minecraft:element_49": 315,
|
||||
"minecraft:element_50": 316,
|
||||
"minecraft:element_51": 317,
|
||||
"minecraft:element_52": 318,
|
||||
"minecraft:element_53": 319,
|
||||
"minecraft:element_54": 320,
|
||||
"minecraft:element_55": 321,
|
||||
"minecraft:element_56": 322,
|
||||
"minecraft:element_57": 323,
|
||||
"minecraft:element_58": 324,
|
||||
"minecraft:element_59": 325,
|
||||
"minecraft:element_60": 326,
|
||||
"minecraft:element_61": 327,
|
||||
"minecraft:element_62": 328,
|
||||
"minecraft:element_63": 329,
|
||||
"minecraft:element_64": 330,
|
||||
"minecraft:element_65": 331,
|
||||
"minecraft:element_66": 332,
|
||||
"minecraft:element_67": 333,
|
||||
"minecraft:element_68": 334,
|
||||
"minecraft:element_69": 335,
|
||||
"minecraft:element_70": 336,
|
||||
"minecraft:element_71": 337,
|
||||
"minecraft:element_72": 338,
|
||||
"minecraft:element_73": 339,
|
||||
"minecraft:element_74": 340,
|
||||
"minecraft:element_75": 341,
|
||||
"minecraft:element_76": 342,
|
||||
"minecraft:element_77": 343,
|
||||
"minecraft:element_78": 344,
|
||||
"minecraft:element_79": 345,
|
||||
"minecraft:element_80": 346,
|
||||
"minecraft:element_81": 347,
|
||||
"minecraft:element_82": 348,
|
||||
"minecraft:element_83": 349,
|
||||
"minecraft:element_84": 350,
|
||||
"minecraft:element_85": 351,
|
||||
"minecraft:element_86": 352,
|
||||
"minecraft:element_87": 353,
|
||||
"minecraft:element_88": 354,
|
||||
"minecraft:element_89": 355,
|
||||
"minecraft:element_90": 356,
|
||||
"minecraft:element_91": 357,
|
||||
"minecraft:element_92": 358,
|
||||
"minecraft:element_93": 359,
|
||||
"minecraft:element_94": 360,
|
||||
"minecraft:element_95": 361,
|
||||
"minecraft:element_96": 362,
|
||||
"minecraft:element_97": 363,
|
||||
"minecraft:element_98": 364,
|
||||
"minecraft:element_99": 365,
|
||||
"minecraft:element_100": 366,
|
||||
"minecraft:element_101": 367,
|
||||
"minecraft:element_102": 368,
|
||||
"minecraft:element_103": 369,
|
||||
"minecraft:element_104": 370,
|
||||
"minecraft:element_105": 371,
|
||||
"minecraft:element_106": 372,
|
||||
"minecraft:element_107": 373,
|
||||
"minecraft:element_108": 374,
|
||||
"minecraft:element_109": 375,
|
||||
"minecraft:element_110": 376,
|
||||
"minecraft:element_111": 377,
|
||||
"minecraft:element_112": 378,
|
||||
"minecraft:element_113": 379,
|
||||
"minecraft:element_114": 380,
|
||||
"minecraft:element_115": 381,
|
||||
"minecraft:element_116": 382,
|
||||
"minecraft:element_117": 383,
|
||||
"minecraft:element_118": 384,
|
||||
"minecraft:seagrass": 385,
|
||||
"minecraft:coral": 386,
|
||||
"minecraft:coral_block": 387,
|
||||
"minecraft:coral_fan": 388,
|
||||
"minecraft:coral_fan_dead": 389,
|
||||
"minecraft:coral_fan_hang": 390,
|
||||
"minecraft:coral_fan_hang2": 391,
|
||||
"minecraft:coral_fan_hang3": 392,
|
||||
"minecraft:kelp": 393,
|
||||
"minecraft:dried_kelp_block": 394,
|
||||
"minecraft:acacia_button": 395,
|
||||
"minecraft:birch_button": 396,
|
||||
"minecraft:dark_oak_button": 397,
|
||||
"minecraft:jungle_button": 398,
|
||||
"minecraft:spruce_button": 399,
|
||||
"minecraft:acacia_trapdoor": 400,
|
||||
"minecraft:birch_trapdoor": 401,
|
||||
"minecraft:dark_oak_trapdoor": 402,
|
||||
"minecraft:jungle_trapdoor": 403,
|
||||
"minecraft:spruce_trapdoor": 404,
|
||||
"minecraft:acacia_pressure_plate": 405,
|
||||
"minecraft:birch_pressure_plate": 406,
|
||||
"minecraft:dark_oak_pressure_plate": 407,
|
||||
"minecraft:jungle_pressure_plate": 408,
|
||||
"minecraft:spruce_pressure_plate": 409,
|
||||
"minecraft:carved_pumpkin": 410,
|
||||
"minecraft:sea_pickle": 411,
|
||||
"minecraft:conduit": 412,
|
||||
"minecraft:turtle_egg": 414,
|
||||
"minecraft:bubble_column": 415,
|
||||
"minecraft:barrier": 416,
|
||||
"minecraft:stone_slab3": 417,
|
||||
"minecraft:bamboo": 418,
|
||||
"minecraft:bamboo_sapling": 419,
|
||||
"minecraft:scaffolding": 420,
|
||||
"minecraft:stone_slab4": 421,
|
||||
"minecraft:double_stone_slab3": 422,
|
||||
"minecraft:double_stone_slab4": 423,
|
||||
"minecraft:granite_stairs": 424,
|
||||
"minecraft:diorite_stairs": 425,
|
||||
"minecraft:andesite_stairs": 426,
|
||||
"minecraft:polished_granite_stairs": 427,
|
||||
"minecraft:polished_diorite_stairs": 428,
|
||||
"minecraft:polished_andesite_stairs": 429,
|
||||
"minecraft:mossy_stone_brick_stairs": 430,
|
||||
"minecraft:smooth_red_sandstone_stairs": 431,
|
||||
"minecraft:smooth_sandstone_stairs": 432,
|
||||
"minecraft:end_brick_stairs": 433,
|
||||
"minecraft:mossy_cobblestone_stairs": 434,
|
||||
"minecraft:normal_stone_stairs": 435,
|
||||
"minecraft:spruce_standing_sign": 436,
|
||||
"minecraft:spruce_wall_sign": 437,
|
||||
"minecraft:smooth_stone": 438,
|
||||
"minecraft:red_nether_brick_stairs": 439,
|
||||
"minecraft:smooth_quartz_stairs": 440,
|
||||
"minecraft:birch_standing_sign": 441,
|
||||
"minecraft:birch_wall_sign": 442,
|
||||
"minecraft:jungle_standing_sign": 443,
|
||||
"minecraft:jungle_wall_sign": 444,
|
||||
"minecraft:acacia_standing_sign": 445,
|
||||
"minecraft:acacia_wall_sign": 446,
|
||||
"minecraft:darkoak_standing_sign": 447,
|
||||
"minecraft:darkoak_wall_sign": 448,
|
||||
"minecraft:lectern": 449,
|
||||
"minecraft:grindstone": 450,
|
||||
"minecraft:blast_furnace": 451,
|
||||
"minecraft:stonecutter_block": 452,
|
||||
"minecraft:smoker": 453,
|
||||
"minecraft:lit_smoker": 454,
|
||||
"minecraft:cartography_table": 455,
|
||||
"minecraft:fletching_table": 456,
|
||||
"minecraft:smithing_table": 457,
|
||||
"minecraft:barrel": 458,
|
||||
"minecraft:loom": 459,
|
||||
"minecraft:bell": 461,
|
||||
"minecraft:sweet_berry_bush": 462,
|
||||
"minecraft:lantern": 463,
|
||||
"minecraft:campfire": 464,
|
||||
"minecraft:lava_cauldron": 465,
|
||||
"minecraft:jigsaw": 466,
|
||||
"minecraft:wood": 467,
|
||||
"minecraft:composter": 468,
|
||||
"minecraft:lit_blast_furnace": 469
|
||||
}
|
229
connector/src/main/resources/bedrock/legacy_item_ids.json
Normal file
229
connector/src/main/resources/bedrock/legacy_item_ids.json
Normal file
|
@ -0,0 +1,229 @@
|
|||
{
|
||||
"minecraft:iron_shovel": 256,
|
||||
"minecraft:iron_pickaxe": 257,
|
||||
"minecraft:iron_axe": 258,
|
||||
"minecraft:flint_and_steel": 259,
|
||||
"minecraft:apple": 260,
|
||||
"minecraft:bow": 261,
|
||||
"minecraft:arrow": 262,
|
||||
"minecraft:coal": 263,
|
||||
"minecraft:diamond": 264,
|
||||
"minecraft:iron_ingot": 265,
|
||||
"minecraft:gold_ingot": 266,
|
||||
"minecraft:iron_sword": 267,
|
||||
"minecraft:wooden_sword": 268,
|
||||
"minecraft:wooden_shovel": 269,
|
||||
"minecraft:wooden_pickaxe": 270,
|
||||
"minecraft:wooden_axe": 271,
|
||||
"minecraft:stone_sword": 272,
|
||||
"minecraft:stone_shovel": 273,
|
||||
"minecraft:stone_pickaxe": 274,
|
||||
"minecraft:stone_axe": 275,
|
||||
"minecraft:diamond_sword": 276,
|
||||
"minecraft:diamond_shovel": 277,
|
||||
"minecraft:diamond_pickaxe": 278,
|
||||
"minecraft:diamond_axe": 279,
|
||||
"minecraft:stick": 280,
|
||||
"minecraft:bowl": 281,
|
||||
"minecraft:mushroom_stew": 282,
|
||||
"minecraft:golden_sword": 283,
|
||||
"minecraft:golden_shovel": 284,
|
||||
"minecraft:golden_pickaxe": 285,
|
||||
"minecraft:golden_axe": 286,
|
||||
"minecraft:string": 287,
|
||||
"minecraft:feather": 288,
|
||||
"minecraft:gunpowder": 289,
|
||||
"minecraft:wooden_hoe": 290,
|
||||
"minecraft:stone_hoe": 291,
|
||||
"minecraft:iron_hoe": 292,
|
||||
"minecraft:diamond_hoe": 293,
|
||||
"minecraft:golden_hoe": 294,
|
||||
"minecraft:wheat_seeds": 295,
|
||||
"minecraft:wheat": 296,
|
||||
"minecraft:bread": 297,
|
||||
"minecraft:leather_helmet": 298,
|
||||
"minecraft:leather_chestplate": 299,
|
||||
"minecraft:leather_leggings": 300,
|
||||
"minecraft:leather_boots": 301,
|
||||
"minecraft:chainmail_helmet": 302,
|
||||
"minecraft:chainmail_chestplate": 303,
|
||||
"minecraft:chainmail_leggings": 304,
|
||||
"minecraft:chainmail_boots": 305,
|
||||
"minecraft:iron_helmet": 306,
|
||||
"minecraft:iron_chestplate": 307,
|
||||
"minecraft:iron_leggings": 308,
|
||||
"minecraft:iron_boots": 309,
|
||||
"minecraft:diamond_helmet": 310,
|
||||
"minecraft:diamond_chestplate": 311,
|
||||
"minecraft:diamond_leggings": 312,
|
||||
"minecraft:diamond_boots": 313,
|
||||
"minecraft:golden_helmet": 314,
|
||||
"minecraft:golden_chestplate": 315,
|
||||
"minecraft:golden_leggings": 316,
|
||||
"minecraft:golden_boots": 317,
|
||||
"minecraft:flint": 318,
|
||||
"minecraft:porkchop": 319,
|
||||
"minecraft:cooked_porkchop": 320,
|
||||
"minecraft:painting": 321,
|
||||
"minecraft:golden_apple": 322,
|
||||
"minecraft:sign": 323,
|
||||
"minecraft:wooden_door": 324,
|
||||
"minecraft:bucket": 325,
|
||||
"minecraft:minecart": 328,
|
||||
"minecraft:saddle": 329,
|
||||
"minecraft:iron_door": 330,
|
||||
"minecraft:redstone": 331,
|
||||
"minecraft:snowball": 332,
|
||||
"minecraft:boat": 333,
|
||||
"minecraft:leather": 334,
|
||||
"minecraft:kelp": 335,
|
||||
"minecraft:brick": 336,
|
||||
"minecraft:clay_ball": 337,
|
||||
"minecraft:reeds": 338,
|
||||
"minecraft:paper": 339,
|
||||
"minecraft:book": 340,
|
||||
"minecraft:slime_ball": 341,
|
||||
"minecraft:chest_minecart": 342,
|
||||
"minecraft:egg": 344,
|
||||
"minecraft:compass": 345,
|
||||
"minecraft:fishing_rod": 346,
|
||||
"minecraft:clock": 347,
|
||||
"minecraft:glowstone_dust": 348,
|
||||
"minecraft:fish": 349,
|
||||
"minecraft:cooked_fish": 350,
|
||||
"minecraft:dye": 351,
|
||||
"minecraft:bone": 352,
|
||||
"minecraft:sugar": 353,
|
||||
"minecraft:cake": 354,
|
||||
"minecraft:bed": 355,
|
||||
"minecraft:repeater": 356,
|
||||
"minecraft:cookie": 357,
|
||||
"minecraft:map": 358,
|
||||
"minecraft:shears": 359,
|
||||
"minecraft:melon": 360,
|
||||
"minecraft:pumpkin_seeds": 361,
|
||||
"minecraft:melon_seeds": 362,
|
||||
"minecraft:beef": 363,
|
||||
"minecraft:cooked_beef": 364,
|
||||
"minecraft:chicken": 365,
|
||||
"minecraft:cooked_chicken": 366,
|
||||
"minecraft:rotten_flesh": 367,
|
||||
"minecraft:ender_pearl": 368,
|
||||
"minecraft:blaze_rod": 369,
|
||||
"minecraft:ghast_tear": 370,
|
||||
"minecraft:gold_nugget": 371,
|
||||
"minecraft:nether_wart": 372,
|
||||
"minecraft:potion": 373,
|
||||
"minecraft:glass_bottle": 374,
|
||||
"minecraft:spider_eye": 375,
|
||||
"minecraft:fermented_spider_eye": 376,
|
||||
"minecraft:blaze_powder": 377,
|
||||
"minecraft:magma_cream": 378,
|
||||
"minecraft:brewing_stand": 379,
|
||||
"minecraft:cauldron": 380,
|
||||
"minecraft:composter": 381,
|
||||
"minecraft:speckled_melon": 382,
|
||||
"minecraft:spawn_egg": 383,
|
||||
"minecraft:experience_bottle": 384,
|
||||
"minecraft:fireball": 385,
|
||||
"minecraft:writable_book": 386,
|
||||
"minecraft:written_book": 387,
|
||||
"minecraft:emerald": 388,
|
||||
"minecraft:frame": 389,
|
||||
"minecraft:flower_pot": 390,
|
||||
"minecraft:carrot": 391,
|
||||
"minecraft:potato": 392,
|
||||
"minecraft:baked_potato": 393,
|
||||
"minecraft:poisonous_potato": 394,
|
||||
"minecraft:emptyMap": 395,
|
||||
"minecraft:golden_carrot": 396,
|
||||
"minecraft:skull": 397,
|
||||
"minecraft:carrotOnAStick": 398,
|
||||
"minecraft:netherStar": 399,
|
||||
"minecraft:pumpkin_pie": 400,
|
||||
"minecraft:fireworks": 401,
|
||||
"minecraft:fireworksCharge": 402,
|
||||
"minecraft:enchanted_book": 403,
|
||||
"minecraft:comparator": 404,
|
||||
"minecraft:netherbrick": 405,
|
||||
"minecraft:quartz": 406,
|
||||
"minecraft:tnt_minecart": 407,
|
||||
"minecraft:hopper_minecart": 408,
|
||||
"minecraft:prismarine_shard": 409,
|
||||
"minecraft:hopper": 410,
|
||||
"minecraft:rabbit": 411,
|
||||
"minecraft:cooked_rabbit": 412,
|
||||
"minecraft:rabbit_stew": 413,
|
||||
"minecraft:rabbit_foot": 414,
|
||||
"minecraft:rabbit_hide": 415,
|
||||
"minecraft:horsearmorleather": 416,
|
||||
"minecraft:horsearmoriron": 417,
|
||||
"minecraft:horsearmorgold": 418,
|
||||
"minecraft:horsearmordiamond": 419,
|
||||
"minecraft:lead": 420,
|
||||
"minecraft:nametag": 422,
|
||||
"minecraft:muttonRaw": 423,
|
||||
"minecraft:muttonCooked": 424,
|
||||
"minecraft:armor_stand": 425,
|
||||
"minecraft:end_crystal": 426,
|
||||
"minecraft:spruce_door": 427,
|
||||
"minecraft:birch_door": 428,
|
||||
"minecraft:jungle_door": 429,
|
||||
"minecraft:acacia_door": 430,
|
||||
"minecraft:dark_oak_door": 431,
|
||||
"minecraft:chorus_fruit": 432,
|
||||
"minecraft:chorus_fruit_popped": 433,
|
||||
"minecraft:banner_pattern": 434,
|
||||
"minecraft:dragon_breath": 437,
|
||||
"minecraft:splash_potion": 438,
|
||||
"minecraft:lingering_potion": 441,
|
||||
"minecraft:sparkler": 442,
|
||||
"minecraft:command_block_minecart": 443,
|
||||
"minecraft:elytra": 444,
|
||||
"minecraft:shulker_shell": 445,
|
||||
"minecraft:banner": 446,
|
||||
"minecraft:medicine": 447,
|
||||
"minecraft:balloon": 448,
|
||||
"minecraft:rapid_fertilizer": 449,
|
||||
"minecraft:totem": 450,
|
||||
"minecraft:bleach": 451,
|
||||
"minecraft:iron_nugget": 452,
|
||||
"minecraft:ice_bomb": 453,
|
||||
"minecraft:trident": 455,
|
||||
"minecraft:beetroot": 457,
|
||||
"minecraft:beetroot_seeds": 458,
|
||||
"minecraft:beetroot_soup": 459,
|
||||
"minecraft:salmon": 460,
|
||||
"minecraft:clownfish": 461,
|
||||
"minecraft:pufferfish": 462,
|
||||
"minecraft:cooked_salmon": 463,
|
||||
"minecraft:dried_kelp": 464,
|
||||
"minecraft:nautilus_shell": 465,
|
||||
"minecraft:appleEnchanted": 466,
|
||||
"minecraft:heart_of_the_sea": 467,
|
||||
"minecraft:turtle_shell_piece": 468,
|
||||
"minecraft:turtle_helmet": 469,
|
||||
"minecraft:phantom_membrane": 470,
|
||||
"minecraft:crossbow": 471,
|
||||
"minecraft:spruce_sign": 472,
|
||||
"minecraft:birch_sign": 473,
|
||||
"minecraft:jungle_sign": 474,
|
||||
"minecraft:acacia_sign": 475,
|
||||
"minecraft:darkoak_sign": 476,
|
||||
"minecraft:sweet_berries": 477,
|
||||
"minecraft:compound": 499,
|
||||
"minecraft:record_13": 500,
|
||||
"minecraft:record_cat": 501,
|
||||
"minecraft:record_blocks": 502,
|
||||
"minecraft:record_chirp": 503,
|
||||
"minecraft:record_far": 504,
|
||||
"minecraft:record_mall": 505,
|
||||
"minecraft:record_mellohi": 506,
|
||||
"minecraft:record_stal": 507,
|
||||
"minecraft:record_strad": 508,
|
||||
"minecraft:record_ward": 509,
|
||||
"minecraft:record_11": 510,
|
||||
"minecraft:record_wait": 511,
|
||||
"minecraft:shield": 513,
|
||||
"minecraft:campfire": 720
|
||||
}
|
|
@ -1,409 +0,0 @@
|
|||
{
|
||||
"minecraft:shulker_box" : {
|
||||
"0" : "minecraft:white_shulker_box",
|
||||
"1" : "minecraft:orange_shulker_box",
|
||||
"2" : "minecraft:magenta_shulker_box",
|
||||
"3" : "minecraft:light_blue_shulker_box",
|
||||
"4" : "minecraft:yellow_shulker_box",
|
||||
"5" : "minecraft:lime_shulker_box",
|
||||
"6" : "minecraft:pink_shulker_box",
|
||||
"7" : "minecraft:gray_shulker_box",
|
||||
"8" : "minecraft:light_gray_shulker_box",
|
||||
"9" : "minecraft:cyan_shulker_box",
|
||||
"10" : "minecraft:purple_shulker_box",
|
||||
"11" : "minecraft:blue_shulker_box",
|
||||
"12" : "minecraft:brown_shulker_box",
|
||||
"13" : "minecraft:green_shulker_box",
|
||||
"14" : "minecraft:red_shulker_box",
|
||||
"15" : "minecraft:black_shulker_box"
|
||||
},
|
||||
"minecraft:trapdoor" : {
|
||||
"0" : "minecraft:oak_trapdoor",
|
||||
"1" : "minecraft:spruce_trapdoor",
|
||||
"2" : "minecraft:birch_trapdoor",
|
||||
"3" : "minecraft:jungle_trapdoor",
|
||||
"4" : "minecraft:acacia_trapdoor",
|
||||
"5" : "minecraft:dark_oak_trapdoor"
|
||||
},
|
||||
"minecraft:stained_glass" : {
|
||||
"0" : "minecraft:white_stained_glass",
|
||||
"1" : "minecraft:orange_stained_glass",
|
||||
"2" : "minecraft:magenta_stained_glass",
|
||||
"3" : "minecraft:light_blue_stained_glass",
|
||||
"4" : "minecraft:yellow_stained_glass",
|
||||
"5" : "minecraft:lime_stained_glass",
|
||||
"6" : "minecraft:pink_stained_glass",
|
||||
"7" : "minecraft:gray_stained_glass",
|
||||
"8" : "minecraft:light_gray_stained_glass",
|
||||
"9" : "minecraft:cyan_stained_glass",
|
||||
"10" : "minecraft:purple_stained_glass",
|
||||
"11" : "minecraft:blue_stained_glass",
|
||||
"12" : "minecraft:brown_stained_glass",
|
||||
"13" : "minecraft:green_stained_glass",
|
||||
"14" : "minecraft:red_stained_glass",
|
||||
"15" : "minecraft:black_stained_glass"
|
||||
},
|
||||
"minecraft:stained_hardened_clay" : {
|
||||
"0" : "minecraft:white_terracotta",
|
||||
"1" : "minecraft:orange_terracotta",
|
||||
"2" : "minecraft:magenta_terracotta",
|
||||
"3" : "minecraft:light_blue_terracotta",
|
||||
"4" : "minecraft:yellow_terracotta",
|
||||
"5" : "minecraft:lime_terracotta",
|
||||
"6" : "minecraft:pink_terracotta",
|
||||
"7" : "minecraft:gray_terracotta",
|
||||
"8" : "minecraft:light_gray_terracotta",
|
||||
"9" : "minecraft:cyan_terracotta",
|
||||
"10" : "minecraft:purple_terracotta",
|
||||
"11" : "minecraft:blue_terracotta",
|
||||
"12" : "minecraft:brown_terracotta",
|
||||
"13" : "minecraft:green_terracotta",
|
||||
"14" : "minecraft:red_terracotta",
|
||||
"15" : "minecraft:black_terracotta"
|
||||
},
|
||||
"minecraft:dye" : {
|
||||
"0" : "minecraft:white_dye",
|
||||
"1" : "minecraft:orange_dye",
|
||||
"2" : "minecraft:magenta_dye",
|
||||
"3" : "minecraft:light_blue_dye",
|
||||
"4" : "minecraft:yellow_dye",
|
||||
"5" : "minecraft:lime_dye",
|
||||
"6" : "minecraft:pink_dye",
|
||||
"7" : "minecraft:gray_dye",
|
||||
"8" : "minecraft:light_gray_dye",
|
||||
"9" : "minecraft:cyan_dye",
|
||||
"10" : "minecraft:purple_dye",
|
||||
"11" : "minecraft:blue_dye",
|
||||
"12" : "minecraft:brown_dye",
|
||||
"13" : "minecraft:green_dye",
|
||||
"14" : "minecraft:red_dye",
|
||||
"15" : "minecraft:black_dye"
|
||||
},
|
||||
"minecraft:prismarine_stairs" : {
|
||||
"0" : "minecraft:prismarine_stairs",
|
||||
"1" : "minecraft:prismarine_stairs",
|
||||
"2" : "minecraft:prismarine_stairs",
|
||||
"3" : "minecraft:prismarine_stairs",
|
||||
"4" : "minecraft:prismarine_stairs",
|
||||
"5" : "minecraft:prismarine_stairs",
|
||||
"6" : "minecraft:prismarine_stairs",
|
||||
"7" : "minecraft:prismarine_stairs"
|
||||
},
|
||||
"minecraft:spruce_stairs" : {
|
||||
"0" : "minecraft:spruce_stairs",
|
||||
"1" : "minecraft:spruce_stairs",
|
||||
"2" : "minecraft:spruce_stairs",
|
||||
"3" : "minecraft:spruce_stairs",
|
||||
"4" : "minecraft:spruce_stairs",
|
||||
"5" : "minecraft:spruce_stairs",
|
||||
"6" : "minecraft:spruce_stairs",
|
||||
"7" : "minecraft:spruce_stairs"
|
||||
},
|
||||
"minecraft:fence" : {
|
||||
"0" : "minecraft:oak_fence",
|
||||
"1" : "minecraft:spruce_fence",
|
||||
"2" : "minecraft:birch_fence",
|
||||
"3" : "minecraft:jungle_fence",
|
||||
"4" : "minecraft:acacia_fence",
|
||||
"5" : "minecraft:dark_oak_fence"
|
||||
},
|
||||
"minecraft:carpet" : {
|
||||
"0" : "minecraft:white_carpet",
|
||||
"1" : "minecraft:orange_carpet",
|
||||
"2" : "minecraft:magenta_carpet",
|
||||
"3" : "minecraft:light_blue_carpet",
|
||||
"4" : "minecraft:yellow_carpet",
|
||||
"5" : "minecraft:lime_carpet",
|
||||
"6" : "minecraft:pink_carpet",
|
||||
"7" : "minecraft:gray_carpet",
|
||||
"8" : "minecraft:light_gray_carpet",
|
||||
"9" : "minecraft:cyan_carpet",
|
||||
"10" : "minecraft:purple_carpet",
|
||||
"11" : "minecraft:blue_carpet",
|
||||
"12" : "minecraft:brown_carpet",
|
||||
"13" : "minecraft:green_carpet",
|
||||
"14" : "minecraft:red_carpet",
|
||||
"15" : "minecraft:black_carpet"
|
||||
},
|
||||
"minecraft:concrete" : {
|
||||
"0" : "minecraft:white_concrete",
|
||||
"1" : "minecraft:orange_concrete",
|
||||
"2" : "minecraft:magenta_concrete",
|
||||
"3" : "minecraft:light_blue_concrete",
|
||||
"4" : "minecraft:yellow_concrete",
|
||||
"5" : "minecraft:lime_concrete",
|
||||
"6" : "minecraft:pink_concrete",
|
||||
"7" : "minecraft:gray_concrete",
|
||||
"8" : "minecraft:light_gray_concrete",
|
||||
"9" : "minecraft:cyan_concrete",
|
||||
"10" : "minecraft:purple_concrete",
|
||||
"11" : "minecraft:blue_concrete",
|
||||
"12" : "minecraft:brown_concrete",
|
||||
"13" : "minecraft:green_concrete",
|
||||
"14" : "minecraft:red_concrete",
|
||||
"15" : "minecraft:black_concrete"
|
||||
},
|
||||
"minecraft:acacia_stairs" : {
|
||||
"0" : "minecraft:acacia_stairs",
|
||||
"1" : "minecraft:acacia_stairs",
|
||||
"2" : "minecraft:acacia_stairs",
|
||||
"3" : "minecraft:acacia_stairs",
|
||||
"4" : "minecraft:acacia_stairs",
|
||||
"5" : "minecraft:acacia_stairs",
|
||||
"6" : "minecraft:acacia_stairs",
|
||||
"7" : "minecraft:acacia_stairs"
|
||||
},
|
||||
"minecraft:planks" : {
|
||||
"0" : "minecraft:oak_planks",
|
||||
"1" : "minecraft:spruce_planks",
|
||||
"2" : "minecraft:birch_planks",
|
||||
"3" : "minecraft:jungle_planks",
|
||||
"4" : "minecraft:acacia_planks",
|
||||
"5" : "minecraft:dark_oak_planks"
|
||||
},
|
||||
"minecraft:boat" : {
|
||||
"0" : "minecraft:oak_boat",
|
||||
"1" : "minecraft:spruce_boat",
|
||||
"2" : "minecraft:birch_boat",
|
||||
"3" : "minecraft:jungle_boat",
|
||||
"4" : "minecraft:acacia_boat",
|
||||
"5" : "minecraft:dark_oak_boat"
|
||||
},
|
||||
"minecraft:dark_prismarine_stairs" : {
|
||||
"0" : "minecraft:dark_prismarine_stairs",
|
||||
"1" : "minecraft:dark_prismarine_stairs",
|
||||
"2" : "minecraft:dark_prismarine_stairs",
|
||||
"3" : "minecraft:dark_prismarine_stairs",
|
||||
"4" : "minecraft:dark_prismarine_stairs",
|
||||
"5" : "minecraft:dark_prismarine_stairs",
|
||||
"6" : "minecraft:dark_prismarine_stairs",
|
||||
"7" : "minecraft:dark_prismarine_stairs"
|
||||
},
|
||||
"minecraft:log" : {
|
||||
"0" : "minecraft:oak_log",
|
||||
"1" : "minecraft:spruce_log",
|
||||
"2" : "minecraft:birch_log",
|
||||
"3" : "minecraft:jungle_log",
|
||||
"4" : "minecraft:acacia_log",
|
||||
"5" : "minecraft:dark_oak_log"
|
||||
},
|
||||
"minecraft:quartz_stairs" : {
|
||||
"0" : "minecraft:quartz_stairs",
|
||||
"1" : "minecraft:quartz_stairs",
|
||||
"2" : "minecraft:quartz_stairs",
|
||||
"3" : "minecraft:quartz_stairs",
|
||||
"4" : "minecraft:quartz_stairs",
|
||||
"5" : "minecraft:quartz_stairs",
|
||||
"6" : "minecraft:quartz_stairs",
|
||||
"7" : "minecraft:quartz_stairs"
|
||||
},
|
||||
"minecraft:brick_stairs" : {
|
||||
"0" : "minecraft:brick_stairs",
|
||||
"1" : "minecraft:brick_stairs",
|
||||
"2" : "minecraft:brick_stairs",
|
||||
"3" : "minecraft:brick_stairs",
|
||||
"4" : "minecraft:brick_stairs",
|
||||
"5" : "minecraft:brick_stairs",
|
||||
"6" : "minecraft:brick_stairs",
|
||||
"7" : "minecraft:brick_stairs"
|
||||
},
|
||||
"minecraft:wood" : {
|
||||
"0" : "minecraft:oak_wood",
|
||||
"1" : "minecraft:spruce_wood",
|
||||
"2" : "minecraft:birch_wood",
|
||||
"3" : "minecraft:jungle_wood",
|
||||
"4" : "minecraft:acacia_wood",
|
||||
"5" : "minecraft:dark_oak_wood"
|
||||
},
|
||||
"minecraft:bed" : {
|
||||
"0" : "minecraft:white_bed",
|
||||
"1" : "minecraft:orange_bed",
|
||||
"2" : "minecraft:magenta_bed",
|
||||
"3" : "minecraft:light_blue_bed",
|
||||
"4" : "minecraft:yellow_bed",
|
||||
"5" : "minecraft:lime_bed",
|
||||
"6" : "minecraft:pink_bed",
|
||||
"7" : "minecraft:gray_bed",
|
||||
"8" : "minecraft:light_gray_bed",
|
||||
"9" : "minecraft:cyan_bed",
|
||||
"10" : "minecraft:purple_bed",
|
||||
"11" : "minecraft:blue_bed",
|
||||
"12" : "minecraft:brown_bed",
|
||||
"13" : "minecraft:green_bed",
|
||||
"14" : "minecraft:red_bed",
|
||||
"15" : "minecraft:black_bed"
|
||||
},
|
||||
"minecraft:red_nether_brick_stairs" : {
|
||||
"0" : "minecraft:red_nether_brick_stairs",
|
||||
"1" : "minecraft:red_nether_brick_stairs",
|
||||
"2" : "minecraft:red_nether_brick_stairs",
|
||||
"3" : "minecraft:red_nether_brick_stairs",
|
||||
"4" : "minecraft:red_nether_brick_stairs",
|
||||
"5" : "minecraft:red_nether_brick_stairs",
|
||||
"6" : "minecraft:red_nether_brick_stairs",
|
||||
"7" : "minecraft:red_nether_brick_stairs"
|
||||
},
|
||||
"minecraft:concrete_powder" : {
|
||||
"0" : "minecraft:white_concrete_powder",
|
||||
"1" : "minecraft:orange_concrete_powder",
|
||||
"2" : "minecraft:magenta_concrete_powder",
|
||||
"3" : "minecraft:light_blue_concrete_powder",
|
||||
"4" : "minecraft:yellow_concrete_powder",
|
||||
"5" : "minecraft:lime_concrete_powder",
|
||||
"6" : "minecraft:pink_concrete_powder",
|
||||
"7" : "minecraft:gray_concrete_powder",
|
||||
"8" : "minecraft:light_gray_concrete_powder",
|
||||
"9" : "minecraft:cyan_concrete_powder",
|
||||
"10" : "minecraft:purple_concrete_powder",
|
||||
"11" : "minecraft:blue_concrete_powder",
|
||||
"12" : "minecraft:brown_concrete_powder",
|
||||
"13" : "minecraft:green_concrete_powder",
|
||||
"14" : "minecraft:red_concrete_powder",
|
||||
"15" : "minecraft:black_concrete_powder"
|
||||
},
|
||||
"minecraft:wool" : {
|
||||
"0" : "minecraft:white_wool",
|
||||
"1" : "minecraft:orange_wool",
|
||||
"2" : "minecraft:magenta_wool",
|
||||
"3" : "minecraft:light_blue_wool",
|
||||
"4" : "minecraft:yellow_wool",
|
||||
"5" : "minecraft:lime_wool",
|
||||
"6" : "minecraft:pink_wool",
|
||||
"7" : "minecraft:gray_wool",
|
||||
"8" : "minecraft:light_gray_wool",
|
||||
"9" : "minecraft:cyan_wool",
|
||||
"10" : "minecraft:purple_wool",
|
||||
"11" : "minecraft:blue_wool",
|
||||
"12" : "minecraft:brown_wool",
|
||||
"13" : "minecraft:green_wool",
|
||||
"14" : "minecraft:red_wool",
|
||||
"15" : "minecraft:black_wool"
|
||||
},
|
||||
"minecraft:sign" : {
|
||||
"0" : "minecraft:oak_sign",
|
||||
"1" : "minecraft:spruce_sign",
|
||||
"2" : "minecraft:birch_sign",
|
||||
"3" : "minecraft:jungle_sign",
|
||||
"4" : "minecraft:acacia_sign",
|
||||
"5" : "minecraft:dark_oak_sign"
|
||||
},
|
||||
"minecraft:smooth_quartz_stairs" : {
|
||||
"0" : "minecraft:smooth_quartz_stairs",
|
||||
"1" : "minecraft:smooth_quartz_stairs",
|
||||
"2" : "minecraft:smooth_quartz_stairs",
|
||||
"3" : "minecraft:smooth_quartz_stairs",
|
||||
"4" : "minecraft:smooth_quartz_stairs",
|
||||
"5" : "minecraft:smooth_quartz_stairs",
|
||||
"6" : "minecraft:smooth_quartz_stairs",
|
||||
"7" : "minecraft:smooth_quartz_stairs"
|
||||
},
|
||||
"minecraft:banner" : {
|
||||
"0" : "minecraft:white_banner",
|
||||
"1" : "minecraft:orange_banner",
|
||||
"2" : "minecraft:magenta_banner",
|
||||
"3" : "minecraft:light_blue_banner",
|
||||
"4" : "minecraft:yellow_banner",
|
||||
"5" : "minecraft:lime_banner",
|
||||
"6" : "minecraft:pink_banner",
|
||||
"7" : "minecraft:gray_banner",
|
||||
"8" : "minecraft:light_gray_banner",
|
||||
"9" : "minecraft:cyan_banner",
|
||||
"10" : "minecraft:purple_banner",
|
||||
"11" : "minecraft:blue_banner",
|
||||
"12" : "minecraft:brown_banner",
|
||||
"13" : "minecraft:green_banner",
|
||||
"14" : "minecraft:red_banner",
|
||||
"15" : "minecraft:black_banner"
|
||||
},
|
||||
"minecraft:purpur_stairs" : {
|
||||
"0" : "minecraft:purpur_stairs",
|
||||
"1" : "minecraft:purpur_stairs",
|
||||
"2" : "minecraft:purpur_stairs",
|
||||
"3" : "minecraft:purpur_stairs",
|
||||
"4" : "minecraft:purpur_stairs",
|
||||
"5" : "minecraft:purpur_stairs",
|
||||
"6" : "minecraft:purpur_stairs",
|
||||
"7" : "minecraft:purpur_stairs"
|
||||
},
|
||||
"minecraft:stone" : {
|
||||
"0" : "minecraft:stone",
|
||||
"1" : "minecraft:granite",
|
||||
"2" : "minecraft:polished_granite",
|
||||
"3" : "minecraft:diorite",
|
||||
"4" : "minecraft:polished_diorite",
|
||||
"5" : "minecraft:andesite",
|
||||
"6" : "minecraft:polished_andesite"
|
||||
},
|
||||
"minecraft:birch_stairs" : {
|
||||
"0" : "minecraft:birch_stairs",
|
||||
"1" : "minecraft:birch_stairs",
|
||||
"2" : "minecraft:birch_stairs",
|
||||
"3" : "minecraft:birch_stairs",
|
||||
"4" : "minecraft:birch_stairs",
|
||||
"5" : "minecraft:birch_stairs",
|
||||
"6" : "minecraft:birch_stairs",
|
||||
"7" : "minecraft:birch_stairs"
|
||||
},
|
||||
"minecraft:stained_glass_pane" : {
|
||||
"0" : "minecraft:white_stained_glass_pane",
|
||||
"1" : "minecraft:orange_stained_glass_pane",
|
||||
"2" : "minecraft:magenta_stained_glass_pane",
|
||||
"3" : "minecraft:light_blue_stained_glass_pane",
|
||||
"4" : "minecraft:yellow_stained_glass_pane",
|
||||
"5" : "minecraft:lime_stained_glass_pane",
|
||||
"6" : "minecraft:pink_stained_glass_pane",
|
||||
"7" : "minecraft:gray_stained_glass_pane",
|
||||
"8" : "minecraft:light_gray_stained_glass_pane",
|
||||
"9" : "minecraft:cyan_stained_glass_pane",
|
||||
"10" : "minecraft:purple_stained_glass_pane",
|
||||
"11" : "minecraft:blue_stained_glass_pane",
|
||||
"12" : "minecraft:brown_stained_glass_pane",
|
||||
"13" : "minecraft:green_stained_glass_pane",
|
||||
"14" : "minecraft:red_stained_glass_pane",
|
||||
"15" : "minecraft:black_stained_glass_pane"
|
||||
},
|
||||
"minecraft:leaves" : {
|
||||
"0" : "minecraft:oak_leaves",
|
||||
"1" : "minecraft:spruce_leaves",
|
||||
"2" : "minecraft:birch_leaves",
|
||||
"3" : "minecraft:jungle_leaves",
|
||||
"4" : "minecraft:acacia_leaves",
|
||||
"5" : "minecraft:dark_oak_leaves"
|
||||
},
|
||||
"minecraft:sapling" : {
|
||||
"0" : "minecraft:oak_sapling",
|
||||
"1" : "minecraft:spruce_sapling",
|
||||
"2" : "minecraft:birch_sapling",
|
||||
"3" : "minecraft:jungle_sapling",
|
||||
"4" : "minecraft:acacia_sapling",
|
||||
"5" : "minecraft:dark_oak_sapling"
|
||||
},
|
||||
"minecraft:jungle_stairs" : {
|
||||
"0" : "minecraft:jungle_stairs",
|
||||
"1" : "minecraft:jungle_stairs",
|
||||
"2" : "minecraft:jungle_stairs",
|
||||
"3" : "minecraft:jungle_stairs",
|
||||
"4" : "minecraft:jungle_stairs",
|
||||
"5" : "minecraft:jungle_stairs",
|
||||
"6" : "minecraft:jungle_stairs",
|
||||
"7" : "minecraft:jungle_stairs"
|
||||
},
|
||||
"minecraft:fence_gate" : {
|
||||
"0" : "minecraft:oak_fence_gate",
|
||||
"1" : "minecraft:spruce_fence_gate",
|
||||
"2" : "minecraft:birch_fence_gate",
|
||||
"3" : "minecraft:jungle_fence_gate",
|
||||
"4" : "minecraft:acacia_fence_gate",
|
||||
"5" : "minecraft:dark_oak_fence_gate"
|
||||
},
|
||||
"minecraft:nether_brick_stairs" : {
|
||||
"0" : "minecraft:nether_brick_stairs",
|
||||
"1" : "minecraft:nether_brick_stairs",
|
||||
"2" : "minecraft:nether_brick_stairs",
|
||||
"3" : "minecraft:nether_brick_stairs",
|
||||
"4" : "minecraft:nether_brick_stairs",
|
||||
"5" : "minecraft:nether_brick_stairs",
|
||||
"6" : "minecraft:nether_brick_stairs",
|
||||
"7" : "minecraft:nether_brick_stairs"
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -43,6 +43,9 @@ max-players: 100
|
|||
# If debug messages should be sent through console
|
||||
debug-mode: false
|
||||
|
||||
# UUID: DON'T CHANGE!
|
||||
uuid: UUIDTESTUUIDTEST
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
2030
connector/src/main/resources/java/java_blocks.json
Normal file
2030
connector/src/main/resources/java/java_blocks.json
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue