├── .gitignore ├── .gitmodules ├── .vs └── SmartBlocks │ ├── DesignTimeBuild │ └── .dtbcache.v2 │ ├── project-colors.json │ └── v17 │ ├── .futdcache.v1 │ └── .suo ├── BlockBuilder ├── BlockBuilder.csproj ├── BlockBuilder.csproj.user ├── MainForm.Designer.cs ├── MainForm.cs ├── MainForm.resx ├── Program.cs ├── bin │ └── Debug │ │ └── net6.0-windows │ │ ├── BlockBuilder.deps.json │ │ ├── BlockBuilder.dll │ │ ├── BlockBuilder.exe │ │ ├── BlockBuilder.pdb │ │ ├── BlockBuilder.runtimeconfig.json │ │ ├── IKVM.AWT.WinForms.dll │ │ ├── IKVM.OpenJDK.Beans.dll │ │ ├── IKVM.OpenJDK.Charsets.dll │ │ ├── IKVM.OpenJDK.Corba.dll │ │ ├── IKVM.OpenJDK.Core.dll │ │ ├── IKVM.OpenJDK.Management.dll │ │ ├── IKVM.OpenJDK.Media.dll │ │ ├── IKVM.OpenJDK.Misc.dll │ │ ├── IKVM.OpenJDK.Naming.dll │ │ ├── IKVM.OpenJDK.Remoting.dll │ │ ├── IKVM.OpenJDK.Security.dll │ │ ├── IKVM.OpenJDK.SwingAWT.dll │ │ ├── IKVM.OpenJDK.Text.dll │ │ ├── IKVM.OpenJDK.Util.dll │ │ ├── IKVM.OpenJDK.XML.API.dll │ │ ├── IKVM.Runtime.JNI.dll │ │ ├── IKVM.Runtime.dll │ │ ├── MedallionRandom.dll │ │ ├── MinecraftTypes.dll │ │ ├── MinecraftTypes.pdb │ │ ├── Newtonsoft.Json.dll │ │ ├── SmartBlocks.dll │ │ ├── SmartBlocks.pdb │ │ ├── SmartNbt.dll │ │ ├── SmartNbt.pdb │ │ ├── blocks.json │ │ └── ref │ │ └── BlockBuilder.dll └── obj │ ├── BlockBuilder.csproj.nuget.dgspec.json │ ├── BlockBuilder.csproj.nuget.g.props │ ├── BlockBuilder.csproj.nuget.g.targets │ ├── Debug │ └── net6.0-windows │ │ ├── .NETCoreApp,Version=v6.0.AssemblyAttributes.cs │ │ ├── BlockBuilder.AssemblyInfo.cs │ │ ├── BlockBuilder.AssemblyInfoInputs.cache │ │ ├── BlockBuilder.GeneratedMSBuildEditorConfig.editorconfig │ │ ├── BlockBuilder.GlobalUsings.g.cs │ │ ├── BlockBuilder.MainForm.resources │ │ ├── BlockBuilder.assets.cache │ │ ├── BlockBuilder.csproj.AssemblyReference.cache │ │ ├── BlockBuilder.csproj.CopyComplete │ │ ├── BlockBuilder.csproj.CoreCompileInputs.cache │ │ ├── BlockBuilder.csproj.FileListAbsolute.txt │ │ ├── BlockBuilder.csproj.GenerateResource.cache │ │ ├── BlockBuilder.designer.deps.json │ │ ├── BlockBuilder.designer.runtimeconfig.json │ │ ├── BlockBuilder.dll │ │ ├── BlockBuilder.genruntimeconfig.cache │ │ ├── BlockBuilder.pdb │ │ ├── apphost.exe │ │ └── ref │ │ └── BlockBuilder.dll │ ├── project.assets.json │ └── project.nuget.cache ├── LICENSE ├── README.md ├── SmartBlocks.sln ├── SmartBlocks.sln.DotSettings.user ├── SmartBlocks ├── Blocks │ ├── ArmorDropChance.cs │ ├── ArmorType.cs │ ├── Block.cs │ ├── BlockRegistry.cs │ ├── MaterialType.cs │ └── PotionEffect.cs ├── Entities │ ├── AreaEffectCloud.cs │ ├── Arrows │ │ ├── AbstractArrow.cs │ │ ├── Arrow.cs │ │ ├── ArrowFlag.cs │ │ ├── SpectralArrow.cs │ │ └── ThrownTrident.cs │ ├── Attributes │ │ ├── AttributeList.cs │ │ ├── AttributeModifier.cs │ │ ├── Effect.cs │ │ ├── MobAttribute.cs │ │ ├── MobAttributeList.cs │ │ └── ModifierOperation.cs │ ├── Boat.cs │ ├── BoundingBox.cs │ ├── DragonFireball.cs │ ├── EndCrystal.cs │ ├── Entity.cs │ ├── EntityToolType.cs │ ├── ExperienceOrb.cs │ ├── EyeOfEnder.cs │ ├── FallingBlock.cs │ ├── Fireball.cs │ ├── FireworkRocketEntity.cs │ ├── FishingHook.cs │ ├── Flags │ │ ├── ArmorStandFlag.cs │ │ ├── BatFlag.cs │ │ ├── BeeFlag.cs │ │ ├── BlazeFlag.cs │ │ ├── EntityFlag.cs │ │ ├── HandStateFlag.cs │ │ ├── HorseFlag.cs │ │ ├── IronGolemFlag.cs │ │ ├── MobFlag.cs │ │ ├── PandaFlag.cs │ │ ├── SheepFlag.cs │ │ ├── SnowGolemFlag.cs │ │ ├── SpiderFlag.cs │ │ └── VexFlag.cs │ ├── GlowItemFrame.cs │ ├── ItemEntity.cs │ ├── ItemFrame.cs │ ├── LeashKnot.cs │ ├── LightningBolt.cs │ ├── Living │ │ ├── Ageable │ │ │ ├── AbstractHorse.cs │ │ │ ├── AgeableMob.cs │ │ │ ├── Animal.cs │ │ │ ├── Axolotl.cs │ │ │ ├── AxolotlVariant.cs │ │ │ ├── Bee.cs │ │ │ ├── ChestedHorse.cs │ │ │ ├── Chicken.cs │ │ │ ├── Cow.cs │ │ │ ├── Donkey.cs │ │ │ ├── Fox.cs │ │ │ ├── FoxFlag.cs │ │ │ ├── FoxVariant.cs │ │ │ ├── Hoglin.cs │ │ │ ├── Horse.cs │ │ │ ├── Llama.cs │ │ │ ├── LlamaVariant.cs │ │ │ ├── Mooshroom.cs │ │ │ ├── Mule.cs │ │ │ ├── Ocelot.cs │ │ │ ├── Panda.cs │ │ │ ├── Pig.cs │ │ │ ├── PolarBear.cs │ │ │ ├── Rabbit.cs │ │ │ ├── Sheep.cs │ │ │ ├── SheepColor.cs │ │ │ ├── SkeletonHorse.cs │ │ │ ├── Strider.cs │ │ │ ├── TraderLlama.cs │ │ │ ├── Turtle.cs │ │ │ └── ZombieHorse.cs │ │ ├── ArmorStand.cs │ │ ├── ArmorType.cs │ │ ├── Goat.cs │ │ ├── LivingEntity.cs │ │ ├── Mobs │ │ │ ├── AbstractFish.cs │ │ │ ├── AbstractGolem.cs │ │ │ ├── AmbientCreature.cs │ │ │ ├── Bat.cs │ │ │ ├── Cod.cs │ │ │ ├── Dolphin.cs │ │ │ ├── GlowSquid.cs │ │ │ ├── IronGolem.cs │ │ │ ├── Memories │ │ │ │ ├── Brain.cs │ │ │ │ └── IMemory.cs │ │ │ ├── Mob.cs │ │ │ ├── PathFinderMob.cs │ │ │ ├── PufferFish.cs │ │ │ ├── Salmon.cs │ │ │ ├── Shulker.cs │ │ │ ├── SnowGolem.cs │ │ │ ├── Squid.cs │ │ │ ├── TropicalFish.cs │ │ │ └── WaterAnimal.cs │ │ ├── Monsters │ │ │ ├── AbstractIllager.cs │ │ │ ├── AbstractSkeleton.cs │ │ │ ├── BasePiglin.cs │ │ │ ├── Blaze.cs │ │ │ ├── CaveSpider.cs │ │ │ ├── Creeper.cs │ │ │ ├── CreeperState.cs │ │ │ ├── DragonPhase.cs │ │ │ ├── Drowned.cs │ │ │ ├── ElderGuardian.cs │ │ │ ├── EnderDragon.cs │ │ │ ├── Enderman.cs │ │ │ ├── Endermite.cs │ │ │ ├── Evoker.cs │ │ │ ├── EvokerFangs.cs │ │ │ ├── Flying.cs │ │ │ ├── Ghast.cs │ │ │ ├── Giant.cs │ │ │ ├── Guardian.cs │ │ │ ├── Husk.cs │ │ │ ├── IllagerSpell.cs │ │ │ ├── Illusioner.cs │ │ │ ├── MagmaCube.cs │ │ │ ├── Monster.cs │ │ │ ├── Phantom.cs │ │ │ ├── Piglin.cs │ │ │ ├── PiglinBrute.cs │ │ │ ├── Pillager.cs │ │ │ ├── Raider.cs │ │ │ ├── Ravager.cs │ │ │ ├── Silverfish.cs │ │ │ ├── Skeleton.cs │ │ │ ├── Slime.cs │ │ │ ├── SpellCasterIllager.cs │ │ │ ├── Spider.cs │ │ │ ├── Stray.cs │ │ │ ├── Vex.cs │ │ │ ├── Vindicator.cs │ │ │ ├── Witch.cs │ │ │ ├── Wither.cs │ │ │ ├── WitherSkeleton.cs │ │ │ ├── Zoglin.cs │ │ │ ├── Zombie.cs │ │ │ ├── ZombieVillager.cs │ │ │ └── ZombifiedPiglin.cs │ │ ├── PlayerEntity.cs │ │ ├── Tameable │ │ │ ├── Cat.cs │ │ │ ├── CatVariant.cs │ │ │ ├── Parrot.cs │ │ │ ├── ParrotVariant.cs │ │ │ ├── TameableAnimal.cs │ │ │ ├── TameableFlag.cs │ │ │ └── Wolf.cs │ │ ├── Villagers │ │ │ ├── AbstractVillager.cs │ │ │ ├── Villager.cs │ │ │ ├── VillagerData.cs │ │ │ ├── VillagerJob.cs │ │ │ ├── VillagerType.cs │ │ │ └── WanderingTrader.cs │ │ └── Weapons │ │ │ ├── TridentDamageLevel.cs │ │ │ └── WeaponTier.cs │ ├── LlamaSpit.cs │ ├── Marker.cs │ ├── Minecarts │ │ ├── AbstractMinecart.cs │ │ ├── AbstractMinecartContainer.cs │ │ ├── ExplosiveMinecart.cs │ │ ├── Minecart.cs │ │ ├── MinecartChest.cs │ │ ├── MinecartCommandBlock.cs │ │ ├── MinecartFurnace.cs │ │ ├── MinecartHopper.cs │ │ └── MinecartSpawner.cs │ ├── Painting.cs │ ├── PaintingKind.cs │ ├── Particle.cs │ ├── Particles │ │ ├── AmbientEntityEffect.cs │ │ ├── AngryVillager.cs │ │ ├── Ash.cs │ │ ├── Barrier.cs │ │ ├── BlockParticle.cs │ │ ├── Bubble.cs │ │ ├── BubbleColumnUp.cs │ │ ├── BubblePop.cs │ │ ├── CampfireCosySmoke.cs │ │ ├── CampfireSignalSmoke.cs │ │ ├── Cloud.cs │ │ ├── Composter.cs │ │ ├── CrimsonSpore.cs │ │ ├── Crit.cs │ │ ├── CurrentDown.cs │ │ ├── DamageIndicator.cs │ │ ├── Dolphin.cs │ │ ├── DragonBreath.cs │ │ ├── DrippingDripstoneLava.cs │ │ ├── DrippingDripstoneWater.cs │ │ ├── DrippingHoney.cs │ │ ├── DrippingLava.cs │ │ ├── DrippingObsidianTear.cs │ │ ├── DrippingWater.cs │ │ ├── Dust.cs │ │ ├── DustColorTransition.cs │ │ ├── Effect.cs │ │ ├── ElderGuardian.cs │ │ ├── ElectricSpark.cs │ │ ├── Enchant.cs │ │ ├── EnchantedHit.cs │ │ ├── EndRod.cs │ │ ├── EntityEffect.cs │ │ ├── Explosion.cs │ │ ├── ExplosionEmitter.cs │ │ ├── FallingDripstoneLava.cs │ │ ├── FallingDripstoneWater.cs │ │ ├── FallingDust.cs │ │ ├── FallingHoney.cs │ │ ├── FallingLava.cs │ │ ├── FallingNectar.cs │ │ ├── FallingObsidianTear.cs │ │ ├── FallingSporeBlossom.cs │ │ ├── FallingWater.cs │ │ ├── Firework.cs │ │ ├── Fishing.cs │ │ ├── Flame.cs │ │ ├── Flash.cs │ │ ├── Glow.cs │ │ ├── GlowSquidInk.cs │ │ ├── HappyVillager.cs │ │ ├── Heart.cs │ │ ├── InstantEffect.cs │ │ ├── ItemParticle.cs │ │ ├── ItemSlime.cs │ │ ├── ItemSnowball.cs │ │ ├── LandingHoney.cs │ │ ├── LandingLava.cs │ │ ├── LandingObsidianTear.cs │ │ ├── LargeSmoke.cs │ │ ├── Lava.cs │ │ ├── Light.cs │ │ ├── Mycelium.cs │ │ ├── Nautilus.cs │ │ ├── Note.cs │ │ ├── Poof.cs │ │ ├── Portal.cs │ │ ├── Rain.cs │ │ ├── ReversePortal.cs │ │ ├── Scrape.cs │ │ ├── SmallFlame.cs │ │ ├── Smoke.cs │ │ ├── Sneeze.cs │ │ ├── Snowflake.cs │ │ ├── Soul.cs │ │ ├── SoulFireFlame.cs │ │ ├── Spit.cs │ │ ├── Splash.cs │ │ ├── SporeBlossomAir.cs │ │ ├── SquidInk.cs │ │ ├── SweepAttack.cs │ │ ├── TotemOfUndying.cs │ │ ├── Underwater.cs │ │ ├── Vibration.cs │ │ ├── WarpedSpore.cs │ │ ├── WaxOff.cs │ │ ├── WaxOn.cs │ │ ├── WhiteAsh.cs │ │ └── Witch.cs │ ├── Pose.cs │ ├── PrimedExplosive.cs │ ├── ShulkerBullet.cs │ ├── SmallFireball.cs │ ├── Snowball.cs │ ├── ThrownEgg.cs │ ├── ThrownEnderPearl.cs │ ├── ThrownExperienceBottle.cs │ ├── ThrownPotion.cs │ └── WitherSkull.cs ├── Generators │ ├── AmplifiedGenerator.cs │ ├── AmplifiedLargeBiomesGenerator.cs │ ├── DefaultLayers.cs │ ├── EndGenerator.cs │ ├── FlatGenerator.cs │ ├── GenType.cs │ ├── IGenerator.cs │ ├── LargeBiomesGenerator.cs │ ├── NetherGenerator.cs │ └── NormalGenerator.cs ├── Properties │ ├── Resources.Designer.cs │ └── Resources.resx ├── Resources │ └── blocks.json ├── SmartBlocks - Backup (1).csproj ├── SmartBlocks - Backup (2).csproj ├── SmartBlocks - Backup.csproj ├── SmartBlocks.csproj ├── SmartBlocks.csproj.user ├── Utils │ ├── ExtensionMethods.cs │ ├── FlagsHelper.cs │ ├── GameRule.cs │ └── SkinPart.cs ├── Worlds │ ├── Biome.cs │ ├── Chunk.cs │ ├── ChunkBuffer.cs │ ├── Dimension.cs │ ├── DragonFight.cs │ ├── IBlockContainer.cs │ ├── ITagProvider.cs │ ├── InterestPoint.cs │ ├── Level.cs │ ├── Raids │ │ ├── Raid.cs │ │ ├── RaidList.cs │ │ └── RaidStatus.cs │ ├── Region.cs │ ├── RegionFile.cs │ ├── Section.cs │ ├── Structure.cs │ ├── World.cs │ └── WorldLoadException.cs ├── bin │ └── Debug │ │ └── net6.0 │ │ ├── IKVM.AWT.WinForms.dll │ │ ├── IKVM.OpenJDK.Beans.dll │ │ ├── IKVM.OpenJDK.Charsets.dll │ │ ├── IKVM.OpenJDK.Corba.dll │ │ ├── IKVM.OpenJDK.Core.dll │ │ ├── IKVM.OpenJDK.Management.dll │ │ ├── IKVM.OpenJDK.Media.dll │ │ ├── IKVM.OpenJDK.Misc.dll │ │ ├── IKVM.OpenJDK.Naming.dll │ │ ├── IKVM.OpenJDK.Remoting.dll │ │ ├── IKVM.OpenJDK.Security.dll │ │ ├── IKVM.OpenJDK.SwingAWT.dll │ │ ├── IKVM.OpenJDK.Text.dll │ │ ├── IKVM.OpenJDK.Util.dll │ │ ├── IKVM.OpenJDK.XML.API.dll │ │ ├── IKVM.Runtime.JNI.dll │ │ ├── IKVM.Runtime.dll │ │ ├── MinecraftTypes.dll │ │ ├── MinecraftTypes.pdb │ │ ├── SmartBlocks.deps.json │ │ ├── SmartBlocks.dll │ │ ├── SmartBlocks.pdb │ │ ├── SmartNbt 1.1.0.0.dll │ │ ├── SmartNbt.dll │ │ ├── SmartNbt.pdb │ │ └── ref │ │ └── SmartBlocks.dll └── obj │ ├── Debug │ ├── net20 │ │ ├── SmartBlocks.AssemblyInfo.cs │ │ ├── SmartBlocks.AssemblyInfoInputs.cache │ │ ├── SmartBlocks.GeneratedMSBuildEditorConfig.editorconfig │ │ ├── SmartBlocks.GlobalUsings.g.cs │ │ ├── SmartBlocks.assets.cache │ │ ├── SmartBlocks.csproj.AssemblyReference.cache │ │ ├── SmartBlocks.csproj.CoreCompileInputs.cache │ │ └── SmartBlocks.csproj.FileListAbsolute.txt │ ├── net6.0 │ │ ├── .NETCoreApp,Version=v6.0.AssemblyAttributes.cs │ │ ├── SmartBlocks.AssemblyInfo.cs │ │ ├── SmartBlocks.AssemblyInfoInputs.cache │ │ ├── SmartBlocks.GeneratedMSBuildEditorConfig.editorconfig │ │ ├── SmartBlocks.GlobalUsings.g.cs │ │ ├── SmartBlocks.Properties.Resources.resources │ │ ├── SmartBlocks.assets.cache │ │ ├── SmartBlocks.csproj.AssemblyReference.cache │ │ ├── SmartBlocks.csproj.CopyComplete │ │ ├── SmartBlocks.csproj.CoreCompileInputs.cache │ │ ├── SmartBlocks.csproj.FileListAbsolute.txt │ │ ├── SmartBlocks.csproj.GenerateResource.cache │ │ ├── SmartBlocks.dll │ │ ├── SmartBlocks.pdb │ │ ├── TempPE │ │ │ └── Properties.Resources.Designer.cs.dll │ │ └── ref │ │ │ └── SmartBlocks.dll │ ├── netcoreapp3.1 │ │ ├── .NETCoreApp,Version=v3.1.AssemblyAttributes.cs │ │ ├── SmartBlocks.AssemblyInfo.cs │ │ ├── SmartBlocks.AssemblyInfoInputs.cache │ │ ├── SmartBlocks.GeneratedMSBuildEditorConfig.editorconfig │ │ ├── SmartBlocks.GlobalUsings.g.cs │ │ ├── SmartBlocks.assets.cache │ │ ├── SmartBlocks.csproj.AssemblyReference.cache │ │ ├── SmartBlocks.csproj.CoreCompileInputs.cache │ │ └── SmartBlocks.csproj.FileListAbsolute.txt │ └── netstandard2.0 │ │ ├── .NETStandard,Version=v2.0.AssemblyAttributes.cs │ │ ├── SmartBlocks.AssemblyInfo.cs │ │ ├── SmartBlocks.AssemblyInfoInputs.cache │ │ ├── SmartBlocks.GeneratedMSBuildEditorConfig.editorconfig │ │ ├── SmartBlocks.GlobalUsings.g.cs │ │ ├── SmartBlocks.assets.cache │ │ ├── SmartBlocks.csproj.AssemblyReference.cache │ │ ├── SmartBlocks.csproj.CoreCompileInputs.cache │ │ └── SmartBlocks.csproj.FileListAbsolute.txt │ ├── SmartBlocks.csproj.nuget.dgspec.json │ ├── SmartBlocks.csproj.nuget.g.props │ ├── SmartBlocks.csproj.nuget.g.targets │ ├── project.assets.json │ └── project.nuget.cache └── SmartTest ├── Program.cs ├── SmartTest.csproj ├── bin └── Debug │ └── net6.0 │ ├── IKVM.AWT.WinForms.dll │ ├── IKVM.OpenJDK.Beans.dll │ ├── IKVM.OpenJDK.Charsets.dll │ ├── IKVM.OpenJDK.Corba.dll │ ├── IKVM.OpenJDK.Core.dll │ ├── IKVM.OpenJDK.Management.dll │ ├── IKVM.OpenJDK.Media.dll │ ├── IKVM.OpenJDK.Misc.dll │ ├── IKVM.OpenJDK.Naming.dll │ ├── IKVM.OpenJDK.Remoting.dll │ ├── IKVM.OpenJDK.Security.dll │ ├── IKVM.OpenJDK.SwingAWT.dll │ ├── IKVM.OpenJDK.Text.dll │ ├── IKVM.OpenJDK.Util.dll │ ├── IKVM.OpenJDK.XML.API.dll │ ├── IKVM.Runtime.JNI.dll │ ├── IKVM.Runtime.dll │ ├── MedallionRandom.dll │ ├── Microsoft.Win32.SystemEvents.dll │ ├── MinecraftTypes.dll │ ├── MinecraftTypes.pdb │ ├── Newtonsoft.Json.dll │ ├── SmartBlocks.dll │ ├── SmartBlocks.pdb │ ├── SmartNbt.dll │ ├── SmartNbt.pdb │ ├── SmartTest.deps.json │ ├── SmartTest.dll │ ├── SmartTest.exe │ ├── SmartTest.pdb │ ├── SmartTest.runtimeconfig.json │ ├── System.Configuration.ConfigurationManager.dll │ ├── System.Drawing.Common.dll │ ├── System.Security.Cryptography.ProtectedData.dll │ ├── System.Security.Permissions.dll │ ├── System.Windows.Extensions.dll │ ├── Worlds │ └── test │ │ ├── level.dat │ │ ├── region │ │ ├── r.-1.-1.mca │ │ ├── r.-1.0.mca │ │ ├── r.0.-1.mca │ │ └── r.0.0.mca │ │ └── session.lock │ ├── ref │ └── SmartTest.dll │ └── runtimes │ ├── unix │ └── lib │ │ └── net6.0 │ │ └── System.Drawing.Common.dll │ └── win │ └── lib │ └── net6.0 │ ├── Microsoft.Win32.SystemEvents.dll │ ├── System.Drawing.Common.dll │ ├── System.Security.Cryptography.ProtectedData.dll │ └── System.Windows.Extensions.dll └── obj ├── Debug └── net6.0 │ ├── .NETCoreApp,Version=v6.0.AssemblyAttributes.cs │ ├── SmartTest.AssemblyInfo.cs │ ├── SmartTest.AssemblyInfoInputs.cache │ ├── SmartTest.GeneratedMSBuildEditorConfig.editorconfig │ ├── SmartTest.GlobalUsings.g.cs │ ├── SmartTest.assets.cache │ ├── SmartTest.csproj.AssemblyReference.cache │ ├── SmartTest.csproj.CopyComplete │ ├── SmartTest.csproj.CoreCompileInputs.cache │ ├── SmartTest.csproj.FileListAbsolute.txt │ ├── SmartTest.dll │ ├── SmartTest.genruntimeconfig.cache │ ├── SmartTest.pdb │ ├── apphost.exe │ └── ref │ └── SmartTest.dll ├── SmartTest.csproj.nuget.dgspec.json ├── SmartTest.csproj.nuget.g.props ├── SmartTest.csproj.nuget.g.targets ├── project.assets.json └── project.nuget.cache /.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | .DS_STORE 3 | /.project 4 | /.settings/ 5 | /.classpath 6 | /map/ 7 | Main*.java 8 | /worlds/ 9 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "JNBT"] 2 | path = JNBT 3 | url = https://github.com/Morlok8k/JNBT 4 | -------------------------------------------------------------------------------- /.vs/SmartBlocks/DesignTimeBuild/.dtbcache.v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/.vs/SmartBlocks/DesignTimeBuild/.dtbcache.v2 -------------------------------------------------------------------------------- /.vs/SmartBlocks/v17/.futdcache.v1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/.vs/SmartBlocks/v17/.futdcache.v1 -------------------------------------------------------------------------------- /.vs/SmartBlocks/v17/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/.vs/SmartBlocks/v17/.suo -------------------------------------------------------------------------------- /BlockBuilder/BlockBuilder.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | WinExe 5 | net6.0-windows 6 | enable 7 | true 8 | enable 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | ..\..\MinecraftTypes.dll 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /BlockBuilder/BlockBuilder.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Form 7 | 8 | 9 | -------------------------------------------------------------------------------- /BlockBuilder/Program.cs: -------------------------------------------------------------------------------- 1 | namespace BlockBuilder 2 | { 3 | internal static class Program 4 | { 5 | /// 6 | /// The main entry point for the application. 7 | /// 8 | [STAThread] 9 | static void Main() 10 | { 11 | ApplicationConfiguration.Initialize(); 12 | Application.Run(new MainForm()); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/BlockBuilder.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/BlockBuilder.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/BlockBuilder.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/BlockBuilder.exe -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/BlockBuilder.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/BlockBuilder.pdb -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/BlockBuilder.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "net6.0", 4 | "frameworks": [ 5 | { 6 | "name": "Microsoft.NETCore.App", 7 | "version": "6.0.0" 8 | }, 9 | { 10 | "name": "Microsoft.WindowsDesktop.App", 11 | "version": "6.0.0" 12 | } 13 | ] 14 | } 15 | } -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.AWT.WinForms.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.AWT.WinForms.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Beans.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Beans.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Charsets.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Charsets.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Corba.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Corba.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Core.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Management.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Management.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Media.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Media.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Misc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Misc.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Naming.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Naming.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Remoting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Remoting.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Security.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Security.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.SwingAWT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.SwingAWT.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Text.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Text.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Util.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.Util.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.XML.API.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.OpenJDK.XML.API.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.Runtime.JNI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.Runtime.JNI.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/IKVM.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/IKVM.Runtime.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/MedallionRandom.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/MedallionRandom.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/MinecraftTypes.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/MinecraftTypes.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/MinecraftTypes.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/MinecraftTypes.pdb -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/SmartBlocks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/SmartBlocks.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/SmartBlocks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/SmartBlocks.pdb -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/SmartNbt.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/SmartNbt.dll -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/SmartNbt.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/SmartNbt.pdb -------------------------------------------------------------------------------- /BlockBuilder/bin/Debug/net6.0-windows/ref/BlockBuilder.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/bin/Debug/net6.0-windows/ref/BlockBuilder.dll -------------------------------------------------------------------------------- /BlockBuilder/obj/BlockBuilder.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | -------------------------------------------------------------------------------- /BlockBuilder/obj/Debug/net6.0-windows/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")] 5 | -------------------------------------------------------------------------------- /BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 0d9488cb33bf3a81c3bc1766335330920b066f7d 2 | -------------------------------------------------------------------------------- /BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.ApplicationManifest = 3 | build_property.StartupObject = 4 | build_property.ApplicationDefaultFont = 5 | build_property.ApplicationHighDpiMode = 6 | build_property.ApplicationUseCompatibleTextRendering = 7 | build_property.ApplicationVisualStyles = 8 | build_property.TargetFramework = net6.0-windows 9 | build_property.TargetPlatformMinVersion = 7.0 10 | build_property.UsingMicrosoftNETSdkWeb = 11 | build_property.ProjectTypeGuids = 12 | build_property.InvariantGlobalization = 13 | build_property.PlatformNeutralAssembly = 14 | build_property._SupportedPlatformList = Linux,macOS,Windows 15 | build_property.RootNamespace = BlockBuilder 16 | build_property.ProjectDir = D:\Programming\rs\SmartBlocks\BlockBuilder\ 17 | -------------------------------------------------------------------------------- /BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.GlobalUsings.g.cs: -------------------------------------------------------------------------------- 1 | // 2 | global using global::System; 3 | global using global::System.Collections.Generic; 4 | global using global::System.Drawing; 5 | global using global::System.IO; 6 | global using global::System.Linq; 7 | global using global::System.Net.Http; 8 | global using global::System.Threading; 9 | global using global::System.Threading.Tasks; 10 | global using global::System.Windows.Forms; 11 | -------------------------------------------------------------------------------- /BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.MainForm.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.MainForm.resources -------------------------------------------------------------------------------- /BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.assets.cache -------------------------------------------------------------------------------- /BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.csproj.CopyComplete -------------------------------------------------------------------------------- /BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 0bb1a1e1eded52cc274158dbc3df646b55eb4e0f 2 | -------------------------------------------------------------------------------- /BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.csproj.GenerateResource.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.csproj.GenerateResource.cache -------------------------------------------------------------------------------- /BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.designer.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "net6.0", 4 | "frameworks": [ 5 | { 6 | "name": "Microsoft.NETCore.App", 7 | "version": "6.0.0" 8 | }, 9 | { 10 | "name": "Microsoft.WindowsDesktop.App", 11 | "version": "6.0.0" 12 | } 13 | ], 14 | "additionalProbingPaths": [ 15 | "C:\\Users\\super\\.dotnet\\store\\|arch|\\|tfm|", 16 | "C:\\Users\\super\\.nuget\\packages" 17 | ], 18 | "configProperties": { 19 | "Microsoft.NETCore.DotNetHostPolicy.SetAppPaths": true 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.dll -------------------------------------------------------------------------------- /BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.genruntimeconfig.cache: -------------------------------------------------------------------------------- 1 | 0ee3ebf47c8ee85a62eb8d9dc6ee83d406e33fca 2 | -------------------------------------------------------------------------------- /BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/obj/Debug/net6.0-windows/BlockBuilder.pdb -------------------------------------------------------------------------------- /BlockBuilder/obj/Debug/net6.0-windows/apphost.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/obj/Debug/net6.0-windows/apphost.exe -------------------------------------------------------------------------------- /BlockBuilder/obj/Debug/net6.0-windows/ref/BlockBuilder.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/BlockBuilder/obj/Debug/net6.0-windows/ref/BlockBuilder.dll -------------------------------------------------------------------------------- /SmartBlocks.sln.DotSettings.user: -------------------------------------------------------------------------------- 1 |  2 | <AssemblyExplorer> 3 | <Assembly Path="A:\Programming\MinecraftTypes\MinecraftTypes\bin\Debug\net6.0\MinecraftTypes.dll" /> 4 | </AssemblyExplorer> 5 | True 6 | True 7 | True -------------------------------------------------------------------------------- /SmartBlocks/Blocks/ArmorDropChance.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace SmartBlocks.Blocks; 8 | 9 | public class ArmorDropChance 10 | { 11 | public float FeetSlot { get; set; } 12 | 13 | public float LegSlot { get; set; } 14 | 15 | public float ChestSlot { get; set; } 16 | 17 | public float HeadSlot { get; set; } 18 | } -------------------------------------------------------------------------------- /SmartBlocks/Blocks/ArmorType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace SmartBlocks.Blocks 8 | { 9 | public enum ArmorType 10 | { 11 | Leather, 12 | Chain, 13 | Iron, 14 | Diamond, 15 | Gold, 16 | Netherite, 17 | Turtle 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /SmartBlocks/Blocks/Block.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Blocks; 4 | 5 | public class Block 6 | { 7 | public string Name { get; set; } 8 | 9 | public Identifier ItemId { get; set; } 10 | 11 | public bool IsStackable { get; set; } 12 | 13 | public short MaxStackSize { get; set; } 14 | 15 | public double Hardness { get; set; } 16 | 17 | public bool IsDiggable { get; set; } 18 | 19 | public short MinStateId { get; set; } 20 | 21 | public short MaxStateId { get; set; } 22 | 23 | public uint Id { get; set; } 24 | 25 | public uint Type { get; set; } 26 | 27 | 28 | public Block() 29 | { 30 | // For serialization 31 | } 32 | 33 | public Block(uint id = 0, uint type = 0) 34 | { 35 | Id = id; 36 | Type = type; 37 | } 38 | 39 | public Block(Identifier id) 40 | { 41 | ItemId = id; 42 | } 43 | } -------------------------------------------------------------------------------- /SmartBlocks/Blocks/BlockRegistry.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | using MinecraftTypes; 3 | using Newtonsoft.Json; 4 | 5 | namespace SmartBlocks.Blocks; 6 | 7 | public class BlockRegistry 8 | { 9 | public static Dictionary Blocks = new(); 10 | 11 | public static bool Initialized; 12 | 13 | public static void Init() 14 | { 15 | string json = Encoding.UTF8.GetString(Properties.Resources.blocks); 16 | List blocks = JsonConvert.DeserializeObject>(json)!; 17 | 18 | foreach (Block b in blocks) 19 | { 20 | Blocks.Add(b.ItemId, b); 21 | } 22 | 23 | Initialized = true; 24 | } 25 | } -------------------------------------------------------------------------------- /SmartBlocks/Blocks/MaterialType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace SmartBlocks.Blocks 8 | { 9 | public enum MaterialType 10 | { 11 | Wood, 12 | Stone, 13 | Iron, 14 | Gold, 15 | Diamond, 16 | Netherite 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SmartBlocks/Entities/Arrows/AbstractArrow.cs: -------------------------------------------------------------------------------- 1 | using SmartBlocks.Utils; 2 | 3 | namespace SmartBlocks.Entities.Arrows; 4 | 5 | public class AbstractArrow : Entity 6 | { 7 | #region Flags 8 | 9 | private byte _arrowMask = 0; 10 | 11 | public bool IsCritical 12 | { 13 | get => FlagsHelper.IsSet(_arrowMask, (byte) ArrowFlag.Critical); 14 | set 15 | { 16 | if (value) FlagsHelper.Set(ref _arrowMask, (byte) ArrowFlag.Critical); 17 | else FlagsHelper.Unset(ref _arrowMask, (byte) ArrowFlag.Critical); 18 | } 19 | } 20 | 21 | public bool IsNoClip 22 | { 23 | get => FlagsHelper.IsSet(_arrowMask, (byte) ArrowFlag.NoClip); 24 | set 25 | { 26 | if (value) FlagsHelper.Set(ref _arrowMask, (byte) ArrowFlag.NoClip); 27 | else FlagsHelper.Unset(ref _arrowMask, (byte) ArrowFlag.NoClip); 28 | } 29 | } 30 | 31 | #endregion 32 | 33 | public byte PiercingLevel { get; set; } = 0; 34 | public override void Spawn() 35 | { 36 | throw new NotImplementedException(); 37 | } 38 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Arrows/Arrow.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Arrows; 4 | 5 | public class Arrow : AbstractArrow 6 | { 7 | public override string Name => "Arrow"; 8 | 9 | public override VarInt Type => 2; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.5, 0.5, 0.5); 20 | 21 | public override Identifier Identifier => "arrow"; 22 | 23 | /// 24 | /// Color, -1 for no particles 25 | /// 26 | public VarInt Color { get; set; } = -1; 27 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Arrows/ArrowFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Arrows; 2 | 3 | public enum ArrowFlag : byte 4 | { 5 | Critical = 0x01, 6 | 7 | /// 8 | /// Used by loyalty tridents when returning 9 | /// 10 | NoClip = 0x02 11 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Arrows/SpectralArrow.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Arrows; 4 | 5 | public class SpectralArrow : AbstractArrow 6 | { 7 | public override string Name => "Spectral Arrow"; 8 | 9 | public override VarInt Type => 84; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.5, 0.5, 0.5); 20 | 21 | public override Identifier Identifier => new("spectral_arrow"); 22 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Arrows/ThrownTrident.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Arrows; 4 | 5 | public class ThrownTrident : AbstractArrow 6 | { 7 | public override string Name => "Thrown Trident"; 8 | 9 | public override VarInt Type => 93; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.5, 0.5, 0.5); 20 | 21 | public override Identifier Identifier => new("trident"); 22 | 23 | /// 24 | /// Per enchantment 25 | /// 26 | public VarInt LoyaltyLevel { get; set; } = 0; 27 | 28 | public bool HasEnchantmentGlint { get; set; } = false; 29 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Attributes/AttributeList.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Attributes 2 | { 3 | internal class AttributeList : List 4 | { 5 | public MobAttribute this[string key] 6 | { 7 | get 8 | { 9 | foreach (MobAttribute mobAttribute in this) 10 | { 11 | if (mobAttribute.Name.Name == key) return mobAttribute; 12 | else continue; 13 | } 14 | 15 | return null!; 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /SmartBlocks/Entities/Attributes/Effect.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace SmartBlocks.Entities.Attributes 8 | { 9 | public enum Effect : byte 10 | { 11 | MoveSpeed = 0x00, 12 | MoveSlowdown = 0x01, 13 | DigSpeed = 0x02, 14 | DigSlowdown = 0x03, 15 | DamageBoost = 0x04, 16 | Weakness = 0x05, 17 | HealthBoost = 0x06, 18 | Luck = 0x07, 19 | Unluck = 0x08 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /SmartBlocks/Entities/Attributes/MobAttributeList.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Attributes 4 | { 5 | public class MobAttributeList : List 6 | { 7 | public MobAttribute this[Identifier id] 8 | { 9 | get 10 | { 11 | foreach (var attribute in this) 12 | { 13 | if (attribute.Name == id.Name) return attribute; 14 | continue; 15 | } 16 | 17 | throw new IndexOutOfRangeException(); 18 | } 19 | set 20 | { 21 | for (int x = 0; x < this.Count; x++) 22 | { 23 | MobAttribute attribute = this[x]; 24 | if (attribute.Name == value.Name) 25 | { 26 | this[x] = value; 27 | return; 28 | } 29 | } 30 | 31 | throw new IndexOutOfRangeException(); 32 | } 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Attributes/ModifierOperation.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Attributes; 2 | 3 | public enum ModifierOperation 4 | { 5 | AddSubtract = 0, 6 | AddSubtractPercent = 1, 7 | PercMultiply = 2 8 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/BoundingBox.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities; 2 | 3 | public class BoundingBox 4 | { 5 | public double X { get; set; } 6 | 7 | public double Y { get; set; } 8 | 9 | public double Z { get; set; } 10 | 11 | public BoundingBox(double x, double y, double z) 12 | { 13 | X = x; 14 | Y = y; 15 | Z = z; 16 | } 17 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/DragonFireball.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class DragonFireball : Entity 6 | { 7 | public override string Name => "Dragon Fireball"; 8 | 9 | public override VarInt Type => 16; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(1.0, 1.0, 1.0); 20 | 21 | public override Identifier Identifier => "dragon_fireball"; 22 | 23 | public override void Spawn() 24 | { 25 | throw new NotImplementedException(); 26 | } 27 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/EndCrystal.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class EndCrystal : Entity 6 | { 7 | public override string Name => "End Crystal"; 8 | 9 | public override VarInt Type => 19; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(2.0, 2.0, 2.0); 20 | 21 | public override Identifier Identifier => "end_crystal"; 22 | public override void Spawn() 23 | { 24 | throw new NotImplementedException(); 25 | } 26 | 27 | public OptBlockPos BeamTarget { get; set; } = new(false); 28 | 29 | public bool ShowBottom { get; set; } = true; 30 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/EntityToolType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace SmartBlocks.Entities 8 | { 9 | public enum EntityToolType 10 | { 11 | Trident = 0, 12 | Shovel = 1, 13 | Pickaxe = 2, 14 | Axe = 3, 15 | Hoe = 4, 16 | 17 | // Weapons 18 | Sword = 5, 19 | 20 | // Armor 21 | Boots = 6, 22 | Leggings = 7, 23 | Chest = 8, 24 | Helmet = 9 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SmartBlocks/Entities/ExperienceOrb.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class ExperienceOrb : Entity 6 | { 7 | public override string Name => "Experience Orb"; 8 | 9 | public override VarInt Type => 25; 10 | 11 | public override bool UseSpawnEntityOnly => false; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => true; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.5, 0.5, 0.5); 20 | 21 | public override Identifier Identifier => "experience_orb"; 22 | public override void Spawn() 23 | { 24 | throw new NotImplementedException(); 25 | } 26 | 27 | public short AwardAmount { get; set; } 28 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/EyeOfEnder.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class EyeOfEnder : Entity 6 | { 7 | public override string Name => "Eye of Ender"; 8 | 9 | public override VarInt Type => 26; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.25, 0.25, 0.25); 20 | 21 | public override Identifier Identifier => new("eye_of_ender"); 22 | public override void Spawn() 23 | { 24 | throw new NotImplementedException(); 25 | } 26 | 27 | public Slot Item { get; set; } 28 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/FallingBlock.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Worlds; 3 | 4 | namespace SmartBlocks.Entities; 5 | 6 | public class FallingBlock : Entity 7 | { 8 | public Position SpawnPosition { get; set; } = new(0, 0, 0); 9 | 10 | public override string Name => "Falling Block"; 11 | 12 | public override VarInt Type => 27; 13 | 14 | public override bool UseSpawnEntityOnly => true; 15 | 16 | public override bool UseSpawnPaintingOnly => false; 17 | 18 | public override bool UseSpawnXpOnly => false; 19 | 20 | public override bool AllowedSpawn => true; 21 | 22 | public override BoundingBox BoundingBox => new(0.98, 0.98, 0.98); 23 | 24 | public override Identifier Identifier => new("falling_block"); 25 | 26 | public World World { get; set; } 27 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Fireball.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class Fireball : Entity 6 | { 7 | public override string Name => "Fireball"; 8 | 9 | public override VarInt Type => 43; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(1.0, 1.0, 1.0); 20 | 21 | public override Identifier Identifier => new("fireball"); 22 | public override void Spawn() 23 | { 24 | throw new NotImplementedException(); 25 | } 26 | 27 | public Slot Item { get; set; } 28 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/FireworkRocketEntity.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class FireworkRocketEntity : Entity 6 | { 7 | public override string Name => "Firework Rocket Entity"; 8 | 9 | public override VarInt Type => 28; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.25, 0.25, 0.25); 20 | 21 | public override Identifier Identifier => new("firework_rocket"); 22 | 23 | public Slot Info { get; set; } 24 | 25 | /// 26 | /// Entity ID of entity which used firework 27 | /// (for elytra boosting) 28 | /// 29 | public OptVarInt EntityId { get; set; } 30 | 31 | /// 32 | /// Is shot at angle from a crossbow 33 | /// 34 | public bool IsShotAtAngle { get; set; } = false; 35 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/FishingHook.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class FishingHook : Entity 6 | { 7 | public override string Name => "Fishing Hook"; 8 | 9 | public override VarInt Type => 112; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.25, 0.25, 0.25); 20 | 21 | public override Identifier Identifier => new("fishing_hook"); 22 | 23 | /// 24 | /// Hooked entity ID + 1, or 0 if there is no hooked entity 25 | /// 26 | public VarInt HookedId { get; set; } = 0; 27 | 28 | public bool IsCatchable { get; set; } = false; 29 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Flags/ArmorStandFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Flags; 2 | 3 | public enum ArmorStandFlag : byte 4 | { 5 | Small = 0x01, 6 | HasArms = 0x04, 7 | NoBasePlate = 0x08, 8 | Marker = 0x10 9 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Flags/BatFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Flags; 2 | 3 | public enum BatFlag : byte 4 | { 5 | IsHanging = 0x01 6 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Flags/BeeFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Flags; 2 | 3 | public enum BeeFlag : byte 4 | { 5 | Unused = 0x01, 6 | Angry = 0x02, 7 | Stung = 0x04, 8 | Nectar = 0x08 9 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Flags/BlazeFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Flags; 2 | 3 | public enum BlazeFlag 4 | { 5 | OnFire = 0x01 6 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Flags/EntityFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Flags; 2 | 3 | public enum EntityFlag : byte 4 | { 5 | OnFire = 0x01, 6 | Crouching = 0x02, 7 | Unused = 0x04, 8 | Sprinting = 0x08, 9 | Swimming = 0x10, 10 | Invisible = 0x20, 11 | Glowing = 0x40, 12 | FlyingElytra = 0x80 13 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Flags/HandStateFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Flags; 2 | 3 | public enum HandStateFlag : byte 4 | { 5 | /// 6 | /// Is hand active 7 | /// 8 | HandActive = 0x01, 9 | 10 | /// 11 | /// Active hand 0 = main hand, 1 = offhand 12 | /// 13 | ActiveHand = 0x02, 14 | 15 | /// 16 | /// is in spin attack 17 | /// 18 | RiptdeSpinAttack = 0x04 19 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Flags/HorseFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Flags; 2 | 3 | public enum HorseFlag : byte 4 | { 5 | Unused = 0x01, 6 | Tame = 0x02, 7 | Saddled = 0x04, 8 | Bred = 0x08, 9 | Eating = 0x10, 10 | Rearing = 0x20, 11 | MouthOpen = 0x40, 12 | Unused2 = 0x80 13 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Flags/IronGolemFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Flags; 2 | 3 | public enum IronGolemFlag : byte 4 | { 5 | PlayerCreated = 0x01 6 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Flags/MobFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Flags; 2 | 3 | public enum MobFlag : byte 4 | { 5 | NoAi = 0x01, 6 | LeftHanded = 0x02, 7 | Aggressive = 0x04 8 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Flags/PandaFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Flags; 2 | 3 | public enum PandaFlag 4 | { 5 | Unused = 0x01, 6 | Sneezing = 0x02, 7 | Rolling = 0x04, 8 | Sitting = 0x08, 9 | OnBack = 0x10 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Flags/SheepFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Flags; 2 | 3 | public enum SheepFlag 4 | { 5 | Color = 0x0F, 6 | Sheared = 0x10 7 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Flags/SnowGolemFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Flags; 2 | 3 | public enum SnowGolemFlag : byte 4 | { 5 | NoHat = 0x00, 6 | HasHat = 0x10 7 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Flags/SpiderFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Flags; 2 | 3 | public enum SpiderFlag : byte 4 | { 5 | Climbing = 0x01 6 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Flags/VexFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Flags; 2 | 3 | public enum VexFlag 4 | { 5 | Attacking = 0x01 6 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/GlowItemFrame.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class GlowItemFrame : Entity 6 | { 7 | public override string Name => "Glow Item Frame"; 8 | 9 | public override VarInt Type => 32; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.75, 0.75, 0.75); 20 | 21 | public override Identifier Identifier => new("glow_item_frame"); 22 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/ItemEntity.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class ItemEntity : Entity 6 | { 7 | public override string Name => "Item"; 8 | 9 | public override VarInt Type => 41; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.25, 0.25, 0.25); 20 | 21 | public override Identifier Identifier => new("item"); 22 | 23 | public Slot Item { get; set; } 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/ItemFrame.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class ItemFrame : Entity 6 | { 7 | public override string Name => "Item Frame"; 8 | 9 | public override VarInt Type => 42; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.75, 0.75, 0.75); 20 | 21 | public override Identifier Identifier => new("item_frame"); 22 | 23 | public Slot Item { get; set; } 24 | 25 | public VarInt Rotation { get; set; } = 0; 26 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/LeashKnot.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class LeashKnot : Entity 6 | { 7 | public override string Name => "Leash Knot"; 8 | 9 | public override VarInt Type => 44; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.375, 0.5, 0.375); 20 | 21 | public override Identifier Identifier => new("leash_knot"); 22 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/LightningBolt.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class LightningBolt : Entity 6 | { 7 | public override string Name => "Lightning Bolt"; 8 | 9 | public override VarInt Type => 45; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.0, 0.0, 0.0); 20 | 21 | public override Identifier Identifier => new("lightning_bolt"); 22 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/AgeableMob.cs: -------------------------------------------------------------------------------- 1 | using java.util; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Ageable; 5 | 6 | public class AgeableMob : PathFinderMob 7 | { 8 | public bool IsBaby => Age < -1; 9 | 10 | public bool CanBreed => !IsBaby && Age < 1; 11 | 12 | public int Age { get; set; } 13 | 14 | public int ForcedAge { get; set; } 15 | 16 | public int LoveTicks { get; set; } 17 | 18 | public UUID LoveCause { get; set; } 19 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/Animal.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Ageable; 2 | 3 | public class Animal : AgeableMob 4 | { 5 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/AxolotlVariant.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Ageable; 2 | 3 | public enum AxolotlVariant 4 | { 5 | Lucy = 0, 6 | Wild = 1, 7 | Gold = 2, 8 | Cyan = 3, 9 | Blue = 4 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/ChestedHorse.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Ageable; 2 | 3 | public class ChestedHorse : AbstractHorse 4 | { 5 | public bool HasChest { get; set; } = false; 6 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/Chicken.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Ageable; 5 | 6 | public class Chicken : Animal 7 | { 8 | public override string Name => "Chicken"; 9 | 10 | public override VarInt Type => 10; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.4, 0.7, 0.4); 21 | 22 | public override Identifier Identifier => "chicken"; 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/Cow.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Ageable; 5 | 6 | public class Cow : Animal 7 | { 8 | public override string Name => "Cow"; 9 | 10 | public override VarInt Type => 12; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.9, 0.6, 0.9); 21 | 22 | public override Identifier Identifier => "cow"; 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/Donkey.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Ageable; 5 | 6 | /// 7 | /// Genesis 49:14 (KJV). Read it. You'll understand. 8 | /// 9 | public class Donkey : ChestedHorse 10 | { 11 | public override string Name => "Donkey"; 12 | 13 | public override VarInt Type => 15; 14 | 15 | public override bool UseSpawnEntityOnly => false; 16 | 17 | public override bool UseSpawnPaintingOnly => false; 18 | 19 | public override bool UseSpawnXpOnly => false; 20 | 21 | public override bool AllowedSpawn => true; 22 | 23 | public override BoundingBox BoundingBox => new(1.5, 1.39648, 1.5); 24 | 25 | public override Identifier Identifier => "donkey"; 26 | 27 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/FoxFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Ageable; 2 | 3 | public enum FoxFlag 4 | { 5 | Sitting = 0x01, 6 | Unused = 0x02, 7 | Crouching = 0x04, 8 | Interested = 0x08, 9 | Pouncing = 0x10, 10 | Sleeping = 0x20, 11 | Faceplanted = 0x40, 12 | Defending = 0x80 13 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/FoxVariant.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Ageable; 2 | 3 | public enum FoxVariant 4 | { 5 | Red = 0, 6 | Snow = 1 7 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/Hoglin.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Ageable; 5 | 6 | public class Hoglin : Animal 7 | { 8 | public override string Name => "Hoglin"; 9 | 10 | public override VarInt Type => 36; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(1.39648, 1.4, 1.39648); 21 | 22 | public override Identifier Identifier => new("hoglin"); 23 | 24 | public bool IsZombieImmune { get; set; } = false; 25 | 26 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/LlamaVariant.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Ageable; 2 | 3 | public enum LlamaVariant 4 | { 5 | Creamy = 0, 6 | White = 1, 7 | Brown = 2, 8 | Gray = 3 9 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/Mooshroom.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Ageable; 5 | 6 | public class Mooshroom : Cow 7 | { 8 | public override string Name => "Mooshroom"; 9 | 10 | public override VarInt Type => 58; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.9, 1.4, 0.9); 21 | 22 | public override Identifier Identifier => new("mooshroom"); 23 | 24 | public string Variant { get; set; } = "red"; 25 | 26 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/Mule.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Ageable; 5 | 6 | public class Mule : ChestedHorse 7 | { 8 | public override string Name => "Mule"; 9 | 10 | public override VarInt Type => 57; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(1.39648, 1.6, 1.39648); 21 | 22 | public override Identifier Identifier => new("mule"); 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/Ocelot.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Ageable; 5 | 6 | public class Ocelot : Animal 7 | { 8 | public override string Name => "Ocelot"; 9 | 10 | public override VarInt Type => 59; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.6, 0.7, 0.6); 21 | 22 | public override Identifier Identifier => new("ocelot"); 23 | 24 | public bool IsTrusting { get; set; } = false; 25 | 26 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/Pig.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Ageable; 5 | 6 | public class Pig : Animal 7 | { 8 | public override string Name => "Pig"; 9 | 10 | public override VarInt Type => 64; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.9, 0.9, 0.9); 21 | 22 | public override Identifier Identifier => new("pig"); 23 | 24 | public bool HasSaddle { get; set; } = false; 25 | 26 | /// 27 | /// Total time to boost with a carrot on a stick for 28 | /// 29 | public VarInt TimeToBoost { get; set; } = 0; 30 | 31 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/PolarBear.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Ageable; 5 | 6 | public class PolarBear : Animal 7 | { 8 | public override string Name => "Polar Bear"; 9 | 10 | public override VarInt Type => 68; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(1.4, 1.4, 1.4); 21 | 22 | public override Identifier Identifier => new("polar_bear"); 23 | 24 | public bool IsStandingUp { get; set; } = false; 25 | 26 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/Rabbit.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Ageable; 5 | 6 | public class Rabbit : Animal 7 | { 8 | public override string Name => "Rabbit"; 9 | 10 | public override VarInt Type => 71; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.4, 0.5, 0.4); 21 | 22 | public override Identifier Identifier => new("rabbit"); 23 | 24 | public VarInt RabbitType { get; set; } = 0; 25 | 26 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/SheepColor.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Ageable; 2 | 3 | public enum SheepColor : byte 4 | { 5 | White = 0, 6 | Orange = 1, 7 | Magenta = 2, 8 | LightBlue = 3, 9 | Yellow = 4, 10 | Lime = 5, 11 | Pink = 6, 12 | Gray = 7, 13 | LightGray = 8, 14 | Cyan = 9, 15 | Purple = 10, 16 | Blue = 11, 17 | Brown = 12, 18 | Green = 13, 19 | Red = 14, 20 | Black = 15 21 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/SkeletonHorse.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Ageable; 5 | 6 | public class SkeletonHorse : AbstractHorse 7 | { 8 | public override string Name => "Skeleton Horse"; 9 | 10 | public override VarInt Type => 79; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(1.39648, 1.6, 1.39648); 21 | 22 | public override Identifier Identifier => new("skeleton_horse"); 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/TraderLlama.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Ageable; 5 | 6 | public class TraderLlama : Llama 7 | { 8 | public override string Name => "Trader Llama"; 9 | 10 | public override VarInt Type => 94; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.9, 1.87, 0.9); 21 | 22 | public override Identifier Identifier => new("trader_llama"); 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/Turtle.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Ageable; 5 | 6 | public class Turtle : Animal 7 | { 8 | public override string Name => "Turtle"; 9 | 10 | public override VarInt Type => 96; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(1.2, 0.4, 1.2); 21 | 22 | public override Identifier Identifier => new("turtle"); 23 | 24 | public Position HomePos { get; set; } = new(0, 0, 0); 25 | 26 | public bool HasEgg { get; set; } = false; 27 | 28 | public bool IsLayingEgg { get; set; } = false; 29 | 30 | public Position TravelPos { get; set; } = new(0, 0, 0); 31 | 32 | public bool IsGoingHome { get; set; } = false; 33 | 34 | public bool IsTraveling { get; set; } = false; 35 | 36 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Ageable/ZombieHorse.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Ageable; 5 | 6 | public class ZombieHorse : AbstractHorse 7 | { 8 | public override string Name => "Zombie Horse"; 9 | 10 | public override VarInt Type => 108; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(1.39648, 1.6, 1.39648); 21 | 22 | public override Identifier Identifier => new("zombie_horse"); 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/ArmorType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace SmartBlocks.Entities.Living 8 | { 9 | public enum ArmorType : byte 10 | { 11 | Leather = 0x00, 12 | Gold = 0x01, 13 | Chain = 0x02, 14 | Iron = 0x03, 15 | Diamond = 0x04, 16 | Netherite = 0x05, 17 | TurtleShell = 0x06 // Helmets only 18 | } 19 | 20 | public enum ArmorPart : byte 21 | { 22 | Boots = 0x00, 23 | Legs = 0x01, 24 | Chest = 0x02, 25 | Helmet = 0x03 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Goat.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living; 5 | 6 | public class Goat : LivingEntity 7 | { 8 | public override string Name => "Goat"; 9 | 10 | public override VarInt Type => 34; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(1.3, 0.9, 1.3); 21 | 22 | public override Identifier Identifier => new("goat"); 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Mobs/AbstractFish.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Mobs; 2 | 3 | public abstract class AbstractFish : WaterAnimal 4 | { 5 | public override string Name => "Abstract Fish"; 6 | 7 | public override bool UseSpawnEntityOnly => false; 8 | 9 | public override bool UseSpawnPaintingOnly => false; 10 | 11 | public override bool UseSpawnXpOnly => false; 12 | 13 | public override bool AllowedSpawn => false; 14 | 15 | public bool FromBucket { get; set; } = false; 16 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Mobs/AbstractGolem.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Mobs; 2 | 3 | public abstract class AbstractGolem : PathFinderMob 4 | { 5 | public override string Name => "Abstract Golem"; 6 | 7 | public override bool UseSpawnEntityOnly => false; 8 | 9 | public override bool UseSpawnPaintingOnly => false; 10 | 11 | public override bool UseSpawnXpOnly => false; 12 | 13 | public override bool AllowedSpawn => false; 14 | 15 | public override BoundingBox BoundingBox => new(0.98, 0.98, 0.98); 16 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Mobs/AmbientCreature.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Mobs; 2 | 3 | public class AmbientCreature : Mob 4 | { 5 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Mobs/Bat.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Flags; 3 | using SmartBlocks.Utils; 4 | 5 | namespace SmartBlocks.Entities.Living.Mobs; 6 | 7 | public class Bat : AmbientCreature 8 | { 9 | public override string Name => "Bat"; 10 | 11 | public override VarInt Type => 4; 12 | 13 | public override bool UseSpawnEntityOnly => false; 14 | 15 | public override bool UseSpawnPaintingOnly => false; 16 | 17 | public override bool UseSpawnXpOnly => false; 18 | 19 | public override bool AllowedSpawn => true; 20 | 21 | public override BoundingBox BoundingBox => new(0.5, 0.9, 0.5); 22 | 23 | public override Identifier Identifier => "bat"; 24 | 25 | private byte _hanging = 0; 26 | public bool IsHanging 27 | { 28 | get => FlagsHelper.IsSet(_hanging, (byte) BatFlag.IsHanging); 29 | set 30 | { 31 | if (value) FlagsHelper.Set(ref _hanging, (byte) BatFlag.IsHanging); 32 | else FlagsHelper.Unset(ref _hanging, (byte) BatFlag.IsHanging); 33 | } 34 | } 35 | 36 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Mobs/Cod.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Living.Mobs; 4 | 5 | public class Cod : AbstractFish 6 | { 7 | public override string Name => "Cod"; 8 | 9 | public override VarInt Type => 11; 10 | 11 | public override bool UseSpawnEntityOnly => false; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.5, 0.3, 0.5); 20 | 21 | public override Identifier Identifier => "cod"; 22 | 23 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Mobs/Dolphin.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Living.Mobs; 4 | 5 | public class Dolphin : WaterAnimal 6 | { 7 | public override string Name => "Dolphin"; 8 | 9 | public override VarInt Type => 14; 10 | 11 | public override bool UseSpawnEntityOnly => false; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.9, 0.6, 0.9); 20 | 21 | public override Identifier Identifier => "dolphin"; 22 | 23 | public Position TreasurePos { get; set; } = new(0, 0, 0); 24 | 25 | public bool CanFindTreasure { get; set; } = false; 26 | 27 | public bool HasFish { get; set; } = false; 28 | 29 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Mobs/GlowSquid.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Living.Mobs; 4 | 5 | public class GlowSquid : Squid 6 | { 7 | public override string Name => "Glow Squid"; 8 | 9 | public override VarInt Type => 33; 10 | 11 | public override bool UseSpawnEntityOnly => false; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.8, 0.8, 0.8); 20 | 21 | public override Identifier Identifier => new("glow_squid"); 22 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Mobs/Memories/Brain.cs: -------------------------------------------------------------------------------- 1 | using SmartNbt; 2 | using SmartNbt.Tags; 3 | 4 | namespace SmartBlocks.Entities.Living.Mobs.Memories 5 | { 6 | public class Brain : ITagProvider 7 | { 8 | public List Memories { get; set; } 9 | 10 | public void AddMemory(Memory memory) 11 | { 12 | Memories.Add(memory); 13 | } 14 | 15 | public NbtTag Tag 16 | { 17 | get 18 | { 19 | NbtCompound memories = new("memories"); 20 | foreach (Memory mem in Memories) 21 | { 22 | memories.Add(mem.Tag); 23 | } 24 | 25 | return new NbtCompound("Brain", memories); 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Mobs/PathFinderMob.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Mobs; 2 | 3 | public class PathFinderMob : Mob 4 | { 5 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Mobs/PufferFish.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Living.Mobs; 4 | 5 | public class PufferFish : AbstractFish 6 | { 7 | public override string Name => "Pufferfish"; 8 | 9 | public override VarInt Type => 70; 10 | 11 | public override bool UseSpawnEntityOnly => false; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.7, 0.7, 0.7); 20 | 21 | public override Identifier Identifier => new("pufferfish"); 22 | 23 | /// 24 | /// Varies from 0 to 2 25 | /// 26 | public VarInt PuffState { get; set; } = 0; 27 | 28 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Mobs/Salmon.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Living.Mobs; 4 | 5 | public class Salmon : AbstractFish 6 | { 7 | public override string Name => "Salmon"; 8 | 9 | public override VarInt Type => 73; 10 | 11 | public override bool UseSpawnEntityOnly => false; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.7, 0.4, 0.7); 20 | 21 | public override Identifier Identifier => new("salmon"); 22 | 23 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Mobs/Squid.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Living.Mobs; 4 | 5 | public class Squid : WaterAnimal 6 | { 7 | public override string Name => "Squid"; 8 | 9 | public override VarInt Type => 86; 10 | 11 | public override bool UseSpawnEntityOnly => false; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.8, 0.8, 0.8); 20 | 21 | public override Identifier Identifier => new("squid"); 22 | 23 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Mobs/TropicalFish.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Living.Mobs; 4 | 5 | public class TropicalFish : AbstractFish 6 | { 7 | public override string Name => "Tropical Fish"; 8 | 9 | public override VarInt Type => 95; 10 | 11 | public override bool UseSpawnEntityOnly => false; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.5, 0.4, 0.5); 20 | 21 | public override Identifier Identifier => new("tropical_fish"); 22 | 23 | public VarInt Variant { get; set; } = 0; 24 | 25 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Mobs/WaterAnimal.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Mobs; 2 | 3 | public class WaterAnimal : PathFinderMob 4 | { 5 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/AbstractIllager.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Monsters; 2 | 3 | public abstract class AbstractIllager : Raider 4 | { 5 | public override string Name => "Abstract Illager"; 6 | 7 | public override bool UseSpawnEntityOnly => false; 8 | 9 | public override bool UseSpawnPaintingOnly => false; 10 | 11 | public override bool UseSpawnXpOnly => false; 12 | 13 | public override bool AllowedSpawn => false; 14 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/AbstractSkeleton.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Monsters; 2 | 3 | public abstract class AbstractSkeleton : Monster 4 | { 5 | public override string Name => "Abstract Skeleton"; 6 | 7 | public override bool UseSpawnEntityOnly => true; 8 | 9 | public override bool UseSpawnPaintingOnly => false; 10 | 11 | public override bool UseSpawnXpOnly => false; 12 | 13 | public override bool AllowedSpawn => false; 14 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/BasePiglin.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Monsters; 2 | 3 | public class BasePiglin : Monster 4 | { 5 | public bool IsZombieImmune { get; set; } 6 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/CaveSpider.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class CaveSpider : Spider 7 | { 8 | public override string Name => "Cave Spider"; 9 | 10 | public override VarInt Type => 9; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.7, 0.5, 0.7); 21 | 22 | public override Identifier Identifier => "cave_spider"; 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Creeper.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Creeper : Monster 7 | { 8 | public override string Name => "Creeper"; 9 | 10 | public override VarInt Type => 13; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.6, 1.7, 0.6); 21 | 22 | public override Identifier Identifier => "creeper"; 23 | 24 | public CreeperState State { get; set; } = CreeperState.Idle; 25 | 26 | public bool IsCharged { get; set; } = false; 27 | 28 | public bool IsIgnited { get; set; } = false; 29 | 30 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/CreeperState.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Monsters; 2 | 3 | public enum CreeperState 4 | { 5 | Idle = -1, 6 | Fuse = 1 7 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/DragonPhase.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Monsters; 2 | 3 | public enum DragonPhase 4 | { 5 | Circling = 0, 6 | Strafing = 1, 7 | FlyingToPortalToLand = 2, 8 | LandingOnPortal = 3, 9 | TakingOffFromPortal = 4, 10 | LandedBreathAttack = 5, 11 | LandedLookingForPlayer = 6, 12 | LandedRoarBeforeBreathAttack = 7, 13 | ChargingPlayer = 8, 14 | FlyingToDie = 9, 15 | HoveringNoAi = 10 16 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Drowned.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Drowned : Zombie 7 | { 8 | public override string Name => "Drowned"; 9 | 10 | public override VarInt Type => 17; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.6, 1.95, 0.6); 21 | 22 | public override Identifier Identifier => "drowned"; 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/ElderGuardian.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class ElderGuardian : Guardian 7 | { 8 | public override string Name => "Elder Guardian"; 9 | 10 | public override VarInt Type => 18; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(1.9975, 1.9975, 1.9975); 21 | 22 | public override Identifier Identifier => "elder_guardian"; 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/EnderDragon.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class EnderDragon : Mob 7 | { 8 | public override string Name => "Ender Dragon"; 9 | 10 | public override VarInt Type => 20; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new (16.0, 8.0, 16.0); 21 | 22 | public override Identifier Identifier => "ender_dragon"; 23 | 24 | public DragonPhase Phase { get; set; } = DragonPhase.HoveringNoAi; 25 | 26 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Endermite.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Endermite : Monster 7 | { 8 | public override string Name => "Endermite"; 9 | 10 | public override VarInt Type => 22; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.4, 0.3, 0.4); 21 | 22 | public override Identifier Identifier => "endermite"; 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Evoker.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Evoker : SpellCasterIllager 7 | { 8 | public override string Name => "Evoker"; 9 | 10 | public override VarInt Type => 23; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.6, 1.95, 0.6); 21 | 22 | public override Identifier Identifier => "evoker"; 23 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/EvokerFangs.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Living.Monsters; 4 | 5 | public class EvokerFangs : Entity 6 | { 7 | public override string Name => "Evoker"; 8 | 9 | public override VarInt Type => 24; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.5, 0.8, 0.5); 20 | 21 | public override Identifier Identifier => "evoker_fangs"; 22 | public override void Spawn() 23 | { 24 | throw new NotImplementedException(); 25 | } 26 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Flying.cs: -------------------------------------------------------------------------------- 1 | using SmartBlocks.Entities.Living.Mobs; 2 | 3 | namespace SmartBlocks.Entities.Living.Monsters; 4 | 5 | public class Flying : Mob 6 | { 7 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Ghast.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Ghast : Flying 7 | { 8 | public override string Name => "Ghast"; 9 | 10 | public override VarInt Type => 30; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(4.0, 4.0, 4.0); 21 | 22 | public override Identifier Identifier => new("ghast"); 23 | 24 | public bool IsAttacking { get; set; } = false; 25 | 26 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Giant.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Giant : Monster 7 | { 8 | public override string Name => "Giant"; 9 | 10 | public override VarInt Type => 31; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(3.6, 12.0, 3.6); 21 | 22 | public override Identifier Identifier => new("giant"); 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Guardian.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Guardian : Monster 7 | { 8 | public override string Name => "Guardian"; 9 | 10 | public override VarInt Type => 35; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.85, 0.85, 0.85); 21 | 22 | public override Identifier Identifier => new("guardian"); 23 | 24 | public bool IsRetractingSpikes { get; set; } = false; 25 | 26 | public VarInt Target { get; set; } 27 | 28 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Husk.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Husk : Zombie 7 | { 8 | public override string Name => "Husk"; 9 | 10 | public override VarInt Type => 38; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.6, 1.95, 0.6); 21 | 22 | public override Identifier Identifier => new("husk"); 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/IllagerSpell.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Monsters; 2 | 3 | public enum IllagerSpell : byte 4 | { 5 | None = 0, 6 | SummonVex = 1, 7 | Attack = 2, 8 | Wololo = 3, 9 | Disappear = 4, 10 | Blindness = 5 11 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Illusioner.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Illusioner : SpellCasterIllager 7 | { 8 | public override string Name => "Illusioner"; 9 | 10 | public override VarInt Type => 39; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.6, 1.95, 0.6); 21 | 22 | public override Identifier Identifier => new("illusioner"); 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/MagmaCube.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class MagmaCube : Monster 7 | { 8 | public override string Name => "Magma Cube"; 9 | 10 | public override VarInt Type => 48; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | private const double Multiplier = 0.51000005; 21 | 22 | public override BoundingBox BoundingBox => new( 23 | Multiplier * Size, Multiplier * Size, Multiplier * Size 24 | ); 25 | 26 | public override Identifier Identifier => new("magma_cube"); 27 | 28 | public double Size { get; set; } 29 | 30 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Monster.cs: -------------------------------------------------------------------------------- 1 | using SmartBlocks.Entities.Living.Mobs; 2 | 3 | namespace SmartBlocks.Entities.Living.Monsters; 4 | 5 | public class Monster : PathFinderMob 6 | { 7 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Phantom.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Living.Monsters; 4 | 5 | public class Phantom : Flying 6 | { 7 | public override string Name => "Phantom"; 8 | 9 | public override VarInt Type => 63; 10 | 11 | public override bool UseSpawnEntityOnly => false; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.9, 0.5, 0.9); 20 | 21 | public override Identifier Identifier => new("phantom"); 22 | 23 | public VarInt Size { get; set; } = 0; 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Piglin.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Piglin : BasePiglin 7 | { 8 | public override string Name => "Piglin"; 9 | 10 | public override VarInt Type => 65; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.6, 0.9, 0.6); 21 | 22 | public override Identifier Identifier => new("piglin"); 23 | 24 | public bool IsBaby { get; set; } = false; 25 | 26 | public bool IsChargingCrossbow { get; set; } = false; 27 | 28 | public bool IsDancing { get; set; } = false; 29 | 30 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/PiglinBrute.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Living.Monsters; 4 | 5 | public class PiglinBrute : BasePiglin 6 | { 7 | public override string Name => "Piglin Brute"; 8 | 9 | public override VarInt Type => 66; // 66? Order 66? 10 | 11 | public override bool UseSpawnEntityOnly => false; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.6, 1.95, 0.6); 20 | 21 | public override Identifier Identifier => new("piglin_brute"); 22 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Pillager.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Pillager : AbstractIllager 7 | { 8 | public override string Name => "Pillager"; 9 | 10 | public override VarInt Type => 67; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.6, 1.95, 0.6); 21 | 22 | public override Identifier Identifier => new("pillager"); 23 | 24 | public bool IsCharging { get; set; } = false; 25 | 26 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Raider.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Monsters; 2 | 3 | public class Raider : Monster 4 | { 5 | public bool IsCelebrating { get; set; } = false; 6 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Ravager.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Ravager : Raider 7 | { 8 | public override string Name => "Ravager"; 9 | 10 | public override VarInt Type => 72; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(1.95, 2.2, 1.95); 21 | 22 | public override Identifier Identifier => new("ravager"); 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Silverfish.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Silverfish : Monster 7 | { 8 | public override string Name => "Silverfish"; 9 | 10 | public override VarInt Type => 77; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.4, 0.3, 0.4); 21 | 22 | public override Identifier Identifier => new("silverfish"); 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Skeleton.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Skeleton : AbstractSkeleton 7 | { 8 | public override string Name => "Skeleton"; 9 | 10 | public override VarInt Type => 78; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.6, 1.99, 0.6); 21 | 22 | public override Identifier Identifier => new("skeleton"); 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Slime.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Slime : Mob 7 | { 8 | public override string Name => "Slime"; 9 | 10 | public override VarInt Type => 80; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | private const double Multiplier = 0.51000005; 21 | 22 | public override BoundingBox BoundingBox => new( 23 | Multiplier * Size, Multiplier * Size, Multiplier * Size 24 | ); 25 | 26 | public override Identifier Identifier => new("slime"); 27 | 28 | public VarInt Size { get; set; } 29 | 30 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/SpellCasterIllager.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Monsters; 2 | 3 | public class SpellCasterIllager : AbstractIllager 4 | { 5 | public IllagerSpell Spell { get; set; } = 0; 6 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Stray.cs: -------------------------------------------------------------------------------- 1 | using java.util.jar; 2 | using MinecraftTypes; 3 | using SmartBlocks.Entities.Living.Mobs; 4 | 5 | namespace SmartBlocks.Entities.Living.Monsters; 6 | 7 | public class Stray : AbstractSkeleton 8 | { 9 | public override string Name => "Stray"; 10 | 11 | public override VarInt Type => 87; 12 | 13 | public override bool UseSpawnEntityOnly => false; 14 | 15 | public override bool UseSpawnPaintingOnly => false; 16 | 17 | public override bool UseSpawnXpOnly => false; 18 | 19 | public override bool AllowedSpawn => true; 20 | 21 | public override BoundingBox BoundingBox => new(0.6, 1.99, 0.6); 22 | 23 | public override Identifier Identifier => new("stray"); 24 | 25 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Vindicator.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Vindicator : AbstractIllager 7 | { 8 | public override string Name => "Vindicator"; 9 | 10 | public override VarInt Type => 99; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.6, 1.95, 0.6); 21 | 22 | public override Identifier Identifier => new("vindicator"); 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Witch.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Witch : Raider 7 | { 8 | public override string Name => "Witch"; 9 | 10 | public override VarInt Type => 101; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.6, 1.95, 0.6); 21 | 22 | public override Identifier Identifier => new("witch"); 23 | 24 | public bool IsDrinkingPotion { get; set; } = false; 25 | 26 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Wither.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Wither : Monster 7 | { 8 | public override string Name => "Wither"; 9 | 10 | public override VarInt Type => 102; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.9, 3.5, 0.9); 21 | 22 | public override Identifier Identifier => new("wither"); 23 | 24 | public VarInt CenterHeadTarget { get; set; } = 0; 25 | 26 | public VarInt LeftHeadTarget { get; set; } = 0; 27 | 28 | public VarInt RightHeadTarget { get; set; } = 0; 29 | 30 | public VarInt InvulnerableTime { get; set; } = 0; 31 | 32 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/WitherSkeleton.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class WitherSkeleton : AbstractSkeleton 7 | { 8 | public override string Name => "Wither Skeleton"; 9 | 10 | public override VarInt Type => 103; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.7, 2.4, 0.7); 21 | 22 | public override Identifier Identifier => new("wither_skeleton"); 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/Zoglin.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Monsters; 5 | 6 | public class Zoglin : Monster 7 | { 8 | public override string Name => "Zoglin"; 9 | 10 | public override VarInt Type => 106; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(1.39648, 1.4, 1.39648); 21 | 22 | public override Identifier Identifier => new("wither_skull"); 23 | 24 | public bool IsBaby { get; set; } = false; 25 | 26 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/ZombieVillager.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | using SmartBlocks.Entities.Living.Villagers; 4 | 5 | namespace SmartBlocks.Entities.Living.Monsters; 6 | 7 | public class ZombieVillager : Zombie 8 | { 9 | public override string Name => "Zombie Villager"; 10 | 11 | public override VarInt Type => 109; 12 | 13 | public override bool UseSpawnEntityOnly => false; 14 | 15 | public override bool UseSpawnPaintingOnly => false; 16 | 17 | public override bool UseSpawnXpOnly => false; 18 | 19 | public override bool AllowedSpawn => true; 20 | 21 | public override BoundingBox BoundingBox => new(0.6, 1.95, 0.6); 22 | 23 | public override Identifier Identifier => new("zombie_villager"); 24 | 25 | public bool IsConverting { get; set; } = false; 26 | 27 | public VillagerData Data { get; set; } 28 | = new(VillagerType.Plains, VillagerJob.None, 1); 29 | 30 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Monsters/ZombifiedPiglin.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Attributes; 3 | using SmartBlocks.Entities.Living.Mobs; 4 | 5 | namespace SmartBlocks.Entities.Living.Monsters; 6 | 7 | public class ZombifiedPiglin : Zombie 8 | { 9 | public override string Name => "Zombified Piglin"; 10 | 11 | public override VarInt Type => 110; 12 | 13 | public override bool UseSpawnEntityOnly => false; 14 | 15 | public override bool UseSpawnPaintingOnly => false; 16 | 17 | public override bool UseSpawnXpOnly => false; 18 | 19 | public override bool AllowedSpawn => true; 20 | 21 | public override BoundingBox BoundingBox => new(0.6, 1.8, 0.6); 22 | 23 | public override Identifier Identifier => new("zombified_piglin"); 24 | 25 | public void ApplyAttackSpeedBoost() 26 | { 27 | var mod = AttributeModifier.AttackingSpeedBoost; 28 | mod.Value = 0.45; 29 | Attributes["generic.movement_speed"].Modifiers.Add(mod); 30 | } 31 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Tameable/Cat.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Tameable; 5 | 6 | public class Cat : TameableAnimal 7 | { 8 | public override string Name => "Cat"; 9 | 10 | public override VarInt Type => 8; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.6, 0.7, 0.6); 21 | 22 | public override Identifier Identifier => "cat"; 23 | 24 | public VarInt CatType { get; set; } = 1; 25 | 26 | public bool IsLying { get; set; } = false; 27 | 28 | public bool IsRelaxed { get; set; } = false; 29 | 30 | public VarInt CollarColor { get; set; } = 14; 31 | 32 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Tameable/CatVariant.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Tameable; 2 | 3 | public enum CatVariant 4 | { 5 | Tabby = 0, 6 | Black = 1, 7 | Red = 2, 8 | Siamese = 3, 9 | BritishShorthair = 4, 10 | Calico = 5, 11 | Persian = 6, 12 | Ragdoll = 7, 13 | White = 8, 14 | Jellie = 9, 15 | AllBlack = 10 16 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Tameable/ParrotVariant.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Tameable; 2 | 3 | public enum ParrotVariant 4 | { 5 | RedBlue = 0, 6 | Blue = 1, 7 | Green = 2, 8 | YellowBlue = 3, 9 | Grey = 4 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Tameable/TameableAnimal.cs: -------------------------------------------------------------------------------- 1 | using java.util; 2 | using MinecraftTypes; 3 | using SmartBlocks.Entities.Living.Ageable; 4 | using SmartBlocks.Utils; 5 | 6 | namespace SmartBlocks.Entities.Living.Tameable; 7 | 8 | public class TameableAnimal : Animal 9 | { 10 | private byte _animal = 0; 11 | 12 | public bool IsSitting 13 | { 14 | get => FlagsHelper.IsSet(_animal, (byte) TameableFlag.Sitting); 15 | set 16 | { 17 | if (value) FlagsHelper.Set(ref _animal, (byte) TameableFlag.Sitting); 18 | else FlagsHelper.Unset(ref _animal, (byte) TameableFlag.Sitting); 19 | } 20 | } 21 | 22 | public bool IsTamed 23 | { 24 | get => FlagsHelper.IsSet(_animal, (byte)TameableFlag.Tamed); 25 | set 26 | { 27 | if (value) FlagsHelper.Set(ref _animal, (byte)TameableFlag.Tamed); 28 | else FlagsHelper.Unset(ref _animal, (byte)TameableFlag.Tamed); 29 | } 30 | } 31 | 32 | public OptObject Owner { get; set; } 33 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Tameable/TameableFlag.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Tameable; 2 | 3 | public enum TameableFlag : byte 4 | { 5 | Sitting = 0x01, 6 | Unused = 0x02, 7 | Tamed = 0x04 8 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Tameable/Wolf.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Tameable; 5 | 6 | public class Wolf : TameableAnimal 7 | { 8 | public override string Name => "Wolf"; 9 | 10 | public override VarInt Type => 105; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.6, 0.85, 0.6); 21 | 22 | public override Identifier Identifier => new("wolf"); 23 | 24 | public bool IsBegging { get; set; } 25 | 26 | public VarInt CollarColor { get; set; } = 14; 27 | 28 | public VarInt AngerTime { get; set; } = 0; 29 | 30 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Villagers/AbstractVillager.cs: -------------------------------------------------------------------------------- 1 | using Medallion; 2 | using MinecraftTypes; 3 | using SmartBlocks.Entities.Living.Ageable; 4 | using SmartBlocks.Entities.Living.Mobs; 5 | using java.util; 6 | 7 | namespace SmartBlocks.Entities.Living.Villagers; 8 | 9 | public abstract class AbstractVillager : AgeableMob 10 | { 11 | public override string Name => "Abstract Villager"; 12 | 13 | public override bool UseSpawnEntityOnly => false; 14 | 15 | public override bool UseSpawnPaintingOnly => false; 16 | 17 | public override bool UseSpawnXpOnly => false; 18 | 19 | public override bool AllowedSpawn => false; 20 | 21 | /// 22 | /// Starts at 40, decrements each tick 23 | /// 24 | public VarInt HeadShakeTimer { get; set; } = 0; 25 | 26 | public void AddRndSpawnBonusKnocback(double value = -1) 27 | { 28 | } 29 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Villagers/VillagerData.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Living.Villagers; 4 | 5 | public class VillagerData 6 | { 7 | public VillagerType Type { get; set; } 8 | 9 | public VillagerJob Job { get; set; } 10 | 11 | public VarInt Level { get; set; } 12 | 13 | public VillagerData(VillagerType type, VillagerJob job, VarInt level) 14 | { 15 | Type = type; 16 | Job = job; 17 | Level = level; 18 | } 19 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Villagers/VillagerJob.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Villagers; 2 | 3 | public enum VillagerJob 4 | { 5 | None = 0, // bums 6 | Armorer = 1, 7 | Butcher = 2, 8 | Cartographer = 3, 9 | Cleric = 4, 10 | Farmer = 5, 11 | Fisherman = 6, 12 | Fletcher = 7, 13 | Leatherworker = 8, 14 | Librarian = 9, 15 | Mason = 10, 16 | Nitwit = 11, // hahaha 17 | Shepherd = 12, 18 | Toolsmith = 13, 19 | Weaponsmith = 14 20 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Villagers/VillagerType.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Living.Villagers; 2 | 3 | public enum VillagerType 4 | { 5 | Desert = 0, 6 | Jungle = 1, 7 | Plains = 2, 8 | Savanna = 3, 9 | Snow = 4, 10 | Swamp = 5, 11 | Taiga = 6 12 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Villagers/WanderingTrader.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | using SmartBlocks.Entities.Living.Mobs; 3 | 4 | namespace SmartBlocks.Entities.Living.Villagers; 5 | 6 | public class WanderingTrader : AbstractVillager 7 | { 8 | public override string Name => "Wandering Trader"; 9 | 10 | public override VarInt Type => 100; 11 | 12 | public override bool UseSpawnEntityOnly => false; 13 | 14 | public override bool UseSpawnPaintingOnly => false; 15 | 16 | public override bool UseSpawnXpOnly => false; 17 | 18 | public override bool AllowedSpawn => true; 19 | 20 | public override BoundingBox BoundingBox => new(0.6, 1.95, 0.6); 21 | 22 | public override Identifier Identifier => new("wandering_trader"); 23 | 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Weapons/TridentDamageLevel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace SmartBlocks.Entities.Living.Weapons 8 | { 9 | public enum TridentDamageLevel : byte 10 | { 11 | Melee = 0x00, 12 | MeleeCritical = 0x01, 13 | Range = 0x02 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /SmartBlocks/Entities/Living/Weapons/WeaponTier.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace SmartBlocks.Entities.Living.Weapons 8 | { 9 | public enum WeaponTier 10 | { 11 | Wooden = 0, 12 | Stone = 1, 13 | Iron = 2, 14 | Golden = 3, 15 | Diamond = 4, 16 | Netherite = 5 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SmartBlocks/Entities/LlamaSpit.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class LlamaSpit : Entity 6 | { 7 | public override string Name => "Llama Spit"; 8 | 9 | public override VarInt Type => 47; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.25, 0.25, 0.25); 20 | 21 | public override Identifier Identifier => new("llama_spit"); 22 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Marker.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class Marker : Entity 6 | { 7 | public override string Name => "Marker"; 8 | 9 | public override VarInt Type => 49; 10 | 11 | public override bool UseSpawnEntityOnly => false; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => false; 18 | 19 | public override BoundingBox BoundingBox => new(0, 0, 0); 20 | 21 | public override Identifier Identifier => new("marker"); 22 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Minecarts/AbstractMinecart.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Minecarts; 4 | 5 | public abstract class AbstractMinecart : Entity 6 | { 7 | public override string Name => "Abstract Minecart"; 8 | 9 | public override bool UseSpawnEntityOnly => false; 10 | 11 | public override bool UseSpawnPaintingOnly => false; 12 | 13 | public override bool UseSpawnXpOnly => false; 14 | 15 | public override bool AllowedSpawn => false; 16 | 17 | public VarInt ShakingPower { get; set; } = 0; 18 | 19 | public VarInt ShakingDirection { get; set; } = 1; 20 | 21 | public float ShakingMultiplier { get; set; } = 0.0f; 22 | 23 | public VarInt CustomBlockIdDamange { get; set; } = 0; 24 | 25 | public VarInt CustomBlockYPos { get; set; } = 6; 26 | 27 | public bool ShowCustomBlock { get; set; } = false; 28 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Minecarts/AbstractMinecartContainer.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities.Minecarts; 2 | 3 | public abstract class AbstractMinecartContainer : AbstractMinecart 4 | { 5 | public override string Name => "Abstract Minecart Container"; 6 | 7 | public override bool UseSpawnEntityOnly => false; 8 | 9 | public override bool UseSpawnPaintingOnly => false; 10 | 11 | public override bool UseSpawnXpOnly => false; 12 | 13 | public override bool AllowedSpawn => false; 14 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Minecarts/ExplosiveMinecart.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Minecarts; 4 | 5 | /// 6 | /// Minecart with TNT 7 | /// 8 | public class ExplosiveMinecart : AbstractMinecart 9 | { 10 | public override string Name => "Minecart TNT"; 11 | 12 | public override VarInt Type => 56; 13 | 14 | public override bool UseSpawnEntityOnly => true; 15 | 16 | public override bool UseSpawnPaintingOnly => false; 17 | 18 | public override bool UseSpawnXpOnly => false; 19 | 20 | public override bool AllowedSpawn => true; 21 | 22 | public override BoundingBox BoundingBox => new(0.98, 0.7, 0.98); 23 | 24 | public override Identifier Identifier => new("tnt_minecart"); 25 | public override void Spawn() 26 | { 27 | throw new NotImplementedException(); 28 | } 29 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Minecarts/Minecart.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Minecarts; 4 | 5 | public class Minecart : AbstractMinecart 6 | { 7 | public override string Name => "Minecart"; 8 | 9 | public override VarInt Type => 50; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.98, 0.7, 0.98); 20 | 21 | public override Identifier Identifier => new("minecart"); 22 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Minecarts/MinecartChest.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Minecarts; 4 | 5 | public class MinecartChest : AbstractMinecartContainer 6 | { 7 | public override string Name => "Minecart Chest"; 8 | 9 | public override VarInt Type => 51; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.98, 0.7, 0.98); 20 | 21 | public override Identifier Identifier => new("chest_minecart"); 22 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Minecarts/MinecartCommandBlock.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Minecarts; 4 | 5 | public class MinecartCommandBlock : AbstractMinecart 6 | { 7 | public override string Name => "Minecart Command Block"; 8 | 9 | public override VarInt Type => 52; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.98, 0.7, 0.98); 20 | 21 | public override Identifier Identifier => new("commandblock_minecart"); 22 | 23 | public string Command { get; set; } 24 | 25 | // todo public Chat LastOutput { get; set; } 26 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Minecarts/MinecartFurnace.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Minecarts; 4 | 5 | public class MinecartFurnace : AbstractMinecart 6 | { 7 | public override string Name => "Minecart Furnace"; 8 | 9 | public override VarInt Type => 53; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.98, 0.7, 0.98); 20 | 21 | public override Identifier Identifier => new("furnace_minecart"); 22 | 23 | public bool HasFuel { get; set; } = false; 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Minecarts/MinecartHopper.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Minecarts; 4 | 5 | public class MinecartHopper : AbstractMinecartContainer 6 | { 7 | public override string Name => "Minecart Hopper"; 8 | 9 | public override VarInt Type => 54; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.98, 0.7, 0.98); 20 | 21 | public override Identifier Identifier => new("furnace_minecart"); 22 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Minecarts/MinecartSpawner.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Minecarts; 4 | 5 | public class MinecartSpawner : AbstractMinecart 6 | { 7 | public override string Name => "Minecart Spawner"; 8 | 9 | public override VarInt Type => 55; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.98, 0.7, 0.98); 20 | 21 | public override Identifier Identifier => new("spawner_minecart"); 22 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/PaintingKind.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities; 2 | 3 | public enum PaintingKind : int 4 | { 5 | Kebab = 0, 6 | Aztec = 1, 7 | Alban = 2, 8 | Aztec2 = 3, 9 | Bomb = 4, 10 | Plant = 5, 11 | Wasteland = 6, 12 | Pool = 7, 13 | Corbet = 8, 14 | Sea = 9, 15 | Sunset = 10, 16 | Creebet = 11, 17 | Wanderer = 12, 18 | Graham = 13, 19 | Match = 14, 20 | Bust = 15, 21 | Stage = 16, 22 | Void = 17, 23 | SkullRoses = 18, 24 | Wither = 19, 25 | Fighters = 20, 26 | Pointer = 21, 27 | Pigscene = 22, 28 | BurningSkull = 23, 29 | Skeleton = 24, 30 | DonkeyKong = 25 31 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particle.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class Particle 6 | { 7 | public virtual VarInt Id { get; } 8 | 9 | public virtual Identifier Name { get; } 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/AmbientEntityEffect.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class AmbientEntityEffect : Particle 6 | { 7 | public override VarInt Id => 0; 8 | public override Identifier Name => "ambient_entity_effect"; 9 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/AngryVillager.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class AngryVillager : Particle 6 | { 7 | public override VarInt Id => 1; 8 | 9 | public override Identifier Name => "angry_villager"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Ash.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Ash : Particle 6 | { 7 | public override VarInt Id => 68; 8 | 9 | public override Identifier Name => "ash"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Barrier.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Barrier : Particle 6 | { 7 | public override VarInt Id => 2; 8 | 9 | public override Identifier Name => "barrier"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/BlockParticle.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class BlockParticle : Particle 6 | { 7 | public override VarInt Id => 4; 8 | 9 | public override Identifier Name => "block"; 10 | 11 | public VarInt BlockState { get; set; } 12 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Bubble.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Bubble : Particle 6 | { 7 | public override VarInt Id => 5; 8 | 9 | public override Identifier Name => "bubble"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/BubbleColumnUp.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class BubbleColumnUp : Particle 6 | { 7 | public override VarInt Id => 58; 8 | 9 | public override Identifier Name => "bubble_column_up"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/BubblePop.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class BubblePop : Particle 6 | { 7 | public override VarInt Id => 56; 8 | 9 | public override Identifier Name => "bubble_pop"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/CampfireCosySmoke.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class CampfireCosySmoke : Particle 6 | { 7 | public override VarInt Id => 61; 8 | 9 | public override Identifier Name => "campfire_cosy_smoke"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/CampfireSignalSmoke.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class CampfireSignalSmoke : Particle 6 | { 7 | public override VarInt Id => 62; 8 | 9 | public override Identifier Name => "campfire_signal_smoke"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Cloud.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Cloud : Particle 6 | { 7 | public override VarInt Id => 6; 8 | 9 | public override Identifier Name => "cloud"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Composter.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Composter : Particle 6 | { 7 | public override VarInt Id => 33; 8 | 9 | public override Identifier Name => "composter"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/CrimsonSpore.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class CrimsonSpore : Particle 6 | { 7 | public override VarInt Id => 69; 8 | 9 | public override Identifier Name => "crimson_spore"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Crit.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Crit : Particle 6 | { 7 | public override VarInt Id => 7; 8 | 9 | public override Identifier Name => "crit"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/CurrentDown.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class CurrentDown : Particle 6 | { 7 | public override VarInt Id => 57; 8 | 9 | public override Identifier Name => "current_down"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/DamageIndicator.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class DamageIndicator : Particle 6 | { 7 | public override VarInt Id => 8; 8 | 9 | public override Identifier Name => "damage_indicator"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Dolphin.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Dolphin : Particle 6 | { 7 | public override VarInt Id => 60; 8 | 9 | public override Identifier Name => "dolphin"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/DragonBreath.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class DragonBreath : Particle 6 | { 7 | public override VarInt Id => 9; 8 | 9 | public override Identifier Name => "dragon_breath"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/DrippingDripstoneLava.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class DrippingDripstoneLava : Particle 6 | { 7 | public override VarInt Id => 79; 8 | 9 | public override Identifier Name => "dripping_dripstone_lava"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/DrippingDripstoneWater.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class DrippingDripstoneWater : Particle 6 | { 7 | public override VarInt Id => 81; 8 | 9 | public override Identifier Name => "dripping_dripstone_water"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/DrippingHoney.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class DrippingHoney : Particle 6 | { 7 | public override VarInt Id => 63; 8 | 9 | public override Identifier Name => "dripping_honey"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/DrippingLava.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class DrippingLava : Particle 6 | { 7 | public override VarInt Id => 10; 8 | 9 | public override Identifier Name => "dripping_lava"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/DrippingObsidianTear.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class DrippingObsidianTear : Particle 6 | { 7 | public override VarInt Id => 72; 8 | 9 | public override Identifier Name => "dripping_obsidian_tear"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/DrippingWater.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class DrippingWater : Particle 6 | { 7 | public override VarInt Id => 13; 8 | 9 | public override Identifier Name => "dripping_water"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Effect.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Effect : Particle 6 | { 7 | public override VarInt Id => 17; 8 | 9 | public override Identifier Name => "effect"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/ElderGuardian.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class ElderGuardian : Particle 6 | { 7 | public override VarInt Id => 18; 8 | 9 | public override Identifier Name => "elder_guardian"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/ElectricSpark.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class ElectricSpark : Particle 6 | { 7 | public override VarInt Id => 87; 8 | 9 | public override Identifier Name => "electric_spark"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Enchant.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Enchant : Particle 6 | { 7 | public override VarInt Id => 20; 8 | 9 | public override Identifier Name => "enchant"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/EnchantedHit.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class EnchantedHit : Particle 6 | { 7 | public override VarInt Id => 19; 8 | 9 | public override Identifier Name => "enchanted_hit"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/EndRod.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class EndRod : Particle 6 | { 7 | public override VarInt Id => 21; 8 | 9 | public override Identifier Name => "end_rod"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/EntityEffect.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class EntityEffect : Particle 6 | { 7 | public override VarInt Id => 22; 8 | 9 | public override Identifier Name => "entity_effect"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Explosion.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Explosion : Particle 6 | { 7 | public override VarInt Id => 24; 8 | 9 | public override Identifier Name => "explosion"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/ExplosionEmitter.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class ExplosionEmitter : Particle 6 | { 7 | public override VarInt Id => 23; 8 | 9 | public override Identifier Name => "explision_emitter"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/FallingDripstoneLava.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class FallingDripstoneLava : Particle 6 | { 7 | public override VarInt Id => 80; 8 | 9 | public override Identifier Name => "falling_dripstone_lava"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/FallingDripstoneWater.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class FallingDripstoneWater : Particle 6 | { 7 | public override VarInt Id => 82; 8 | 9 | public override Identifier Name => "falling_dripstone_water"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/FallingDust.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class FallingDust : Particle 6 | { 7 | public override VarInt Id => 25; 8 | 9 | public override Identifier Name => "falling_dust"; 10 | 11 | /// 12 | /// The ID of the block state 13 | /// 14 | public VarInt BlockState { get; set; } 15 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/FallingHoney.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class FallingHoney : Particle 6 | { 7 | public override VarInt Id => 64; 8 | 9 | public override Identifier Name => "falling_honey"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/FallingLava.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class FallingLava : Particle 6 | { 7 | public override VarInt Id => 11; 8 | 9 | public override Identifier Name => "falling_lava"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/FallingNectar.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class FallingNectar : Particle 6 | { 7 | public override VarInt Id => 66; 8 | 9 | public override Identifier Name => "falling_nectar"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/FallingObsidianTear.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class FallingObsidianTear : Particle 6 | { 7 | public override VarInt Id => 73; 8 | 9 | public override Identifier Name => "falling_obsidian_tear"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/FallingSporeBlossom.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class FallingSporeBlossom : Particle 6 | { 7 | public override VarInt Id => 67; 8 | 9 | public override Identifier Name => "falling_spore_blossom"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/FallingWater.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class FallingWater : Particle 6 | { 7 | public override VarInt Id => 14; 8 | 9 | public override Identifier Name => "falling_water"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Firework.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Firework : Particle 6 | { 7 | public override VarInt Id => 26; 8 | 9 | public override Identifier Name => "firework"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Fishing.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Fishing : Particle 6 | { 7 | public override VarInt Id => 27; 8 | 9 | public override Identifier Name => "fishing"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Flame.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Flame : Particle 6 | { 7 | public override VarInt Id => 28; 8 | 9 | public override Identifier Name => "flame"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Flash.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Flash : Particle 6 | { 7 | public override VarInt Id => 31; 8 | 9 | public override Identifier Name => "flash"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Glow.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Glow : Particle 6 | { 7 | public override VarInt Id => 84; 8 | 9 | public override Identifier Name => "glow"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/GlowSquidInk.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class GlowSquidInk : Particle 6 | { 7 | public override VarInt Id => 83; 8 | 9 | public override Identifier Name => "glow_squid_ink"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/HappyVillager.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class HappyVillager : Particle 6 | { 7 | public override VarInt Id => 32; 8 | 9 | public override Identifier Name => "happy_villager"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Heart.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Heart : Particle 6 | { 7 | public override VarInt Id => 34; 8 | 9 | public override Identifier Name => "heart"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/InstantEffect.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class InstantEffect : Particle 6 | { 7 | public override VarInt Id => 35; 8 | 9 | public override Identifier Name => "instant_effect"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/ItemParticle.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class ItemParticle : Particle 6 | { 7 | public override VarInt Id => 36; 8 | 9 | public override Identifier Name => "item"; 10 | 11 | /// 12 | /// The item that will be used 13 | /// 14 | public Slot Item { get; set; } 15 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/ItemSlime.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class ItemSlime : Particle 6 | { 7 | public override VarInt Id => 38; 8 | 9 | public override Identifier Name => "item_slime"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/ItemSnowball.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class ItemSnowball : Particle 6 | { 7 | public override VarInt Id => 39; 8 | 9 | public override Identifier Name => "item_snowball"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/LandingHoney.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class LandingHoney : Particle 6 | { 7 | public override VarInt Id => 65; 8 | 9 | public override Identifier Name => "landing_honey"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/LandingLava.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class LandingLava : Particle 6 | { 7 | public override VarInt Id => 12; 8 | 9 | public override Identifier Name => "landing_lava"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/LandingObsidianTear.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class LandingObsidianTear : Particle 6 | { 7 | public override VarInt Id => 74; 8 | 9 | public override Identifier Name => "landing_obsidian_tear"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/LargeSmoke.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class LargeSmoke : Particle 6 | { 7 | public override VarInt Id => 40; 8 | 9 | public override Identifier Name => "large_smoke"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Lava.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Lava : Particle 6 | { 7 | public override VarInt Id => 41; 8 | 9 | public override Identifier Name => "lava"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Light.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Light : Particle 6 | { 7 | public override VarInt Id => 3; 8 | 9 | public override Identifier Name => "light"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Mycelium.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Mycelium : Particle 6 | { 7 | public override VarInt Id => 42; 8 | 9 | public override Identifier Name => "mycelium"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Nautilus.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Nautilus : Particle 6 | { 7 | public override VarInt Id => 59; 8 | 9 | public override Identifier Name => "nautilus"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Note.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Note : Particle 6 | { 7 | public override VarInt Id => 43; 8 | 9 | public override Identifier Name => "note"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Poof.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Poof : Particle 6 | { 7 | public override VarInt Id => 44; 8 | 9 | public override Identifier Name => "poof"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Portal.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Portal : Particle 6 | { 7 | public override VarInt Id => 45; 8 | 9 | public override Identifier Name => "portal"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Rain.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Rain : Particle 6 | { 7 | public override VarInt Id => 46; 8 | 9 | public override Identifier Name => "rain"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/ReversePortal.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class ReversePortal : Particle 6 | { 7 | public override VarInt Id => 75; 8 | 9 | public override Identifier Name => "reverse_portal"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Scrape.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Scrape : Particle 6 | { 7 | public override VarInt Id => 88; 8 | 9 | public override Identifier Name => "scrape"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/SmallFlame.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class SmallFlame : Particle 6 | { 7 | public override VarInt Id => 77; 8 | 9 | public override Identifier Name => "small_flame"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Smoke.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Smoke : Particle 6 | { 7 | public override VarInt Id => 47; 8 | 9 | public override Identifier Name => "smoke"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Sneeze.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Sneeze : Particle 6 | { 7 | public override VarInt Id => 48; 8 | 9 | public override Identifier Name => "sneeze"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Snowflake.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Snowflake : Particle 6 | { 7 | public override VarInt Id => 78; 8 | 9 | public override Identifier Name => "snowflake"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Soul.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Soul : Particle 6 | { 7 | public override VarInt Id => 30; 8 | 9 | public override Identifier Name => "soul"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/SoulFireFlame.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class SoulFireFlame : Particle 6 | { 7 | public override VarInt Id => 29; 8 | 9 | public override Identifier Name => "soul_fire_flame"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Spit.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Spit : Particle // Mojang... wanna talk about it? 6 | { 7 | public override VarInt Id => 49; 8 | 9 | public override Identifier Name => "spit"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Splash.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Splash : Particle 6 | { 7 | public override VarInt Id => 54; 8 | 9 | public override Identifier Name => "splash"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/SporeBlossomAir.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class SporeBlossomAir : Particle 6 | { 7 | public override VarInt Id => 71; 8 | 9 | public override Identifier Name => "spore_blossom_air"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/SquidInk.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class SquidInk : Particle 6 | { 7 | public override VarInt Id => 50; 8 | 9 | public override Identifier Name => "squid_ink"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/SweepAttack.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class SweepAttack : Particle 6 | { 7 | public override VarInt Id => 51; 8 | 9 | public override Identifier Name => "sweep_attack"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/TotemOfUndying.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class TotemOfUndying : Particle 6 | { 7 | public override VarInt Id => 52; 8 | 9 | public override Identifier Name => "totem_of_undying"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Underwater.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Underwater : Particle 6 | { 7 | public override VarInt Id => 53; 8 | 9 | public override Identifier Name => "underwater"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Vibration.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Vibration : Particle 6 | { 7 | public override VarInt Id => 37; 8 | 9 | public override Identifier Name => "vibration"; 10 | 11 | /// 12 | /// Starting coordinates 13 | /// 14 | public PosDouble Origin { get; set; } 15 | 16 | /// 17 | /// Ending coordinates 18 | /// 19 | public PosDouble Destination { get; set; } 20 | 21 | public int Ticks { get; set; } 22 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/WarpedSpore.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class WarpedSpore : Particle 6 | { 7 | public override VarInt Id => 70; 8 | 9 | public override Identifier Name => "warped_spore"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/WaxOff.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class WaxOff : Particle 6 | { 7 | public override VarInt Id => 86; 8 | 9 | public override Identifier Name => "wax_off"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/WaxOn.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class WaxOn : Particle 6 | { 7 | public override VarInt Id => 85; 8 | 9 | public override Identifier Name => "wax_on"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/WhiteAsh.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class WhiteAsh : Particle 6 | { 7 | public override VarInt Id => 76; 8 | 9 | public override Identifier Name => "white_ash"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Particles/Witch.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities.Particles; 4 | 5 | public class Witch : Particle 6 | { 7 | public override VarInt Id => 55; 8 | 9 | public override Identifier Name => "witch"; 10 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Pose.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Entities; 2 | 3 | public enum Pose 4 | { 5 | Standing = 0, 6 | FallFlying = 1, 7 | Sleeping = 2, 8 | Swimming = 3, 9 | SpinAttack = 4, 10 | Sneaking = 5, 11 | LongJumping = 6, 12 | Dying = 7 // oof 13 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/PrimedExplosive.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class PrimedExplosive : Entity 6 | { 7 | public override string Name => "Primed TNT"; 8 | 9 | public override VarInt Type => 69; // nice 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.98, 0.98, 0.98); 20 | 21 | public override Identifier Identifier => new("tnt"); 22 | 23 | public VarInt FuseTime { get; set; } = 80; 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/ShulkerBullet.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class ShulkerBullet : Entity 6 | { 7 | public override string Name => "Shulker Bullet"; 8 | 9 | public override VarInt Type => 76; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.3125, 0.3125, 0.3125); 20 | 21 | public override Identifier Identifier => new("shulker_bullet"); 22 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/SmallFireball.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class SmallFireball : Entity 6 | { 7 | public override string Name => "Small Fireball"; 8 | 9 | public override VarInt Type => 81; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.3125, 0.3125, 0.3125); 20 | 21 | public override Identifier Identifier => new("small_fireball"); 22 | 23 | public Slot Item { get; set; } 24 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/Snowball.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class Snowball : Entity 6 | { 7 | public override string Name => "Snowball"; 8 | 9 | public override VarInt Type => 83; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.25, 0.25, 0.25); 20 | 21 | public override Identifier Identifier => new("snowball"); 22 | public override void Spawn() 23 | { 24 | throw new NotImplementedException(); 25 | } 26 | 27 | public Slot Item { get; set; } 28 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/ThrownEgg.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class ThrownEgg : Entity 6 | { 7 | public override string Name => "Thrown Egg"; 8 | 9 | public override VarInt Type => 89; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.25, 0.25, 0.25); 20 | 21 | public override Identifier Identifier => new("egg"); 22 | 23 | /// 24 | /// Empty, (which behaves as if it were an egg) 25 | /// 26 | public Slot Item { get; set; } 27 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/ThrownEnderPearl.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class ThrownEnderPearl : Entity 6 | { 7 | public override string Name => "Thrown Ender Pearl"; 8 | 9 | public override VarInt Type => 90; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.25, 0.25, 0.25); 20 | 21 | public override Identifier Identifier => new("ender_pearl"); 22 | public override void Spawn() 23 | { 24 | throw new NotImplementedException(); 25 | } 26 | 27 | public Slot Item { get; set; } 28 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/ThrownExperienceBottle.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class ThrownExperienceBottle : Entity 6 | { 7 | public override string Name => "Thrown Experience Bottle"; 8 | 9 | public override VarInt Type => 91; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.25, 0.25, 0.25); 20 | 21 | public override Identifier Identifier => new("experience_bottle"); 22 | public override void Spawn() 23 | { 24 | throw new NotImplementedException(); 25 | } 26 | 27 | public Slot Item { get; set; } 28 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/ThrownPotion.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class ThrownPotion : Entity 6 | { 7 | public override string Name => "Thrown Potion"; 8 | 9 | public override VarInt Type => 92; 10 | 11 | public override bool UseSpawnEntityOnly => true; 12 | 13 | public override bool UseSpawnPaintingOnly => false; 14 | 15 | public override bool UseSpawnXpOnly => false; 16 | 17 | public override bool AllowedSpawn => true; 18 | 19 | public override BoundingBox BoundingBox => new(0.25, 0.25, 0.25); 20 | 21 | public override Identifier Identifier => new("potion"); 22 | public override void Spawn() 23 | { 24 | throw new NotImplementedException(); 25 | } 26 | 27 | public Slot Item { get; set; } 28 | } -------------------------------------------------------------------------------- /SmartBlocks/Entities/WitherSkull.cs: -------------------------------------------------------------------------------- 1 | using MinecraftTypes; 2 | 3 | namespace SmartBlocks.Entities; 4 | 5 | public class WitherSkull : Entity 6 | { 7 | public override string Name => "Wither Skull"; 8 | 9 | public override bool UseSpawnEntityOnly => true; 10 | 11 | public override bool UseSpawnPaintingOnly => false; 12 | 13 | public override bool UseSpawnXpOnly => false; 14 | 15 | public override bool AllowedSpawn => true; 16 | 17 | public override BoundingBox BoundingBox => new(0.3125, 0.3125, 0.3125); 18 | 19 | public override Identifier Identifier => new("wither_skull"); 20 | 21 | public bool IsInvulnerable { get; set; } = false; 22 | } -------------------------------------------------------------------------------- /SmartBlocks/Generators/GenType.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Generators; 2 | 3 | public enum GenType : byte 4 | { 5 | Flat = 0x00, 6 | Normal = 0x01, 7 | Amplified = 0x02, 8 | LargeBiomes = 0x03, 9 | AmplifiedLargeBiomes = 0x04, 10 | TheNether = 0x05, 11 | TheEnd = 0x06 12 | } -------------------------------------------------------------------------------- /SmartBlocks/Generators/IGenerator.cs: -------------------------------------------------------------------------------- 1 | using SmartBlocks.Worlds; 2 | using SmartNbt; 3 | 4 | namespace SmartBlocks.Generators; 5 | 6 | public interface IGenerator : ITagProvider 7 | { 8 | GenType Type { get; } 9 | 10 | Dimension Dimension { get; } 11 | 12 | long Seed { get; set; } 13 | } -------------------------------------------------------------------------------- /SmartBlocks/SmartBlocks.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /SmartBlocks/Utils/FlagsHelper.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Utils; 2 | 3 | internal static class FlagsHelper 4 | { 5 | public static bool IsSet(T flags, T flag) where T : struct 6 | { 7 | int flagsValue = (int)(object)flags; 8 | int flagValue = (int)(object)flag; 9 | 10 | return (flagsValue & flagValue) != 0; 11 | } 12 | 13 | public static void Set(ref T flags, T flag) where T : struct 14 | { 15 | int flagsValue = (int)(object)flags; 16 | int flagValue = (int)(object)flag; 17 | 18 | flags = (T)(object)(flagsValue | flagValue); 19 | } 20 | 21 | public static void Unset(ref T flags, T flag) where T : struct 22 | { 23 | int flagsValue = (int)(object)flags; 24 | int flagValue = (int)(object)flag; 25 | 26 | flags = (T)(object)(flagsValue & (~flagValue)); 27 | } 28 | } -------------------------------------------------------------------------------- /SmartBlocks/Utils/SkinPart.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Utils; 2 | 3 | public enum SkinPart : byte 4 | { 5 | CapeEnabled = 0x01, 6 | JacketEnabled = 0x02, 7 | LeftSleeveEnabled = 0x04, 8 | RightSleeveEnabled = 0x08, 9 | LeftPantsEnabled = 0x10, 10 | RightPantsEnabled = 0x20, 11 | HatEnabled = 0x40, 12 | Unused = 0x80 13 | } -------------------------------------------------------------------------------- /SmartBlocks/Worlds/ChunkBuffer.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Worlds; 2 | 3 | public class ChunkBuffer : MemoryStream 4 | { 5 | private readonly int _x, _z; 6 | private readonly RegionFile _parent; 7 | 8 | public ChunkBuffer(int x, int z, RegionFile parent) 9 | { 10 | _x = x; 11 | _z = z; 12 | _parent = parent; 13 | } 14 | 15 | public void Close() 16 | { 17 | _parent.Write(_x, _z, base.GetBuffer(), (int) Length); 18 | } 19 | } -------------------------------------------------------------------------------- /SmartBlocks/Worlds/DragonFight.cs: -------------------------------------------------------------------------------- 1 | using Medallion; 2 | 3 | namespace SmartBlocks.Worlds; 4 | 5 | public class DragonFight 6 | { 7 | public bool DragonKilled { get; set; } = false; 8 | 9 | public bool NeedsStateScanning { get; set; } = false; 10 | 11 | public bool PreviouslyKilled { get; set; } = false; 12 | 13 | private List? _gateways = null; 14 | 15 | public List Gateways 16 | { 17 | get 18 | { 19 | return _gateways ??= GenerateGateways(); 20 | } 21 | set => _gateways = value; 22 | } 23 | 24 | private List GenerateGateways() 25 | { 26 | List selected = new(); 27 | for (int x = 0; x <= 19; x++) 28 | { 29 | selected.Add(x); 30 | } 31 | selected.Shuffle(new Random(new Random().Next())); 32 | return selected; 33 | } 34 | } -------------------------------------------------------------------------------- /SmartBlocks/Worlds/ITagProvider.cs: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /SmartBlocks/Worlds/Raids/RaidList.cs: -------------------------------------------------------------------------------- 1 | using SmartNbt; 2 | using SmartNbt.Tags; 3 | 4 | namespace SmartBlocks.Worlds.Raids; 5 | 6 | public class RaidList : List, ITagProvider 7 | { 8 | public int NextAvailableId 9 | => this[Array.IndexOf(ToArray(), this.Min())].Id; 10 | 11 | public TimeSpan EternalClock { get; set; } 12 | 13 | public NbtTag Tag 14 | { 15 | get 16 | { 17 | NbtList raids = new(NbtTagType.Compound); 18 | foreach (Raid raid in this) 19 | { 20 | raids.Add(raid.Tag); 21 | } 22 | 23 | return new NbtCompound 24 | { 25 | new NbtInt("NextAvailableID", NextAvailableId), 26 | raids, 27 | new NbtInt("Tick", (int) EternalClock.Ticks) 28 | }; 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /SmartBlocks/Worlds/WorldLoadException.cs: -------------------------------------------------------------------------------- 1 | namespace SmartBlocks.Worlds; 2 | 3 | public class WorldLoadException : Exception 4 | { 5 | public WorldLoadException() : base() 6 | { 7 | 8 | } 9 | 10 | public WorldLoadException(string message) : base(message) 11 | { 12 | 13 | } 14 | 15 | public WorldLoadException(string message, Exception inner) : base(message, inner) 16 | { 17 | 18 | } 19 | } -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.AWT.WinForms.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.AWT.WinForms.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Beans.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Beans.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Charsets.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Charsets.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Corba.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Corba.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Core.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Management.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Management.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Media.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Media.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Misc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Misc.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Naming.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Naming.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Remoting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Remoting.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Security.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Security.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.SwingAWT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.SwingAWT.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Text.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Text.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Util.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.Util.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.XML.API.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.OpenJDK.XML.API.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.Runtime.JNI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.Runtime.JNI.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/IKVM.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/IKVM.Runtime.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/MinecraftTypes.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/MinecraftTypes.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/MinecraftTypes.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/MinecraftTypes.pdb -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/SmartBlocks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/SmartBlocks.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/SmartBlocks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/SmartBlocks.pdb -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/SmartNbt 1.1.0.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/SmartNbt 1.1.0.0.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/SmartNbt.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/SmartNbt.dll -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/SmartNbt.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/SmartNbt.pdb -------------------------------------------------------------------------------- /SmartBlocks/bin/Debug/net6.0/ref/SmartBlocks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/bin/Debug/net6.0/ref/SmartBlocks.dll -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net20/SmartBlocks.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 4b4f2d8320caeecda8c24a5c4fc06c18053ed29d 2 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net20/SmartBlocks.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.RootNamespace = SmartBlocks 3 | build_property.ProjectDir = A:\Programming\SmartBlocks\SmartBlocks\ 4 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net20/SmartBlocks.GlobalUsings.g.cs: -------------------------------------------------------------------------------- 1 | // 2 | global using global::System; 3 | global using global::System.Collections.Generic; 4 | global using global::System.IO; 5 | global using global::System.Linq; 6 | global using global::System.Net.Http; 7 | global using global::System.Threading; 8 | global using global::System.Threading.Tasks; 9 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net20/SmartBlocks.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/obj/Debug/net20/SmartBlocks.assets.cache -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net20/SmartBlocks.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net20/SmartBlocks.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | a679b67d5e09f2787ae5ea92882cfe8a969cf7be 2 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net20/SmartBlocks.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | A:\Programming\SmartBlocks\SmartBlocks\obj\Debug\net20\SmartBlocks.csproj.AssemblyReference.cache 2 | A:\Programming\SmartBlocks\SmartBlocks\obj\Debug\net20\SmartBlocks.GeneratedMSBuildEditorConfig.editorconfig 3 | A:\Programming\SmartBlocks\SmartBlocks\obj\Debug\net20\SmartBlocks.AssemblyInfoInputs.cache 4 | A:\Programming\SmartBlocks\SmartBlocks\obj\Debug\net20\SmartBlocks.AssemblyInfo.cs 5 | A:\Programming\SmartBlocks\SmartBlocks\obj\Debug\net20\SmartBlocks.csproj.CoreCompileInputs.cache 6 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")] 5 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net6.0/SmartBlocks.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 4b4f2d8320caeecda8c24a5c4fc06c18053ed29d 2 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net6.0/SmartBlocks.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.TargetFramework = net6.0 3 | build_property.TargetPlatformMinVersion = 4 | build_property.UsingMicrosoftNETSdkWeb = 5 | build_property.ProjectTypeGuids = 6 | build_property.InvariantGlobalization = 7 | build_property.PlatformNeutralAssembly = 8 | build_property._SupportedPlatformList = Linux,macOS,Windows 9 | build_property.RootNamespace = SmartBlocks 10 | build_property.ProjectDir = D:\Programming\rs\SmartBlocks\SmartBlocks\ 11 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net6.0/SmartBlocks.GlobalUsings.g.cs: -------------------------------------------------------------------------------- 1 | // 2 | global using global::System; 3 | global using global::System.Collections.Generic; 4 | global using global::System.IO; 5 | global using global::System.Linq; 6 | global using global::System.Net.Http; 7 | global using global::System.Threading; 8 | global using global::System.Threading.Tasks; 9 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net6.0/SmartBlocks.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/obj/Debug/net6.0/SmartBlocks.Properties.Resources.resources -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net6.0/SmartBlocks.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/obj/Debug/net6.0/SmartBlocks.assets.cache -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net6.0/SmartBlocks.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/obj/Debug/net6.0/SmartBlocks.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net6.0/SmartBlocks.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/obj/Debug/net6.0/SmartBlocks.csproj.CopyComplete -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net6.0/SmartBlocks.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 24ed6755dde26df00656581d5d8a1feb2f8fb7e3 2 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net6.0/SmartBlocks.csproj.GenerateResource.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/obj/Debug/net6.0/SmartBlocks.csproj.GenerateResource.cache -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net6.0/SmartBlocks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/obj/Debug/net6.0/SmartBlocks.dll -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net6.0/SmartBlocks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/obj/Debug/net6.0/SmartBlocks.pdb -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net6.0/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/obj/Debug/net6.0/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/net6.0/ref/SmartBlocks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/obj/Debug/net6.0/ref/SmartBlocks.dll -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")] 5 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/netcoreapp3.1/SmartBlocks.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 4b4f2d8320caeecda8c24a5c4fc06c18053ed29d 2 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/netcoreapp3.1/SmartBlocks.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.RootNamespace = SmartBlocks 3 | build_property.ProjectDir = A:\Programming\SmartBlocks\SmartBlocks\ 4 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/netcoreapp3.1/SmartBlocks.GlobalUsings.g.cs: -------------------------------------------------------------------------------- 1 | // 2 | global using global::System; 3 | global using global::System.Collections.Generic; 4 | global using global::System.IO; 5 | global using global::System.Linq; 6 | global using global::System.Net.Http; 7 | global using global::System.Threading; 8 | global using global::System.Threading.Tasks; 9 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/netcoreapp3.1/SmartBlocks.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/obj/Debug/netcoreapp3.1/SmartBlocks.assets.cache -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/netcoreapp3.1/SmartBlocks.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/netcoreapp3.1/SmartBlocks.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 29aae835fdb38e8e26e5fbcd570949174a851663 2 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/netcoreapp3.1/SmartBlocks.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | A:\Programming\SmartBlocks\SmartBlocks\obj\Debug\netcoreapp3.1\SmartBlocks.csproj.AssemblyReference.cache 2 | A:\Programming\SmartBlocks\SmartBlocks\obj\Debug\netcoreapp3.1\SmartBlocks.GeneratedMSBuildEditorConfig.editorconfig 3 | A:\Programming\SmartBlocks\SmartBlocks\obj\Debug\netcoreapp3.1\SmartBlocks.AssemblyInfoInputs.cache 4 | A:\Programming\SmartBlocks\SmartBlocks\obj\Debug\netcoreapp3.1\SmartBlocks.AssemblyInfo.cs 5 | A:\Programming\SmartBlocks\SmartBlocks\obj\Debug\netcoreapp3.1\SmartBlocks.csproj.CoreCompileInputs.cache 6 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETStandard,Version=v2.0", FrameworkDisplayName = "")] 5 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/netstandard2.0/SmartBlocks.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 4b4f2d8320caeecda8c24a5c4fc06c18053ed29d 2 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/netstandard2.0/SmartBlocks.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.RootNamespace = SmartBlocks 3 | build_property.ProjectDir = A:\Programming\SmartBlocks\SmartBlocks\ 4 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/netstandard2.0/SmartBlocks.GlobalUsings.g.cs: -------------------------------------------------------------------------------- 1 | // 2 | global using global::System; 3 | global using global::System.Collections.Generic; 4 | global using global::System.IO; 5 | global using global::System.Linq; 6 | global using global::System.Net.Http; 7 | global using global::System.Threading; 8 | global using global::System.Threading.Tasks; 9 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/netstandard2.0/SmartBlocks.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/obj/Debug/netstandard2.0/SmartBlocks.assets.cache -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/netstandard2.0/SmartBlocks.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartBlocks/obj/Debug/netstandard2.0/SmartBlocks.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/netstandard2.0/SmartBlocks.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 1a4a54fddaad7d9b5756b4d67dabdc87a35519f7 2 | -------------------------------------------------------------------------------- /SmartBlocks/obj/Debug/netstandard2.0/SmartBlocks.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | A:\Programming\SmartBlocks\SmartBlocks\obj\Debug\netstandard2.0\SmartBlocks.csproj.AssemblyReference.cache 2 | A:\Programming\SmartBlocks\SmartBlocks\obj\Debug\netstandard2.0\SmartBlocks.GeneratedMSBuildEditorConfig.editorconfig 3 | A:\Programming\SmartBlocks\SmartBlocks\obj\Debug\netstandard2.0\SmartBlocks.AssemblyInfoInputs.cache 4 | A:\Programming\SmartBlocks\SmartBlocks\obj\Debug\netstandard2.0\SmartBlocks.AssemblyInfo.cs 5 | A:\Programming\SmartBlocks\SmartBlocks\obj\Debug\netstandard2.0\SmartBlocks.csproj.CoreCompileInputs.cache 6 | -------------------------------------------------------------------------------- /SmartBlocks/obj/SmartBlocks.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | -------------------------------------------------------------------------------- /SmartTest/Program.cs: -------------------------------------------------------------------------------- 1 | // See https://aka.ms/new-console-template for more information 2 | 3 | using MinecraftTypes; 4 | using SmartBlocks; 5 | using SmartBlocks.Blocks; 6 | using SmartBlocks.Generators; 7 | using SmartBlocks.Worlds; 8 | 9 | Console.WriteLine("Hello, World!"); 10 | try 11 | { 12 | } 13 | catch (Exception e) 14 | { 15 | Console.WriteLine(e); 16 | } 17 | finally 18 | { 19 | Console.WriteLine("DONE!"); 20 | } 21 | Console.ReadLine(); -------------------------------------------------------------------------------- /SmartTest/SmartTest.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net6.0 6 | enable 7 | enable 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | ..\..\MinecraftTypes\MinecraftTypes\bin\Debug\net6.0\MinecraftTypes.dll 17 | 18 | 19 | ..\..\SmartNbt\SmartNbt\SmartNbt\bin\Debug\netstandard2.0\SmartNbt.dll 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.AWT.WinForms.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.AWT.WinForms.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Beans.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Beans.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Charsets.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Charsets.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Corba.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Corba.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Core.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Management.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Management.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Media.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Media.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Misc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Misc.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Naming.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Naming.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Remoting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Remoting.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Security.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Security.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.SwingAWT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.SwingAWT.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Text.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Text.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Util.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.Util.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.XML.API.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.OpenJDK.XML.API.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.Runtime.JNI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.Runtime.JNI.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/IKVM.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/IKVM.Runtime.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/MedallionRandom.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/MedallionRandom.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/Microsoft.Win32.SystemEvents.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/Microsoft.Win32.SystemEvents.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/MinecraftTypes.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/MinecraftTypes.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/MinecraftTypes.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/MinecraftTypes.pdb -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/SmartBlocks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/SmartBlocks.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/SmartBlocks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/SmartBlocks.pdb -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/SmartNbt.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/SmartNbt.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/SmartNbt.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/SmartNbt.pdb -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/SmartTest.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/SmartTest.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/SmartTest.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/SmartTest.exe -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/SmartTest.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/SmartTest.pdb -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/SmartTest.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "net6.0", 4 | "framework": { 5 | "name": "Microsoft.NETCore.App", 6 | "version": "6.0.0" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/System.Configuration.ConfigurationManager.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/System.Configuration.ConfigurationManager.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/System.Drawing.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/System.Drawing.Common.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/System.Security.Cryptography.ProtectedData.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/System.Security.Cryptography.ProtectedData.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/System.Security.Permissions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/System.Security.Permissions.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/System.Windows.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/System.Windows.Extensions.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/Worlds/test/level.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/Worlds/test/level.dat -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/Worlds/test/session.lock: -------------------------------------------------------------------------------- 1 | 637798457086498563 -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/ref/SmartTest.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/ref/SmartTest.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/runtimes/unix/lib/net6.0/System.Drawing.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/runtimes/unix/lib/net6.0/System.Drawing.Common.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Drawing.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Drawing.Common.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Security.Cryptography.ProtectedData.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Security.Cryptography.ProtectedData.dll -------------------------------------------------------------------------------- /SmartTest/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Windows.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Windows.Extensions.dll -------------------------------------------------------------------------------- /SmartTest/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")] 5 | -------------------------------------------------------------------------------- /SmartTest/obj/Debug/net6.0/SmartTest.AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: System.Reflection.AssemblyCompanyAttribute("SmartTest")] 15 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] 16 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] 17 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] 18 | [assembly: System.Reflection.AssemblyProductAttribute("SmartTest")] 19 | [assembly: System.Reflection.AssemblyTitleAttribute("SmartTest")] 20 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] 21 | 22 | // Generated by the MSBuild WriteCodeFragment class. 23 | 24 | -------------------------------------------------------------------------------- /SmartTest/obj/Debug/net6.0/SmartTest.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | c7611efff5f3501dbe02fe07b5ebdf2f3e9e171f 2 | -------------------------------------------------------------------------------- /SmartTest/obj/Debug/net6.0/SmartTest.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.TargetFramework = net6.0 3 | build_property.TargetPlatformMinVersion = 4 | build_property.UsingMicrosoftNETSdkWeb = 5 | build_property.ProjectTypeGuids = 6 | build_property.InvariantGlobalization = 7 | build_property.PlatformNeutralAssembly = 8 | build_property._SupportedPlatformList = Linux,macOS,Windows 9 | build_property.RootNamespace = SmartTest 10 | build_property.ProjectDir = D:\Programming\rs\SmartBlocks\SmartTest\ 11 | -------------------------------------------------------------------------------- /SmartTest/obj/Debug/net6.0/SmartTest.GlobalUsings.g.cs: -------------------------------------------------------------------------------- 1 | // 2 | global using global::System; 3 | global using global::System.Collections.Generic; 4 | global using global::System.IO; 5 | global using global::System.Linq; 6 | global using global::System.Net.Http; 7 | global using global::System.Threading; 8 | global using global::System.Threading.Tasks; 9 | -------------------------------------------------------------------------------- /SmartTest/obj/Debug/net6.0/SmartTest.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/obj/Debug/net6.0/SmartTest.assets.cache -------------------------------------------------------------------------------- /SmartTest/obj/Debug/net6.0/SmartTest.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/obj/Debug/net6.0/SmartTest.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /SmartTest/obj/Debug/net6.0/SmartTest.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/obj/Debug/net6.0/SmartTest.csproj.CopyComplete -------------------------------------------------------------------------------- /SmartTest/obj/Debug/net6.0/SmartTest.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 9769613709eea176a2f9299dd4d2af965b3efec4 2 | -------------------------------------------------------------------------------- /SmartTest/obj/Debug/net6.0/SmartTest.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/obj/Debug/net6.0/SmartTest.dll -------------------------------------------------------------------------------- /SmartTest/obj/Debug/net6.0/SmartTest.genruntimeconfig.cache: -------------------------------------------------------------------------------- 1 | b15a7a3830b62486c4400445e4625dabb674acb6 2 | -------------------------------------------------------------------------------- /SmartTest/obj/Debug/net6.0/SmartTest.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/obj/Debug/net6.0/SmartTest.pdb -------------------------------------------------------------------------------- /SmartTest/obj/Debug/net6.0/apphost.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/obj/Debug/net6.0/apphost.exe -------------------------------------------------------------------------------- /SmartTest/obj/Debug/net6.0/ref/SmartTest.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CopperPenguin96/SmartBlocks/f60fe890cb3a5a758e40eb16c2716a10fbf2eee5/SmartTest/obj/Debug/net6.0/ref/SmartTest.dll -------------------------------------------------------------------------------- /SmartTest/obj/SmartTest.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | --------------------------------------------------------------------------------