Merge branch 'entity-meta' into render

# Conflicts:
#	src/main/java/de/bixilon/minosoft/data/mappings/blocks/Block.java
#	src/main/java/de/bixilon/minosoft/data/world/ChunkSection.java
#	src/main/java/de/bixilon/minosoft/data/world/World.java
#	src/main/java/de/bixilon/minosoft/protocol/network/Connection.java
This commit is contained in:
Bixilon 2020-11-20 21:43:59 +01:00
commit 66658ad8a7
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
165 changed files with 853 additions and 546 deletions

View File

@ -35,4 +35,4 @@ you need to provide the full packet mapping. The id depends on the order.
---
Note: Do not check for protocolIds (especially in EntityMetaData or Packets), this data is not reliable! Use version Ids.
Note: Do not check for protocolIds (especially in EntityMetaData or Packets), this data is not reliable (because snapshot ids are that much higher)! Use version Ids.

View File

@ -130,13 +130,13 @@
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>16-ea+3</version>
<version>16-ea+4</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>16-ea+3</version>
<version>16-ea+4</version>
<type>pom</type>
</dependency>
<dependency>
@ -149,5 +149,10 @@
<artifactId>jcl-core</artifactId>
<version>2.8</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.4</version>
</dependency>
</dependencies>
</project>

View File

@ -30,6 +30,7 @@ import de.bixilon.minosoft.modding.loading.Priorities;
import de.bixilon.minosoft.protocol.protocol.LANServerListener;
import de.bixilon.minosoft.render.GameWindow;
import de.bixilon.minosoft.util.CountUpAndDownLatch;
import de.bixilon.minosoft.util.MinosoftCommandLineArguments;
import de.bixilon.minosoft.util.Util;
import de.bixilon.minosoft.util.mojang.api.MojangAccount;
import de.bixilon.minosoft.util.task.AsyncTaskWorker;
@ -54,6 +55,7 @@ public final class Minosoft {
public static Configuration config;
public static void main(String[] args) {
MinosoftCommandLineArguments.parseCommandLineArguments(args);
Log.info("Starting...");
AsyncTaskWorker taskWorker = new AsyncTaskWorker("StartUp");

View File

@ -14,6 +14,7 @@
package de.bixilon.minosoft.config;
public class ConfigMigrationException extends Exception {
public ConfigMigrationException() {
}

View File

@ -33,19 +33,19 @@ public class Configuration {
private final Object lock = new Object();
public Configuration() throws IOException, ConfigMigrationException {
File file = new File(StaticConfiguration.HOME_DIR + "config/" + StaticConfiguration.CONFIG_FILENAME);
File file = new File(StaticConfiguration.HOME_DIRECTORY + "config/" + StaticConfiguration.CONFIG_FILENAME);
if (!file.exists()) {
// no configuration file
InputStream input = getClass().getResourceAsStream("/config/" + StaticConfiguration.CONFIG_FILENAME);
if (input == null) {
throw new FileNotFoundException(String.format("[Config] Missing default config: %s!", StaticConfiguration.CONFIG_FILENAME));
}
File folder = new File(StaticConfiguration.HOME_DIR + "config/");
File folder = new File(StaticConfiguration.HOME_DIRECTORY + "config/");
if (!folder.exists() && !folder.mkdirs()) {
throw new IOException("[Config] Could not create config folder!");
}
Files.copy(input, Paths.get(file.getAbsolutePath()));
file = new File(StaticConfiguration.HOME_DIR + "config/" + StaticConfiguration.CONFIG_FILENAME);
file = new File(StaticConfiguration.HOME_DIRECTORY + "config/" + StaticConfiguration.CONFIG_FILENAME);
}
config = Util.readJsonFromFile(file.getAbsolutePath());
int configVersion = getInt(ConfigurationPaths.IntegerPaths.GENERAL_CONFIG_VERSION);
@ -67,7 +67,7 @@ public class Configuration {
}
}
// write config to temp file, delete original config, rename temp file to original file to avoid conflicts if minosoft gets closed while saving the config
File tempFile = new File(StaticConfiguration.HOME_DIR + "config/" + StaticConfiguration.CONFIG_FILENAME + ".tmp");
File tempFile = new File(StaticConfiguration.HOME_DIRECTORY + "config/" + StaticConfiguration.CONFIG_FILENAME + ".tmp");
Gson gson = new GsonBuilder().setPrettyPrinting().create();
FileWriter writer;
try {

View File

@ -18,13 +18,13 @@ import de.bixilon.minosoft.util.OSUtil;
import java.io.File;
public class StaticConfiguration {
public static final String CONFIG_FILENAME = "config.json"; // Filename of minosoft's base configuration (located in AppData/Minosoft/config)
public static final boolean SKIP_MOJANG_AUTHENTICATION = false; // disables all connections to mojang
public static final boolean COLORED_LOG = true; // the log should be colored with ANSI (does not affect base components)
public static final boolean LOG_RELATIVE_TIME = false; // prefix all log messages with the relative start time in milliseconds instead of the formatted time
public static final boolean VERBOSE_ENTITY_META_DATA_LOGGING = true; // if true, the entity meta data is getting serial
public static String CONFIG_FILENAME = "config.json"; // Filename of minosoft's base configuration (located in AppData/Minosoft/config)
public static boolean SKIP_MOJANG_AUTHENTICATION = false; // disables all connections to mojang
public static boolean COLORED_LOG = true; // the log should be colored with ANSI (does not affect base components)
public static boolean LOG_RELATIVE_TIME = false; // prefix all log messages with the relative start time in milliseconds instead of the formatted time
public static boolean VERBOSE_ENTITY_META_DATA_LOGGING = false; // if true, the entity meta data is getting serial
public static final String HOME_DIR;
public static String HOME_DIRECTORY;
static {
// Sets Config.homeDir to the correct folder per OS
@ -44,6 +44,6 @@ public class StaticConfiguration {
// failed creating folder
throw new RuntimeException(String.format("Could not create home folder (%s)!", homeDir));
}
HOME_DIR = folder.getAbsolutePath() + "/";
HOME_DIRECTORY = folder.getAbsolutePath() + "/";
}
}

View File

@ -19,7 +19,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition;
import java.util.TreeMap;
public class ChangeableIdentifier extends VersionValueMap<String> {
String mod = "minecraft";
String mod = ProtocolDefinition.DEFAULT_MOD;
public ChangeableIdentifier(String legacy, String water) {
values.put(Versions.LOWEST_VERSION_SUPPORTED.getVersionId(), legacy);
@ -47,12 +47,12 @@ public class ChangeableIdentifier extends VersionValueMap<String> {
public boolean isValidName(String name, int versionId) {
name = name.toLowerCase();
if (name.indexOf(":") != 0) {
String[] splittedName = name.split(":", 2);
if (!mod.equals(splittedName[0])) {
String[] splitName = name.split(":", 2);
if (!mod.equals(splitName[0])) {
// mod is not correct
return false;
}
name = splittedName[1];
name = splitName[1];
// split and check mod
}

View File

@ -43,124 +43,124 @@ import de.bixilon.minosoft.data.entities.entities.npc.WanderingTrader;
import de.bixilon.minosoft.data.entities.entities.player.PlayerEntity;
import de.bixilon.minosoft.data.entities.entities.projectile.*;
import de.bixilon.minosoft.data.entities.entities.vehicle.*;
import javafx.util.Pair;
import de.bixilon.minosoft.data.mappings.ModIdentifier;
public final class EntityClassMappings {
public static final HashBiMap<Class<? extends Entity>, Pair<String, String>> ENTITY_CLASS_MAPPINGS = HashBiMap.create();
public static final HashBiMap<Class<? extends Entity>, ModIdentifier> ENTITY_CLASS_MAPPINGS = HashBiMap.create();
static {
ENTITY_CLASS_MAPPINGS.put(AreaEffectCloud.class, new Pair<>("minecraft", "area_effect_cloud"));
ENTITY_CLASS_MAPPINGS.put(ArmorStand.class, new Pair<>("minecraft", "armor_stand"));
ENTITY_CLASS_MAPPINGS.put(Arrow.class, new Pair<>("minecraft", "arrow"));
ENTITY_CLASS_MAPPINGS.put(Bat.class, new Pair<>("minecraft", "bat"));
ENTITY_CLASS_MAPPINGS.put(Bee.class, new Pair<>("minecraft", "bee"));
ENTITY_CLASS_MAPPINGS.put(Blaze.class, new Pair<>("minecraft", "blaze"));
ENTITY_CLASS_MAPPINGS.put(Boat.class, new Pair<>("minecraft", "boat"));
ENTITY_CLASS_MAPPINGS.put(Cat.class, new Pair<>("minecraft", "cat"));
ENTITY_CLASS_MAPPINGS.put(CaveSpider.class, new Pair<>("minecraft", "cave_spider"));
ENTITY_CLASS_MAPPINGS.put(Chicken.class, new Pair<>("minecraft", "chicken"));
ENTITY_CLASS_MAPPINGS.put(Cod.class, new Pair<>("minecraft", "cod"));
ENTITY_CLASS_MAPPINGS.put(Cow.class, new Pair<>("minecraft", "cow"));
ENTITY_CLASS_MAPPINGS.put(Creeper.class, new Pair<>("minecraft", "creeper"));
ENTITY_CLASS_MAPPINGS.put(Dolphin.class, new Pair<>("minecraft", "dolphin"));
ENTITY_CLASS_MAPPINGS.put(Donkey.class, new Pair<>("minecraft", "donkey"));
ENTITY_CLASS_MAPPINGS.put(DragonFireball.class, new Pair<>("minecraft", "dragon_fireball"));
ENTITY_CLASS_MAPPINGS.put(Drowned.class, new Pair<>("minecraft", "drowned"));
ENTITY_CLASS_MAPPINGS.put(ElderGuardian.class, new Pair<>("minecraft", "elder_guardian"));
ENTITY_CLASS_MAPPINGS.put(EndCrystal.class, new Pair<>("minecraft", "end_crystal"));
ENTITY_CLASS_MAPPINGS.put(EnderDragon.class, new Pair<>("minecraft", "ender_dragon"));
ENTITY_CLASS_MAPPINGS.put(Enderman.class, new Pair<>("minecraft", "enderman"));
ENTITY_CLASS_MAPPINGS.put(Endermite.class, new Pair<>("minecraft", "endermite"));
ENTITY_CLASS_MAPPINGS.put(Evoker.class, new Pair<>("minecraft", "evoker"));
ENTITY_CLASS_MAPPINGS.put(EvokerFangs.class, new Pair<>("minecraft", "evoker_fangs"));
ENTITY_CLASS_MAPPINGS.put(ExperienceOrb.class, new Pair<>("minecraft", "experience_orb"));
ENTITY_CLASS_MAPPINGS.put(ThrownEyeOfEnder.class, new Pair<>("minecraft", "eye_of_ender"));
ENTITY_CLASS_MAPPINGS.put(FallingBlock.class, new Pair<>("minecraft", "falling_block"));
ENTITY_CLASS_MAPPINGS.put(FireworkRocketEntity.class, new Pair<>("minecraft", "firework_rocket"));
ENTITY_CLASS_MAPPINGS.put(Fox.class, new Pair<>("minecraft", "fox"));
ENTITY_CLASS_MAPPINGS.put(Ghast.class, new Pair<>("minecraft", "ghast"));
ENTITY_CLASS_MAPPINGS.put(Giant.class, new Pair<>("minecraft", "giant"));
ENTITY_CLASS_MAPPINGS.put(Guardian.class, new Pair<>("minecraft", "guardian"));
ENTITY_CLASS_MAPPINGS.put(Hoglin.class, new Pair<>("minecraft", "hoglin"));
ENTITY_CLASS_MAPPINGS.put(Horse.class, new Pair<>("minecraft", "horse"));
ENTITY_CLASS_MAPPINGS.put(Husk.class, new Pair<>("minecraft", "husk"));
ENTITY_CLASS_MAPPINGS.put(Illusioner.class, new Pair<>("minecraft", "illusioner"));
ENTITY_CLASS_MAPPINGS.put(IronGolem.class, new Pair<>("minecraft", "iron_golem"));
ENTITY_CLASS_MAPPINGS.put(ItemEntity.class, new Pair<>("minecraft", "item"));
ENTITY_CLASS_MAPPINGS.put(ItemFrame.class, new Pair<>("minecraft", "item_frame"));
ENTITY_CLASS_MAPPINGS.put(LargeFireball.class, new Pair<>("minecraft", "fireball"));
ENTITY_CLASS_MAPPINGS.put(LeashFenceKnotEntity.class, new Pair<>("minecraft", "leash_knot"));
ENTITY_CLASS_MAPPINGS.put(LightningBolt.class, new Pair<>("minecraft", "lightning_bolt"));
ENTITY_CLASS_MAPPINGS.put(Llama.class, new Pair<>("minecraft", "llama"));
ENTITY_CLASS_MAPPINGS.put(LlamaSpit.class, new Pair<>("minecraft", "llama_spit"));
ENTITY_CLASS_MAPPINGS.put(MagmaCube.class, new Pair<>("minecraft", "magma_cube"));
ENTITY_CLASS_MAPPINGS.put(Minecart.class, new Pair<>("minecraft", "minecart"));
ENTITY_CLASS_MAPPINGS.put(MinecartChest.class, new Pair<>("minecraft", "chest_minecart"));
ENTITY_CLASS_MAPPINGS.put(MinecartCommandBlock.class, new Pair<>("minecraft", "command_block_minecart"));
ENTITY_CLASS_MAPPINGS.put(MinecartFurnace.class, new Pair<>("minecraft", "furnace_minecart"));
ENTITY_CLASS_MAPPINGS.put(MinecartHopper.class, new Pair<>("minecraft", "hopper_minecart"));
ENTITY_CLASS_MAPPINGS.put(MinecartSpawner.class, new Pair<>("minecraft", "spawner_minecart"));
ENTITY_CLASS_MAPPINGS.put(MinecartTNT.class, new Pair<>("minecraft", "tnt_minecart"));
ENTITY_CLASS_MAPPINGS.put(Mule.class, new Pair<>("minecraft", "mule"));
ENTITY_CLASS_MAPPINGS.put(Mooshroom.class, new Pair<>("minecraft", "mooshroom"));
ENTITY_CLASS_MAPPINGS.put(Ocelot.class, new Pair<>("minecraft", "ocelot"));
ENTITY_CLASS_MAPPINGS.put(Painting.class, new Pair<>("minecraft", "painting"));
ENTITY_CLASS_MAPPINGS.put(Panda.class, new Pair<>("minecraft", "panda"));
ENTITY_CLASS_MAPPINGS.put(Parrot.class, new Pair<>("minecraft", "parrot"));
ENTITY_CLASS_MAPPINGS.put(Phantom.class, new Pair<>("minecraft", "phantom"));
ENTITY_CLASS_MAPPINGS.put(Pig.class, new Pair<>("minecraft", "pig"));
ENTITY_CLASS_MAPPINGS.put(Piglin.class, new Pair<>("minecraft", "piglin"));
ENTITY_CLASS_MAPPINGS.put(PiglinBrute.class, new Pair<>("minecraft", "piglin_brute"));
ENTITY_CLASS_MAPPINGS.put(Pillager.class, new Pair<>("minecraft", "pillager"));
ENTITY_CLASS_MAPPINGS.put(PolarBear.class, new Pair<>("minecraft", "polar_bear"));
ENTITY_CLASS_MAPPINGS.put(PrimedTNT.class, new Pair<>("minecraft", "tnt"));
ENTITY_CLASS_MAPPINGS.put(PufferFish.class, new Pair<>("minecraft", "pufferfish"));
ENTITY_CLASS_MAPPINGS.put(Rabbit.class, new Pair<>("minecraft", "rabbit"));
ENTITY_CLASS_MAPPINGS.put(Ravenger.class, new Pair<>("minecraft", "ravager"));
ENTITY_CLASS_MAPPINGS.put(Salmon.class, new Pair<>("minecraft", "salmon"));
ENTITY_CLASS_MAPPINGS.put(Sheep.class, new Pair<>("minecraft", "sheep"));
ENTITY_CLASS_MAPPINGS.put(Shulker.class, new Pair<>("minecraft", "shulker"));
ENTITY_CLASS_MAPPINGS.put(ShulkerBullet.class, new Pair<>("minecraft", "shulker_bullet"));
ENTITY_CLASS_MAPPINGS.put(Silverfish.class, new Pair<>("minecraft", "silverfish"));
ENTITY_CLASS_MAPPINGS.put(Skeleton.class, new Pair<>("minecraft", "skeleton"));
ENTITY_CLASS_MAPPINGS.put(SkeletonHorse.class, new Pair<>("minecraft", "skeleton_horse"));
ENTITY_CLASS_MAPPINGS.put(Slime.class, new Pair<>("minecraft", "slime"));
ENTITY_CLASS_MAPPINGS.put(SmallFireball.class, new Pair<>("minecraft", "small_fireball"));
ENTITY_CLASS_MAPPINGS.put(SnowGolem.class, new Pair<>("minecraft", "snow_golem"));
ENTITY_CLASS_MAPPINGS.put(ThrownSnowball.class, new Pair<>("minecraft", "snowball"));
ENTITY_CLASS_MAPPINGS.put(SpectralArrow.class, new Pair<>("minecraft", "spectral_arrow"));
ENTITY_CLASS_MAPPINGS.put(Spider.class, new Pair<>("minecraft", "spider"));
ENTITY_CLASS_MAPPINGS.put(Squid.class, new Pair<>("minecraft", "squid"));
ENTITY_CLASS_MAPPINGS.put(Stray.class, new Pair<>("minecraft", "stray"));
ENTITY_CLASS_MAPPINGS.put(Strider.class, new Pair<>("minecraft", "strider"));
ENTITY_CLASS_MAPPINGS.put(ThrownEgg.class, new Pair<>("minecraft", "egg"));
ENTITY_CLASS_MAPPINGS.put(ThrownEnderPearl.class, new Pair<>("minecraft", "ender_pearl"));
ENTITY_CLASS_MAPPINGS.put(ThrownExperienceBottle.class, new Pair<>("minecraft", "experience_bottle"));
ENTITY_CLASS_MAPPINGS.put(ThrownPotion.class, new Pair<>("minecraft", "potion"));
ENTITY_CLASS_MAPPINGS.put(ThrownTrident.class, new Pair<>("minecraft", "trident"));
ENTITY_CLASS_MAPPINGS.put(TraderLlama.class, new Pair<>("minecraft", "trader_llama"));
ENTITY_CLASS_MAPPINGS.put(TropicalFish.class, new Pair<>("minecraft", "tropical_fish"));
ENTITY_CLASS_MAPPINGS.put(Turtle.class, new Pair<>("minecraft", "turtle"));
ENTITY_CLASS_MAPPINGS.put(Vex.class, new Pair<>("minecraft", "vex"));
ENTITY_CLASS_MAPPINGS.put(Villager.class, new Pair<>("minecraft", "villager"));
ENTITY_CLASS_MAPPINGS.put(Vindicator.class, new Pair<>("minecraft", "vindicator"));
ENTITY_CLASS_MAPPINGS.put(WanderingTrader.class, new Pair<>("minecraft", "wandering_trader"));
ENTITY_CLASS_MAPPINGS.put(Witch.class, new Pair<>("minecraft", "witch"));
ENTITY_CLASS_MAPPINGS.put(WitherBoss.class, new Pair<>("minecraft", "wither"));
ENTITY_CLASS_MAPPINGS.put(WitherSkeleton.class, new Pair<>("minecraft", "wither_skeleton"));
ENTITY_CLASS_MAPPINGS.put(WitherSkull.class, new Pair<>("minecraft", "wither_skull"));
ENTITY_CLASS_MAPPINGS.put(Wolf.class, new Pair<>("minecraft", "wolf"));
ENTITY_CLASS_MAPPINGS.put(Zoglin.class, new Pair<>("minecraft", "zoglin"));
ENTITY_CLASS_MAPPINGS.put(Zombie.class, new Pair<>("minecraft", "zombie"));
ENTITY_CLASS_MAPPINGS.put(ZombieHorse.class, new Pair<>("minecraft", "zombie_horse"));
ENTITY_CLASS_MAPPINGS.put(ZombieVillager.class, new Pair<>("minecraft", "zombie_villager"));
ENTITY_CLASS_MAPPINGS.put(ZombifiedPiglin.class, new Pair<>("minecraft", "zombified_piglin"));
ENTITY_CLASS_MAPPINGS.put(PlayerEntity.class, new Pair<>("minecraft", "player"));
ENTITY_CLASS_MAPPINGS.put(FishingHook.class, new Pair<>("minecraft", "fishing_bobber"));
ENTITY_CLASS_MAPPINGS.put(AreaEffectCloud.class, new ModIdentifier("area_effect_cloud"));
ENTITY_CLASS_MAPPINGS.put(ArmorStand.class, new ModIdentifier("armor_stand"));
ENTITY_CLASS_MAPPINGS.put(Arrow.class, new ModIdentifier("arrow"));
ENTITY_CLASS_MAPPINGS.put(Bat.class, new ModIdentifier("bat"));
ENTITY_CLASS_MAPPINGS.put(Bee.class, new ModIdentifier("bee"));
ENTITY_CLASS_MAPPINGS.put(Blaze.class, new ModIdentifier("blaze"));
ENTITY_CLASS_MAPPINGS.put(Boat.class, new ModIdentifier("boat"));
ENTITY_CLASS_MAPPINGS.put(Cat.class, new ModIdentifier("cat"));
ENTITY_CLASS_MAPPINGS.put(CaveSpider.class, new ModIdentifier("cave_spider"));
ENTITY_CLASS_MAPPINGS.put(Chicken.class, new ModIdentifier("chicken"));
ENTITY_CLASS_MAPPINGS.put(Cod.class, new ModIdentifier("cod"));
ENTITY_CLASS_MAPPINGS.put(Cow.class, new ModIdentifier("cow"));
ENTITY_CLASS_MAPPINGS.put(Creeper.class, new ModIdentifier("creeper"));
ENTITY_CLASS_MAPPINGS.put(Dolphin.class, new ModIdentifier("dolphin"));
ENTITY_CLASS_MAPPINGS.put(Donkey.class, new ModIdentifier("donkey"));
ENTITY_CLASS_MAPPINGS.put(DragonFireball.class, new ModIdentifier("dragon_fireball"));
ENTITY_CLASS_MAPPINGS.put(Drowned.class, new ModIdentifier("drowned"));
ENTITY_CLASS_MAPPINGS.put(ElderGuardian.class, new ModIdentifier("elder_guardian"));
ENTITY_CLASS_MAPPINGS.put(EndCrystal.class, new ModIdentifier("end_crystal"));
ENTITY_CLASS_MAPPINGS.put(EnderDragon.class, new ModIdentifier("ender_dragon"));
ENTITY_CLASS_MAPPINGS.put(Enderman.class, new ModIdentifier("enderman"));
ENTITY_CLASS_MAPPINGS.put(Endermite.class, new ModIdentifier("endermite"));
ENTITY_CLASS_MAPPINGS.put(Evoker.class, new ModIdentifier("evoker"));
ENTITY_CLASS_MAPPINGS.put(EvokerFangs.class, new ModIdentifier("evoker_fangs"));
ENTITY_CLASS_MAPPINGS.put(ExperienceOrb.class, new ModIdentifier("experience_orb"));
ENTITY_CLASS_MAPPINGS.put(ThrownEyeOfEnder.class, new ModIdentifier("eye_of_ender"));
ENTITY_CLASS_MAPPINGS.put(FallingBlock.class, new ModIdentifier("falling_block"));
ENTITY_CLASS_MAPPINGS.put(FireworkRocketEntity.class, new ModIdentifier("firework_rocket"));
ENTITY_CLASS_MAPPINGS.put(Fox.class, new ModIdentifier("fox"));
ENTITY_CLASS_MAPPINGS.put(Ghast.class, new ModIdentifier("ghast"));
ENTITY_CLASS_MAPPINGS.put(Giant.class, new ModIdentifier("giant"));
ENTITY_CLASS_MAPPINGS.put(Guardian.class, new ModIdentifier("guardian"));
ENTITY_CLASS_MAPPINGS.put(Hoglin.class, new ModIdentifier("hoglin"));
ENTITY_CLASS_MAPPINGS.put(Horse.class, new ModIdentifier("horse"));
ENTITY_CLASS_MAPPINGS.put(Husk.class, new ModIdentifier("husk"));
ENTITY_CLASS_MAPPINGS.put(Illusioner.class, new ModIdentifier("illusioner"));
ENTITY_CLASS_MAPPINGS.put(IronGolem.class, new ModIdentifier("iron_golem"));
ENTITY_CLASS_MAPPINGS.put(ItemEntity.class, new ModIdentifier("item"));
ENTITY_CLASS_MAPPINGS.put(ItemFrame.class, new ModIdentifier("item_frame"));
ENTITY_CLASS_MAPPINGS.put(LargeFireball.class, new ModIdentifier("fireball"));
ENTITY_CLASS_MAPPINGS.put(LeashFenceKnotEntity.class, new ModIdentifier("leash_knot"));
ENTITY_CLASS_MAPPINGS.put(LightningBolt.class, new ModIdentifier("lightning_bolt"));
ENTITY_CLASS_MAPPINGS.put(Llama.class, new ModIdentifier("llama"));
ENTITY_CLASS_MAPPINGS.put(LlamaSpit.class, new ModIdentifier("llama_spit"));
ENTITY_CLASS_MAPPINGS.put(MagmaCube.class, new ModIdentifier("magma_cube"));
ENTITY_CLASS_MAPPINGS.put(Minecart.class, new ModIdentifier("minecart"));
ENTITY_CLASS_MAPPINGS.put(MinecartChest.class, new ModIdentifier("chest_minecart"));
ENTITY_CLASS_MAPPINGS.put(MinecartCommandBlock.class, new ModIdentifier("command_block_minecart"));
ENTITY_CLASS_MAPPINGS.put(MinecartFurnace.class, new ModIdentifier("furnace_minecart"));
ENTITY_CLASS_MAPPINGS.put(MinecartHopper.class, new ModIdentifier("hopper_minecart"));
ENTITY_CLASS_MAPPINGS.put(MinecartSpawner.class, new ModIdentifier("spawner_minecart"));
ENTITY_CLASS_MAPPINGS.put(MinecartTNT.class, new ModIdentifier("tnt_minecart"));
ENTITY_CLASS_MAPPINGS.put(Mule.class, new ModIdentifier("mule"));
ENTITY_CLASS_MAPPINGS.put(Mooshroom.class, new ModIdentifier("mooshroom"));
ENTITY_CLASS_MAPPINGS.put(Ocelot.class, new ModIdentifier("ocelot"));
ENTITY_CLASS_MAPPINGS.put(Painting.class, new ModIdentifier("painting"));
ENTITY_CLASS_MAPPINGS.put(Panda.class, new ModIdentifier("panda"));
ENTITY_CLASS_MAPPINGS.put(Parrot.class, new ModIdentifier("parrot"));
ENTITY_CLASS_MAPPINGS.put(Phantom.class, new ModIdentifier("phantom"));
ENTITY_CLASS_MAPPINGS.put(Pig.class, new ModIdentifier("pig"));
ENTITY_CLASS_MAPPINGS.put(Piglin.class, new ModIdentifier("piglin"));
ENTITY_CLASS_MAPPINGS.put(PiglinBrute.class, new ModIdentifier("piglin_brute"));
ENTITY_CLASS_MAPPINGS.put(Pillager.class, new ModIdentifier("pillager"));
ENTITY_CLASS_MAPPINGS.put(PolarBear.class, new ModIdentifier("polar_bear"));
ENTITY_CLASS_MAPPINGS.put(PrimedTNT.class, new ModIdentifier("tnt"));
ENTITY_CLASS_MAPPINGS.put(PufferFish.class, new ModIdentifier("pufferfish"));
ENTITY_CLASS_MAPPINGS.put(Rabbit.class, new ModIdentifier("rabbit"));
ENTITY_CLASS_MAPPINGS.put(Ravenger.class, new ModIdentifier("ravager"));
ENTITY_CLASS_MAPPINGS.put(Salmon.class, new ModIdentifier("salmon"));
ENTITY_CLASS_MAPPINGS.put(Sheep.class, new ModIdentifier("sheep"));
ENTITY_CLASS_MAPPINGS.put(Shulker.class, new ModIdentifier("shulker"));
ENTITY_CLASS_MAPPINGS.put(ShulkerBullet.class, new ModIdentifier("shulker_bullet"));
ENTITY_CLASS_MAPPINGS.put(Silverfish.class, new ModIdentifier("silverfish"));
ENTITY_CLASS_MAPPINGS.put(Skeleton.class, new ModIdentifier("skeleton"));
ENTITY_CLASS_MAPPINGS.put(SkeletonHorse.class, new ModIdentifier("skeleton_horse"));
ENTITY_CLASS_MAPPINGS.put(Slime.class, new ModIdentifier("slime"));
ENTITY_CLASS_MAPPINGS.put(SmallFireball.class, new ModIdentifier("small_fireball"));
ENTITY_CLASS_MAPPINGS.put(SnowGolem.class, new ModIdentifier("snow_golem"));
ENTITY_CLASS_MAPPINGS.put(ThrownSnowball.class, new ModIdentifier("snowball"));
ENTITY_CLASS_MAPPINGS.put(SpectralArrow.class, new ModIdentifier("spectral_arrow"));
ENTITY_CLASS_MAPPINGS.put(Spider.class, new ModIdentifier("spider"));
ENTITY_CLASS_MAPPINGS.put(Squid.class, new ModIdentifier("squid"));
ENTITY_CLASS_MAPPINGS.put(Stray.class, new ModIdentifier("stray"));
ENTITY_CLASS_MAPPINGS.put(Strider.class, new ModIdentifier("strider"));
ENTITY_CLASS_MAPPINGS.put(ThrownEgg.class, new ModIdentifier("egg"));
ENTITY_CLASS_MAPPINGS.put(ThrownEnderPearl.class, new ModIdentifier("ender_pearl"));
ENTITY_CLASS_MAPPINGS.put(ThrownExperienceBottle.class, new ModIdentifier("experience_bottle"));
ENTITY_CLASS_MAPPINGS.put(ThrownPotion.class, new ModIdentifier("potion"));
ENTITY_CLASS_MAPPINGS.put(ThrownTrident.class, new ModIdentifier("trident"));
ENTITY_CLASS_MAPPINGS.put(TraderLlama.class, new ModIdentifier("trader_llama"));
ENTITY_CLASS_MAPPINGS.put(TropicalFish.class, new ModIdentifier("tropical_fish"));
ENTITY_CLASS_MAPPINGS.put(Turtle.class, new ModIdentifier("turtle"));
ENTITY_CLASS_MAPPINGS.put(Vex.class, new ModIdentifier("vex"));
ENTITY_CLASS_MAPPINGS.put(Villager.class, new ModIdentifier("villager"));
ENTITY_CLASS_MAPPINGS.put(Vindicator.class, new ModIdentifier("vindicator"));
ENTITY_CLASS_MAPPINGS.put(WanderingTrader.class, new ModIdentifier("wandering_trader"));
ENTITY_CLASS_MAPPINGS.put(Witch.class, new ModIdentifier("witch"));
ENTITY_CLASS_MAPPINGS.put(WitherBoss.class, new ModIdentifier("wither"));
ENTITY_CLASS_MAPPINGS.put(WitherSkeleton.class, new ModIdentifier("wither_skeleton"));
ENTITY_CLASS_MAPPINGS.put(WitherSkull.class, new ModIdentifier("wither_skull"));
ENTITY_CLASS_MAPPINGS.put(Wolf.class, new ModIdentifier("wolf"));
ENTITY_CLASS_MAPPINGS.put(Zoglin.class, new ModIdentifier("zoglin"));
ENTITY_CLASS_MAPPINGS.put(Zombie.class, new ModIdentifier("zombie"));
ENTITY_CLASS_MAPPINGS.put(ZombieHorse.class, new ModIdentifier("zombie_horse"));
ENTITY_CLASS_MAPPINGS.put(ZombieVillager.class, new ModIdentifier("zombie_villager"));
ENTITY_CLASS_MAPPINGS.put(ZombifiedPiglin.class, new ModIdentifier("zombified_piglin"));
ENTITY_CLASS_MAPPINGS.put(PlayerEntity.class, new ModIdentifier("player"));
ENTITY_CLASS_MAPPINGS.put(FishingHook.class, new ModIdentifier("fishing_bobber"));
}
public static Class<? extends Entity> getByIdentifier(String mod, String identifier) {
return ENTITY_CLASS_MAPPINGS.inverse().get(new Pair<>(mod, identifier));
return ENTITY_CLASS_MAPPINGS.inverse().get(new ModIdentifier(mod, identifier));
}
}

View File

@ -14,6 +14,7 @@
package de.bixilon.minosoft.data;
public class IdentifierSet extends MapSet<Integer, String> {
public IdentifierSet(Integer key, String value) {
super(key, value);
}

View File

@ -28,11 +28,16 @@ public class PlayerPropertyData {
return this.name;
}
public String getValue() {
return value;
}
public String getSignature() {
return signature;
}
public String getValue() {
return value;
@Override
public String toString() {
return String.format("%s=%s", getName(), getValue());
}
}

View File

@ -23,6 +23,7 @@ import de.bixilon.minosoft.config.ConfigurationPaths;
import de.bixilon.minosoft.config.StaticConfiguration;
import de.bixilon.minosoft.logging.Log;
import de.bixilon.minosoft.logging.LogLevels;
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition;
import de.bixilon.minosoft.util.CountUpAndDownLatch;
import de.bixilon.minosoft.util.HTTP;
import de.bixilon.minosoft.util.Util;
@ -75,7 +76,7 @@ public class AssetsManager {
}
try {
downloadAssetsIndex();
} catch (IOException e) {
} catch (Exception e) {
Log.printException(e, LogLevels.DEBUG);
Log.warn("Could not download assets index. Please check your internet connection");
}
@ -99,7 +100,7 @@ public class AssetsManager {
assets.keySet().parallelStream().forEach((filename) -> {
try {
String hash = assets.get(filename);
boolean compressed = source == AssetsSource.MOJANG;
boolean compressed = (source == AssetsSource.MOJANG);
if (!verifyAssetHash(hash, compressed)) {
AssetsManager.downloadAsset(source, hash);
}
@ -272,9 +273,9 @@ public class AssetsManager {
throw new RuntimeException(e);
}
byte[] buffer = new byte[4096];
byte[] buffer = new byte[ProtocolDefinition.DEFAULT_BUFFER_SIZE];
int length;
while ((length = data.read(buffer, 0, 4096)) != -1) {
while ((length = data.read(buffer, 0, buffer.length)) != -1) {
crypt.update(buffer, 0, length);
out.write(buffer, 0, length);
}
@ -308,6 +309,6 @@ public class AssetsManager {
if (hash == null) {
throw new FileNotFoundException("Could not find asset with hash: null");
}
return StaticConfiguration.HOME_DIR + String.format("assets/objects/%s/%s.gz", hash.substring(0, 2), hash);
return StaticConfiguration.HOME_DIRECTORY + String.format("assets/objects/%s/%s.gz", hash.substring(0, 2), hash);
}
}

View File

@ -14,17 +14,14 @@
package de.bixilon.minosoft.data.entities;
import com.google.gson.JsonObject;
import de.bixilon.minosoft.data.mappings.ModIdentifier;
public class EntityInformation {
private final String mod;
private final String identifier;
public class EntityInformation extends ModIdentifier {
private final float width;
private final float height;
public EntityInformation(String mod, String identifier, float width, float height) {
this.mod = mod;
this.identifier = identifier;
super(mod, identifier);
this.width = width;
this.height = height;
}
@ -33,14 +30,6 @@ public class EntityInformation {
return new EntityInformation(mod, identifier, data.get("width").getAsFloat(), data.get("height").getAsFloat());
}
public String getMod() {
return mod;
}
public String getIdentifier() {
return identifier;
}
public float getWidth() {
return width;
}

View File

@ -199,7 +199,7 @@ public class EntityMetaData {
}
public boolean getBitMask(EntityMetaDataFields field, int bitMask) {
return BitByte.isBitMask(getInt(field), bitMask);
return BitByte.isBitMask(getByte(field), bitMask);
}
public Object get(EntityMetaDataFields field) {
@ -231,14 +231,7 @@ public class EntityMetaData {
}
public int getInt(EntityMetaDataFields field) {
Object object = get(field);
if (object instanceof Integer i) {
return i;
}
if (object instanceof Byte b) {
return b;
}
return 0;
return (int) get(field);
}
public Short getShort(EntityMetaDataFields field) {

View File

@ -52,7 +52,7 @@ public enum EntityMetaDataFields {
AREA_EFFECT_CLOUD_RADIUS(0.5f),
AREA_EFFECT_CLOUD_COLOR(0),
AREA_EFFECT_CLOUD_WAITING(false),
AREA_EFFECT_CLOUD_PARTICLE(new ParticleData(new Particle("minecraft", "effect"))),
AREA_EFFECT_CLOUD_PARTICLE(new ParticleData(new Particle("effect"))),
ABSTRACT_ARROW_FLAGS((byte) 0),
ABSTRACT_ARROW_PIERCE_LEVEL((byte) 0),

View File

@ -19,6 +19,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class EvokerFangs extends Entity {
public EvokerFangs(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class AreaEffectCloud extends Entity {
public AreaEffectCloud(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class EvokerFangs extends Entity {
public EvokerFangs(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class LightningBolt extends Entity {
public LightningBolt(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -14,6 +14,7 @@
package de.bixilon.minosoft.data.entities.entities;
public class UnknownEntityException extends Exception {
public UnknownEntityException() {
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Bat extends AmbientCreature {
public Bat(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Bee extends Animal {
public Bee(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -25,6 +25,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Cat extends TamableAnimal {
public Cat(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Chicken extends Animal {
public Chicken(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Cow extends Animal {
public Cow(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -23,6 +23,7 @@ import javax.annotation.Nullable;
import java.util.UUID;
public class Fox extends Animal {
public Fox(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class IronGolem extends AbstractGolem {
public IronGolem(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Mooshroom extends Cow {
public Mooshroom(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Ocelot extends Animal {
public Ocelot(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Panda extends Animal {
public Panda(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Parrot extends ShoulderRidingAnimal {
public Parrot(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Pig extends Animal {
public Pig(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class PolarBear extends Animal {
public PolarBear(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Rabbit extends Animal {
public Rabbit(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -24,6 +24,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Sheep extends Animal {
public Sheep(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -21,6 +21,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class ShoulderRidingAnimal extends TamableAnimal {
public ShoulderRidingAnimal(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class SnowGolem extends AbstractGolem {
public SnowGolem(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Strider extends Animal {
public Strider(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -24,6 +24,7 @@ import javax.annotation.Nullable;
import java.util.UUID;
public class Turtle extends Animal {
public Turtle(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -25,6 +25,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Wolf extends TamableAnimal {
public Wolf(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -23,6 +23,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Hoglin extends Animal {
public Hoglin(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Donkey extends AbstractChestedHorse {
public Donkey(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Horse extends AbstractHorse {
public Horse(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Llama extends AbstractChestedHorse {
public Llama(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Mule extends AbstractChestedHorse {
public Mule(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class SkeletonHorse extends AbstractHorse {
public SkeletonHorse(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class TraderLlama extends Llama {
public TraderLlama(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class ZombieHorse extends AbstractHorse {
public ZombieHorse(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Cod extends AbstractSchoolingFish {
public Cod(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -24,6 +24,7 @@ import javax.annotation.Nullable;
import java.util.UUID;
public class Dolphin extends WaterAnimal {
public Dolphin(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class PufferFish extends AbstractFish {
public PufferFish(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Salmon extends AbstractSchoolingFish {
public Salmon(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Squid extends WaterAnimal {
public Squid(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class TropicalFish extends AbstractSchoolingFish {
public TropicalFish(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -25,6 +25,7 @@ import javax.annotation.Nullable;
import java.util.UUID;
public class EndCrystal extends Entity {
public EndCrystal(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -23,6 +23,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class EnderDragon extends Mob {
public EnderDragon(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -23,6 +23,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class WitherBoss extends Monster {
public WitherBoss(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -23,6 +23,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class ArmorStand extends LivingEntity {
public ArmorStand(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -24,6 +24,7 @@ import javax.annotation.Nullable;
import java.util.UUID;
public class ItemFrame extends HangingEntity {
public ItemFrame(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class LeashFenceKnotEntity extends HangingEntity {
public LeashFenceKnotEntity(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -31,7 +31,7 @@ public class Painting extends Entity {
public Painting(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
direction = Directions.NORTH;
motive = new Motive("minecraft", "kebab");
motive = new Motive("kebab");
}
public Painting(Connection connection, int entityId, UUID uuid, BlockPosition position, Directions direction, Motive motive) {

View File

@ -25,6 +25,7 @@ import javax.annotation.Nullable;
import java.util.UUID;
public class ItemEntity extends Entity {
public ItemEntity(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -23,6 +23,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class PrimedTNT extends Entity {
public PrimedTNT(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Blaze extends Monster {
public Blaze(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class CaveSpider extends Spider {
public CaveSpider(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Creeper extends Monster {
public Creeper(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Drowned extends Zombie {
public Drowned(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class ElderGuardian extends Guardian {
public ElderGuardian(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -24,6 +24,7 @@ import javax.annotation.Nullable;
import java.util.UUID;
public class Enderman extends AbstractSkeleton {
public Enderman(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Endermite extends Monster {
public Endermite(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -23,6 +23,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Ghast extends FlyingMob {
public Ghast(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Giant extends Monster {
public Giant(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Guardian extends Monster {
public Guardian(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Husk extends Zombie {
public Husk(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class MagmaCube extends Slime {
public MagmaCube(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -23,6 +23,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Phantom extends FlyingMob {
public Phantom(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Silverfish extends Monster {
public Silverfish(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Skeleton extends AbstractSkeleton {
public Skeleton(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -23,6 +23,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Slime extends Mob {
public Slime(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Spider extends Monster {
public Spider(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Stray extends AbstractSkeleton {
public Stray(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Vex extends Monster {
public Vex(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class WitherSkeleton extends AbstractSkeleton {
public WitherSkeleton(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Zoglin extends Monster {
public Zoglin(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Zombie extends Monster {
public Zombie(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -23,6 +23,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class ZombieVillager extends Zombie {
public ZombieVillager(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class ZombifiedPiglin extends Zombie {
public ZombifiedPiglin(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Piglin extends AbstractPiglin {
public Piglin(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class PiglinBrute extends AbstractPiglin {
public PiglinBrute(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Evoker extends SpellcasterIllager {
public Evoker(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Illusioner extends SpellcasterIllager {
public Illusioner(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Pillager extends AbstractIllager {
public Pillager(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Ravenger extends Raider {
public Ravenger(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class SpellcasterIllager extends AbstractIllager {
public SpellcasterIllager(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Vindicator extends AbstractIllager {
public Vindicator(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class Witch extends Raider {
public Witch(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class DragonFireball extends AbstractHurtingProjectile {
public DragonFireball(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,6 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class FishingHook extends Projectile {
public FishingHook(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class LargeFireball extends Fireball {
private static final Slot DEFAULT_ITEM = new Slot(new Item("minecraft", "fire_charge"));
private static final Slot DEFAULT_ITEM = new Slot(new Item("fire_charge"));
public LargeFireball(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class LlamaSpit extends Projectile {
public LlamaSpit(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.Connection;
import java.util.UUID;
public class ShulkerBullet extends Projectile {
public ShulkerBullet(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) {
super(connection, entityId, uuid, location, rotation);
}

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