From 2670d5cdb630041c58c6b51c0fb2f15e487d1008 Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 16 Jan 2020 12:35:46 +0100 Subject: [PATCH] Porting to Fabric/Yarn/1.14 part 1 --- build.gradle | 153 +++--- gradle.properties | 35 +- gradle/wrapper/gradle-wrapper.jar | Bin 54417 -> 54708 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- lib/jumpingcastle-1.12.2.1.0.0-universal.jar | Bin 38384 -> 0 bytes settings.gradle | 11 + src/api/java/baubles/api/BaubleType.java | 14 - src/api/java/baubles/api/BaublesApi.java | 20 - src/api/java/baubles/api/IBauble.java | 60 --- .../baubles/api/cap/IBaublesItemHandler.java | 12 - .../com/minelittlepony/MineLittlePony.java | 11 - .../com/minelittlepony/pony/data/IPony.java | 17 - .../minelittlepony/pony/data/PonyRace.java | 33 -- .../unicopia/jei/BlendedDrawable.java | 32 -- .../unicopia/jei/JEIUnicopia.java | 42 -- .../unicopia/jei/SpellRecipeWrapper.java | 37 -- .../unicopia/jei/SpellbookCategory.java | 66 --- .../java/com/minelittlepony/gui/Button.java | 64 --- .../java/com/minelittlepony/gui/GameGui.java | 62 --- .../com/minelittlepony/gui/IGuiAction.java | 15 - .../com/minelittlepony/gui/IGuiCallback.java | 15 - .../minelittlepony/gui/IGuiTooltipped.java | 20 - .../java/com/minelittlepony/gui/Label.java | 44 -- .../java/com/minelittlepony/gui/Slider.java | 44 -- .../render/model/ModelQuads.java | 32 -- .../render/model/TexturedShape2d.java | 50 -- .../minelittlepony/unicopia/ClientHooks.java | 58 +- .../minelittlepony/unicopia/CloudType.java | 18 +- .../com/minelittlepony/unicopia/Fixes.java | 151 ------ .../unicopia/{extern => }/MineLP.java | 11 +- .../minelittlepony/unicopia/Predicates.java | 37 +- .../minelittlepony/unicopia/SpeciesList.java | 83 +++ .../com/minelittlepony/unicopia/UBlocks.java | 124 +++++ .../com/minelittlepony/unicopia/UClient.java | 27 +- .../com/minelittlepony/unicopia/UEffects.java | 31 ++ .../unicopia/{init => }/UEntities.java | 32 +- .../unicopia/{init => }/UItems.java | 16 +- .../minelittlepony/unicopia/UMaterials.java | 9 + .../minelittlepony/unicopia/UParticles.java | 33 ++ .../unicopia/{potion => }/UPotion.java | 12 +- .../com/minelittlepony/unicopia/USounds.java | 29 + .../com/minelittlepony/unicopia/Unicopia.java | 36 +- .../unicopia/UnicopiaClient.java | 106 ++-- .../minelittlepony/unicopia/ability/Hit.java | 5 + .../{player => ability}/IAbilityReceiver.java | 4 +- .../unicopia/ability/IData.java | 5 + .../{player => ability}/IFlyingPredicate.java | 4 +- .../IHeightPredicate.java} | 6 +- .../unicopia/{power => ability}/IPower.java | 30 +- .../{power/data => ability}/Location.java | 3 +- .../{power/data => ability}/Numeric.java | 3 +- .../{power => ability/powers}/PowerCarry.java | 44 +- .../powers}/PowerCloudBase.java | 54 +- .../ability/powers/PowerDisguise.java | 101 ++++ .../powers}/PowerEngulf.java | 20 +- .../unicopia/ability/powers/PowerFeed.java | 166 ++++++ .../unicopia/ability/powers/PowerGrow.java | 105 ++++ .../{power => ability/powers}/PowerMagic.java | 16 +- .../{power => ability/powers}/PowerStomp.java | 236 ++++----- .../ability/powers/PowerTeleport.java | 174 ++++++ .../powers}/PowersRegistry.java | 6 +- .../powers/render/DisguiseRenderer.java | 83 +++ .../advancements/AbstractCriterion.java | 52 ++ .../advancements/AbstractTrigger.java | 52 -- .../advancements/AdvancementPredicate.java | 20 +- .../advancements/BOHDeathCriterion.java | 74 +++ .../advancements/BOHDeathTrigger.java | 73 --- .../unicopia/advancements/UAdvancements.java | 11 - .../unicopia/block/BlockAlfalfa.java | 174 +++--- .../unicopia/block/BlockChiselledChitin.java | 49 -- .../unicopia/block/BlockChitin.java | 113 ---- .../unicopia/block/BlockCloud.java | 10 +- .../unicopia/block/BlockCloudAnvil.java | 4 +- .../unicopia/block/BlockCloudBanister.java | 48 +- .../unicopia/block/BlockCloudFarm.java | 52 +- .../unicopia/block/BlockCloudFence.java | 33 +- .../unicopia/block/BlockCloudSlab.java | 42 +- .../unicopia/block/BlockCloudStairs.java | 4 +- .../unicopia/block/BlockDiamondDoor.java | 2 +- .../unicopia/block/BlockDirected.java | 53 -- .../unicopia/block/BlockDutchDoor.java | 18 +- .../unicopia/block/BlockFruitLeaves.java | 250 --------- .../unicopia/block/BlockGlowingGem.java | 223 -------- .../unicopia/block/BlockGrowingCuccoon.java | 136 ++--- .../unicopia/block/BlockHiveWall.java | 374 ------------- .../unicopia/block/BlockSlimeLayer.java | 68 --- .../unicopia/block/BlockStick.java | 106 ---- .../unicopia/block/BlockSugar.java | 34 -- .../unicopia/block/BlockTomatoPlant.java | 160 +++--- .../unicopia/block/ChiselledChitinBlock.java | 79 +++ .../unicopia/block/ChitinBlock.java | 97 ++++ .../unicopia/block/FruitLeavesBlock.java | 177 +++++++ .../unicopia/block/GlowingGemBlock.java | 194 +++++++ .../unicopia/block/HiveWallBlock.java | 366 +++++++++++++ .../unicopia/block/ICloudBlock.java | 90 ++-- .../unicopia/block/IColourful.java | 4 +- .../unicopia/block/ITillable.java | 10 +- .../unicopia/block/ITreeGen.java | 5 +- .../unicopia/block/SlimeLayerBlock.java | 43 ++ .../unicopia/block/StickBlock.java | 81 +++ .../unicopia/block/SugarBlock.java | 21 + .../minelittlepony/unicopia/block/UDoor.java | 83 +-- .../unicopia/block/UFarmland.java | 66 ++- .../minelittlepony/unicopia/block/UPot.java | 133 +---- .../unicopia/block/USapling.java | 4 +- .../minelittlepony/unicopia/block/USlab.java | 196 ++----- .../client/gui/FlightExperienceBar.java | 74 +++ .../{hud => client/gui}/IHudElement.java | 4 +- .../unicopia/client/gui/SettingsScreen.java | 26 + .../unicopia/{hud => client/gui}/UHud.java | 22 +- .../client/input/IKeyBindingHandler.java | 20 + .../input/InversionAwareKeyboardInput.java | 60 +++ .../client/input/KeyBindingsHandler.java | 75 +++ .../unicopia/{ => client}/input/Keyboard.java | 8 +- .../unicopia/client/input/MouseControl.java | 23 + .../particle/ParticleChangelingMagic.java | 33 ++ .../client/particle/ParticleDisk.java | 41 ++ .../client/particle/ParticleRaindrops.java | 25 + .../particle}/ParticleSphere.java | 71 ++- .../particle}/ParticleUnicornMagic.java | 13 +- .../entity/ButterflyEntityRenderer.java | 37 ++ .../render/entity}/RenderCloud.java | 16 +- .../render/entity}/RenderCuccoon.java | 12 +- .../client/render/entity/RenderGem.java | 38 ++ .../render/entity/RenderProjectile.java | 21 + .../render/entity}/RenderRainbow.java | 12 +- .../render/entity}/RenderSpear.java | 8 +- .../render/entity}/RenderSpellbook.java | 12 +- .../entity/model/ButterflyEntityModel.java | 84 +++ .../render/entity}/model/ModelCloud.java | 2 +- .../render/entity}/model/ModelCuccoon.java | 2 +- .../render/entity}/model/ModelGem.java | 84 ++- .../render/entity}/model/ModelSpellbook.java | 2 +- .../client/render/model/DiskModel.java | 13 + .../client/render/model/ModelQuads.java | 32 ++ .../render/model/SphereModel.java} | 23 +- .../client/render/model/TexturedShape2d.java | 55 ++ .../unicopia/command/CommandDisguise.java | 22 +- .../unicopia/command/CommandGravity.java | 6 +- .../command/CommandOverrideGameMode.java | 8 +- .../unicopia/command/CommandRacelist.java | 6 +- .../unicopia/command/CommandSpecies.java | 16 +- .../unicopia/ducks/IRaceContainerHolder.java | 25 + .../unicopia/edibles/ItemEdible.java | 20 +- .../unicopia/edibles/UItemFoodDelegate.java | 4 +- .../enchanting/AbstractSpecialRecipe.java | 4 +- .../enchanting/AffineIngredients.java | 16 +- .../unicopia/enchanting/IPage.java | 6 +- .../unicopia/enchanting/IPageOwner.java | 4 +- .../unicopia/enchanting/PageInstance.java | 18 +- .../enchanting/PageStateCondition.java | 6 +- .../unicopia/enchanting/Pages.java | 10 +- .../unicopia/enchanting/SpellIngredient.java | 2 +- .../unicopia/enchanting/SpellRecipe.java | 8 +- .../unicopia/entity/EntityButterfly.java | 180 ++++--- .../unicopia/entity/EntityCloud.java | 302 +++++------ .../entity/EntityConstructionCloud.java | 10 +- .../unicopia/entity/EntityCuccoon.java | 44 +- .../entity/EntityFakeClientPlayer.java | 3 +- .../entity/EntityFakeServerPlayer.java | 1 - .../unicopia/entity/EntityProjectile.java | 262 --------- .../unicopia/entity/EntityRacingCloud.java | 4 +- .../unicopia/entity/EntityRainbow.java | 96 ++-- .../unicopia/entity/EntitySpear.java | 89 ++-- .../unicopia/entity/EntitySpell.java | 369 ------------- .../unicopia/entity/EntitySpellbook.java | 20 +- .../unicopia/entity/EntityWildCloud.java | 10 +- .../unicopia/entity/IEntity.java | 57 ++ .../unicopia/entity/IFlight.java | 18 + .../unicopia/{player => entity}/IFood.java | 2 +- .../unicopia/{player => entity}/IGravity.java | 12 +- .../{player => entity}/IInventory.java | 6 +- .../unicopia/entity/IMagicals.java | 4 +- .../unicopia/{player => entity}/IOwned.java | 2 +- .../unicopia/entity/IRaceContainer.java | 12 + .../minelittlepony/unicopia/entity/ITrap.java | 7 + .../{player => entity}/IUpdatable.java | 2 +- .../unicopia/entity/SpellcastEntity.java | 377 +++++++++++++ .../entity/ai/EntityAIFollowCaster.java | 142 ----- .../unicopia/entity/ai/FollowCasterGoal.java | 134 +++++ .../entity/item/AdvancedProjectileEntity.java | 293 +++++++++++ .../entity/item/ItemEntityCapabilities.java | 65 +++ .../living/LivingEntityCapabilities.java | 128 +++++ .../player/AbilityDelegate.java} | 39 +- .../player/GravityDelegate.java} | 228 ++++---- .../IView.java => entity/player/ICamera.java} | 4 +- .../unicopia/{ => entity}/player/IPlayer.java | 73 +-- .../entity/player/PlayerAttributes.java | 52 ++ .../player/PlayerCamera.java} | 16 +- .../entity/player/PlayerCapabilities.java | 497 +++++++++++++++++ .../{ => entity}/player/PlayerInventory.java | 50 +- .../unicopia/extern/BaubleAlicornAmulet.java | 78 --- .../unicopia/extern/Baubles.java | 62 --- .../unicopia/forgebullshit/BiomeBS.java | 8 +- .../forgebullshit/BuildInTexturesBakery.java | 7 +- ...faultEntityCapabilitiesProxyContainer.java | 79 --- .../unicopia/forgebullshit/EntityType.java | 53 -- .../unicopia/forgebullshit/FBS.java | 75 --- .../unicopia/forgebullshit/FUF.java | 22 - .../ICapabilitiesProxyContainer.java | 15 - .../unicopia/forgebullshit/IMultiItem.java | 26 - .../unicopia/forgebullshit/ItemModels.java | 25 +- .../unicopia/forgebullshit/ItemRegistrar.java | 19 - .../unicopia/forgebullshit/OreReplacer.java | 8 +- .../unicopia/forgebullshit/Provider.java | 57 -- .../forgebullshit/RegistryLockSpinner.java | 93 ---- .../unicopia/forgebullshit/Storage.java | 22 - .../forgebullshit/UnFuckedItemSnow.java | 16 +- .../unicopia/gui/GuiScreenSettings.java | 33 -- .../unicopia/hud/FlightExperienceBar.java | 74 --- .../unicopia/init/ClientHooks.java | 19 - .../minelittlepony/unicopia/init/Hooks.java | 41 -- .../minelittlepony/unicopia/init/UBlocks.java | 151 ------ .../unicopia/init/UEffects.java | 38 -- .../unicopia/init/UMaterials.java | 9 - .../unicopia/init/UParticles.java | 31 -- .../minelittlepony/unicopia/init/USounds.java | 41 -- .../unicopia/input/IKeyBind.java | 11 - .../unicopia/input/IKeyHandler.java | 10 - .../unicopia/input/MouseControl.java | 16 - .../unicopia/input/MovementControl.java | 62 --- .../unicopia/input/UKeyHandler.java | 67 --- .../inventory/ContainerOfHolding.java | 114 ---- .../inventory/InventoryOfHolding.java | 248 --------- .../inventory/InventorySpellBook.java | 19 - .../inventory/gui/ContainerOfHolding.java | 99 ++++ .../inventory/gui/ContainerSpellBook.java | 170 ------ .../unicopia/inventory/gui/GuiOfHolding.java | 23 +- .../unicopia/inventory/gui/GuiSpellBook.java | 17 +- .../inventory/gui/InventoryOfHolding.java | 269 ++++++++++ .../unicopia/inventory/gui/Scrollbar.java | 212 -------- .../inventory/gui/SpellBookContainer.java | 172 ++++++ .../inventory/gui/SpellBookInventory.java | 19 + .../inventory/gui/SpellbookResultSlot.java | 101 ++++ .../inventory/slot/SlotEnchanting.java | 15 - .../inventory/slot/SlotEnchantingResult.java | 101 ---- .../unicopia/item/ICastable.java | 63 --- .../{tossable => item}/ITossableItem.java | 22 +- .../unicopia/item/ItemAlicornAmulet.java | 11 +- .../unicopia/item/ItemApple.java | 4 +- .../unicopia/item/ItemCereal.java | 8 +- .../unicopia/item/ItemCloudPlacer.java | 7 +- .../unicopia/item/ItemMagicStaff.java | 19 +- .../unicopia/item/ItemMoss.java | 8 +- .../unicopia/item/ItemOfHolding.java | 13 +- .../unicopia/item/ItemRottenTomato.java | 7 +- .../unicopia/item/ItemSpear.java | 15 +- .../unicopia/item/ItemSpell.java | 21 +- .../unicopia/item/ItemSpellbook.java | 4 +- .../unicopia/item/ItemStaff.java | 6 +- .../unicopia/item/ItemTomato.java | 2 +- .../unicopia/item/ItemTomatoSeeds.java | 8 +- .../unicopia/item/ItemZapApple.java | 4 +- .../unicopia/item/UItemBlock.java | 4 +- .../unicopia/item/UItemDecoration.java | 6 +- .../unicopia/item/override/ItemShear.java | 4 +- .../unicopia/item/override/ItemStick.java | 10 +- .../Affinity.java} | 28 +- .../{spell => magic}/CasterUtils.java | 70 +-- .../IAligned.java => magic/IAffine.java} | 6 +- .../{spell => magic}/IAttachedEffect.java | 2 +- .../unicopia/{spell => magic}/ICaster.java | 72 ++- .../{spell => magic}/IDispenceable.java | 10 +- .../{spell => magic}/IHeldEffect.java | 6 +- .../unicopia/{spell => magic}/ILevelled.java | 2 +- .../{spell => magic}/IMagicEffect.java | 7 +- .../unicopia/magic/IMagicals.java | 5 + .../{spell => magic}/ISuppressable.java | 2 +- .../{spell => magic}/ITossedEffect.java | 29 +- .../IUseAction.java => magic/IUseable.java} | 14 +- .../unicopia/magic/items/ICastable.java | 61 +++ .../{item => magic/items}/IDependable.java | 4 +- .../{item => magic/items}/IDispensable.java | 2 +- .../{item => magic/items}/IMagicalItem.java | 10 +- .../spells}/AbstractAttachableSpell.java | 49 +- .../spells}/AbstractSpell.java | 15 +- .../{spell => magic/spells}/GenericSpell.java | 15 +- .../unicopia/magic/spells/SpellAwkward.java | 99 ++++ .../spells}/SpellCastResult.java | 2 +- .../spells}/SpellChangelingTrap.java | 96 ++-- .../{spell => magic/spells}/SpellCharge.java | 27 +- .../spells}/SpellDarkness.java | 129 ++--- .../spells}/SpellDisguise.java | 293 ++++++----- .../{spell => magic/spells}/SpellDrake.java | 35 +- .../{spell => magic/spells}/SpellFire.java | 30 +- .../{spell => magic/spells}/SpellFlame.java | 13 +- .../{spell => magic/spells}/SpellIce.java | 22 +- .../{spell => magic/spells}/SpellInferno.java | 16 +- .../{spell => magic/spells}/SpellLight.java | 17 +- .../spells}/SpellNecromancy.java | 67 ++- .../{spell => magic/spells}/SpellPortal.java | 58 +- .../spells}/SpellRegistry.java | 66 +-- .../{spell => magic/spells}/SpellReveal.java | 19 +- .../unicopia/magic/spells/SpellScorch.java | 86 +++ .../{spell => magic/spells}/SpellShield.java | 39 +- .../{spell => magic/spells}/SpellSiphon.java | 34 +- .../unicopia/magic/spells/SpellVortex.java | 77 +++ .../unicopia/mixin/FieldAccessor.java | 40 -- .../unicopia/mixin/IWalker.java | 12 + .../unicopia/mixin/MixinEntity.java | 50 +- .../unicopia/mixin/MixinItemEntity.java | 40 ++ .../unicopia/mixin/MixinLivingEntity.java | 68 +++ .../unicopia/mixin/MixinPlayerEntity.java | 58 ++ .../unicopia/mixin/MixinProjectileEntity.java | 31 ++ .../unicopia/model/ModelButterfly.java | 91 ---- .../unicopia/model/ModelDisk.java | 16 - .../unicopia/network/EffectSync.java | 37 +- .../unicopia/network/MsgPlayerAbility.java | 24 +- .../network/MsgPlayerCapabilities.java | 12 +- .../network/MsgRequestCapabilities.java | 10 +- .../particle/EntityParticleEmitter.java | 71 --- .../particle/IAttachableParticle.java | 12 - .../unicopia/particle/Particles.java | 71 --- .../client/ParticleChanglingMagic.java | 33 -- .../particle/client/ParticleDisk.java | 44 -- .../particle/client/ParticleRaindrops.java | 27 - .../particle/client/ParticlesClient.java | 72 --- .../ParticleConnection.java | 13 +- .../unicopia/particles/ParticleEmitter.java | 94 ++++ .../unicopia/particles/ParticleUtils.java | 28 + .../unicopia/player/EntityCapabilities.java | 135 ----- .../minelittlepony/unicopia/player/Hooks.java | 125 ----- .../unicopia/player/IRaceContainer.java | 24 - .../unicopia/player/ItemCapabilities.java | 59 --- .../unicopia/player/PlayerAttributes.java | 57 -- .../unicopia/player/PlayerCapabilities.java | 498 ------------------ .../unicopia/player/PlayerFood.java | 43 -- .../unicopia/player/PlayerSpeciesList.java | 100 ---- .../unicopia/player/WalkSpeed.java | 72 --- .../minelittlepony/unicopia/power/IData.java | 5 - .../unicopia/power/PowerDisguise.java | 98 ---- .../unicopia/power/PowerFeed.java | 168 ------ .../unicopia/power/PowerGrow.java | 115 ---- .../unicopia/power/PowerTeleport.java | 169 ------ .../unicopia/power/data/Hit.java | 7 - .../projectile/IAdvancedProjectile.java | 38 ++ .../{tossable => projectile}/ITossable.java | 12 +- .../projectile}/ProjectileUtil.java | 50 +- .../unicopia/render/DisguiseRenderer.java | 82 --- .../unicopia/render/RenderButterfly.java | 37 -- .../unicopia/render/RenderGem.java | 39 -- .../unicopia/render/RenderProjectile.java | 21 - .../unicopia/spell/SpellAwkward.java | 90 ---- .../unicopia/spell/SpellScorch.java | 82 --- .../unicopia/spell/SpellVortex.java | 74 --- .../unicopia/tossable/ITossed.java | 24 - .../util/crafting/CraftingManager.java | 56 +- .../util/serialisation/InbtSerialisable.java | 48 -- .../unicopia/world/AbstractFeaturesGen.java | 5 +- .../unicopia/world/BlockInteractions.java | 50 +- .../unicopia/world/CloudGen.java | 11 +- .../minelittlepony/unicopia/world/Hooks.java | 24 +- .../unicopia/world/StructuresGen.java | 7 +- .../minelittlepony/unicopia/world/UWorld.java | 4 +- .../structure/AbstractFeature.java | 2 +- .../{ => world}/structure/CloudDungeon.java | 12 +- .../{ => world}/structure/GroundDungeon.java | 16 +- .../structure/TemplateBasedFeature.java | 10 +- .../com/minelittlepony/util/AssetWalker.java | 11 +- .../minelittlepony/util/InbtSerialisable.java | 48 ++ .../com/minelittlepony/util/Iterators.java | 4 +- .../com/minelittlepony/util/LenientState.java | 40 -- .../util/MagicalDamageSource.java | 55 +- .../com/minelittlepony/util/PosHelper.java | 36 +- .../util/{vector => }/VecHelper.java | 104 ++-- .../com/minelittlepony/util/WorldEvent.java | 8 +- .../com/minelittlepony/util/WorldHelper.java | 4 +- .../util/collection/IStateMapping.java | 32 +- .../util/collection/StateMapList.java | 14 +- .../util/fixers/BlockFixer.java | 101 ---- .../util/gui/ButtonGridLayout.java | 90 ---- .../util/lang/ClientLocale.java | 26 - .../util/lang/ServerLocale.java | 27 - .../com/minelittlepony/util/shape/IShape.java | 37 +- .../com/minelittlepony/util/shape/Line.java | 24 +- .../com/minelittlepony/util/shape/Sphere.java | 21 +- 376 files changed, 8747 insertions(+), 11478 deletions(-) delete mode 100644 lib/jumpingcastle-1.12.2.1.0.0-universal.jar create mode 100644 settings.gradle delete mode 100644 src/api/java/baubles/api/BaubleType.java delete mode 100644 src/api/java/baubles/api/BaublesApi.java delete mode 100644 src/api/java/baubles/api/IBauble.java delete mode 100644 src/api/java/baubles/api/cap/IBaublesItemHandler.java delete mode 100644 src/api/java/com/minelittlepony/MineLittlePony.java delete mode 100644 src/api/java/com/minelittlepony/pony/data/IPony.java delete mode 100644 src/api/java/com/minelittlepony/pony/data/PonyRace.java delete mode 100644 src/jei/java/com/minelittlepony/unicopia/jei/BlendedDrawable.java delete mode 100644 src/jei/java/com/minelittlepony/unicopia/jei/JEIUnicopia.java delete mode 100644 src/jei/java/com/minelittlepony/unicopia/jei/SpellRecipeWrapper.java delete mode 100644 src/jei/java/com/minelittlepony/unicopia/jei/SpellbookCategory.java delete mode 100644 src/main/java/com/minelittlepony/gui/Button.java delete mode 100644 src/main/java/com/minelittlepony/gui/GameGui.java delete mode 100644 src/main/java/com/minelittlepony/gui/IGuiAction.java delete mode 100644 src/main/java/com/minelittlepony/gui/IGuiCallback.java delete mode 100644 src/main/java/com/minelittlepony/gui/IGuiTooltipped.java delete mode 100644 src/main/java/com/minelittlepony/gui/Label.java delete mode 100644 src/main/java/com/minelittlepony/gui/Slider.java delete mode 100644 src/main/java/com/minelittlepony/render/model/ModelQuads.java delete mode 100644 src/main/java/com/minelittlepony/render/model/TexturedShape2d.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/Fixes.java rename src/main/java/com/minelittlepony/unicopia/{extern => }/MineLP.java (78%) create mode 100644 src/main/java/com/minelittlepony/unicopia/SpeciesList.java create mode 100644 src/main/java/com/minelittlepony/unicopia/UBlocks.java create mode 100644 src/main/java/com/minelittlepony/unicopia/UEffects.java rename src/main/java/com/minelittlepony/unicopia/{init => }/UEntities.java (75%) rename src/main/java/com/minelittlepony/unicopia/{init => }/UItems.java (96%) create mode 100644 src/main/java/com/minelittlepony/unicopia/UMaterials.java create mode 100644 src/main/java/com/minelittlepony/unicopia/UParticles.java rename src/main/java/com/minelittlepony/unicopia/{potion => }/UPotion.java (85%) create mode 100644 src/main/java/com/minelittlepony/unicopia/USounds.java create mode 100644 src/main/java/com/minelittlepony/unicopia/ability/Hit.java rename src/main/java/com/minelittlepony/unicopia/{player => ability}/IAbilityReceiver.java (60%) create mode 100644 src/main/java/com/minelittlepony/unicopia/ability/IData.java rename src/main/java/com/minelittlepony/unicopia/{player => ability}/IFlyingPredicate.java (65%) rename src/main/java/com/minelittlepony/unicopia/{player/IPlayerHeightPredicate.java => ability/IHeightPredicate.java} (60%) rename src/main/java/com/minelittlepony/unicopia/{power => ability}/IPower.java (62%) rename src/main/java/com/minelittlepony/unicopia/{power/data => ability}/Location.java (84%) rename src/main/java/com/minelittlepony/unicopia/{power/data => ability}/Numeric.java (64%) rename src/main/java/com/minelittlepony/unicopia/{power => ability/powers}/PowerCarry.java (51%) rename src/main/java/com/minelittlepony/unicopia/{power => ability/powers}/PowerCloudBase.java (53%) create mode 100644 src/main/java/com/minelittlepony/unicopia/ability/powers/PowerDisguise.java rename src/main/java/com/minelittlepony/unicopia/{power => ability/powers}/PowerEngulf.java (69%) create mode 100644 src/main/java/com/minelittlepony/unicopia/ability/powers/PowerFeed.java create mode 100644 src/main/java/com/minelittlepony/unicopia/ability/powers/PowerGrow.java rename src/main/java/com/minelittlepony/unicopia/{power => ability/powers}/PowerMagic.java (75%) rename src/main/java/com/minelittlepony/unicopia/{power => ability/powers}/PowerStomp.java (57%) create mode 100644 src/main/java/com/minelittlepony/unicopia/ability/powers/PowerTeleport.java rename src/main/java/com/minelittlepony/unicopia/{power => ability/powers}/PowersRegistry.java (89%) create mode 100644 src/main/java/com/minelittlepony/unicopia/ability/powers/render/DisguiseRenderer.java create mode 100644 src/main/java/com/minelittlepony/unicopia/advancements/AbstractCriterion.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/advancements/AbstractTrigger.java create mode 100644 src/main/java/com/minelittlepony/unicopia/advancements/BOHDeathCriterion.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/advancements/BOHDeathTrigger.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/advancements/UAdvancements.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/block/BlockChiselledChitin.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/block/BlockChitin.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/block/BlockDirected.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/block/BlockFruitLeaves.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/block/BlockGlowingGem.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/block/BlockHiveWall.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/block/BlockSlimeLayer.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/block/BlockStick.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/block/BlockSugar.java create mode 100644 src/main/java/com/minelittlepony/unicopia/block/ChiselledChitinBlock.java create mode 100644 src/main/java/com/minelittlepony/unicopia/block/ChitinBlock.java create mode 100644 src/main/java/com/minelittlepony/unicopia/block/FruitLeavesBlock.java create mode 100644 src/main/java/com/minelittlepony/unicopia/block/GlowingGemBlock.java create mode 100644 src/main/java/com/minelittlepony/unicopia/block/HiveWallBlock.java create mode 100644 src/main/java/com/minelittlepony/unicopia/block/SlimeLayerBlock.java create mode 100644 src/main/java/com/minelittlepony/unicopia/block/StickBlock.java create mode 100644 src/main/java/com/minelittlepony/unicopia/block/SugarBlock.java create mode 100644 src/main/java/com/minelittlepony/unicopia/client/gui/FlightExperienceBar.java rename src/main/java/com/minelittlepony/unicopia/{hud => client/gui}/IHudElement.java (58%) create mode 100644 src/main/java/com/minelittlepony/unicopia/client/gui/SettingsScreen.java rename src/main/java/com/minelittlepony/unicopia/{hud => client/gui}/UHud.java (77%) create mode 100644 src/main/java/com/minelittlepony/unicopia/client/input/IKeyBindingHandler.java create mode 100644 src/main/java/com/minelittlepony/unicopia/client/input/InversionAwareKeyboardInput.java create mode 100644 src/main/java/com/minelittlepony/unicopia/client/input/KeyBindingsHandler.java rename src/main/java/com/minelittlepony/unicopia/{ => client}/input/Keyboard.java (56%) create mode 100644 src/main/java/com/minelittlepony/unicopia/client/input/MouseControl.java create mode 100644 src/main/java/com/minelittlepony/unicopia/client/particle/ParticleChangelingMagic.java create mode 100644 src/main/java/com/minelittlepony/unicopia/client/particle/ParticleDisk.java create mode 100644 src/main/java/com/minelittlepony/unicopia/client/particle/ParticleRaindrops.java rename src/main/java/com/minelittlepony/unicopia/{particle/client => client/particle}/ParticleSphere.java (56%) rename src/main/java/com/minelittlepony/unicopia/{particle/client => client/particle}/ParticleUnicornMagic.java (85%) create mode 100644 src/main/java/com/minelittlepony/unicopia/client/render/entity/ButterflyEntityRenderer.java rename src/main/java/com/minelittlepony/unicopia/{render => client/render/entity}/RenderCloud.java (75%) rename src/main/java/com/minelittlepony/unicopia/{render => client/render/entity}/RenderCuccoon.java (74%) create mode 100644 src/main/java/com/minelittlepony/unicopia/client/render/entity/RenderGem.java create mode 100644 src/main/java/com/minelittlepony/unicopia/client/render/entity/RenderProjectile.java rename src/main/java/com/minelittlepony/unicopia/{render => client/render/entity}/RenderRainbow.java (82%) rename src/main/java/com/minelittlepony/unicopia/{render => client/render/entity}/RenderSpear.java (58%) rename src/main/java/com/minelittlepony/unicopia/{render => client/render/entity}/RenderSpellbook.java (83%) create mode 100644 src/main/java/com/minelittlepony/unicopia/client/render/entity/model/ButterflyEntityModel.java rename src/main/java/com/minelittlepony/unicopia/{ => client/render/entity}/model/ModelCloud.java (92%) rename src/main/java/com/minelittlepony/unicopia/{ => client/render/entity}/model/ModelCuccoon.java (97%) rename src/main/java/com/minelittlepony/unicopia/{ => client/render/entity}/model/ModelGem.java (58%) rename src/main/java/com/minelittlepony/unicopia/{ => client/render/entity}/model/ModelSpellbook.java (85%) create mode 100644 src/main/java/com/minelittlepony/unicopia/client/render/model/DiskModel.java create mode 100644 src/main/java/com/minelittlepony/unicopia/client/render/model/ModelQuads.java rename src/main/java/com/minelittlepony/unicopia/{model/ModelSphere.java => client/render/model/SphereModel.java} (72%) create mode 100644 src/main/java/com/minelittlepony/unicopia/client/render/model/TexturedShape2d.java create mode 100644 src/main/java/com/minelittlepony/unicopia/ducks/IRaceContainerHolder.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/entity/EntityProjectile.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/entity/EntitySpell.java create mode 100644 src/main/java/com/minelittlepony/unicopia/entity/IEntity.java create mode 100644 src/main/java/com/minelittlepony/unicopia/entity/IFlight.java rename src/main/java/com/minelittlepony/unicopia/{player => entity}/IFood.java (87%) rename src/main/java/com/minelittlepony/unicopia/{player => entity}/IGravity.java (54%) rename src/main/java/com/minelittlepony/unicopia/{player => entity}/IInventory.java (81%) rename src/main/java/com/minelittlepony/unicopia/{player => entity}/IOwned.java (90%) create mode 100644 src/main/java/com/minelittlepony/unicopia/entity/IRaceContainer.java create mode 100644 src/main/java/com/minelittlepony/unicopia/entity/ITrap.java rename src/main/java/com/minelittlepony/unicopia/{player => entity}/IUpdatable.java (81%) create mode 100644 src/main/java/com/minelittlepony/unicopia/entity/SpellcastEntity.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/entity/ai/EntityAIFollowCaster.java create mode 100644 src/main/java/com/minelittlepony/unicopia/entity/ai/FollowCasterGoal.java create mode 100644 src/main/java/com/minelittlepony/unicopia/entity/item/AdvancedProjectileEntity.java create mode 100644 src/main/java/com/minelittlepony/unicopia/entity/item/ItemEntityCapabilities.java create mode 100644 src/main/java/com/minelittlepony/unicopia/entity/living/LivingEntityCapabilities.java rename src/main/java/com/minelittlepony/unicopia/{player/PlayerAbilityDelegate.java => entity/player/AbilityDelegate.java} (76%) rename src/main/java/com/minelittlepony/unicopia/{player/PlayerGravityDelegate.java => entity/player/GravityDelegate.java} (52%) rename src/main/java/com/minelittlepony/unicopia/{player/IView.java => entity/player/ICamera.java} (73%) rename src/main/java/com/minelittlepony/unicopia/{ => entity}/player/IPlayer.java (63%) create mode 100644 src/main/java/com/minelittlepony/unicopia/entity/player/PlayerAttributes.java rename src/main/java/com/minelittlepony/unicopia/{player/PlayerView.java => entity/player/PlayerCamera.java} (74%) create mode 100644 src/main/java/com/minelittlepony/unicopia/entity/player/PlayerCapabilities.java rename src/main/java/com/minelittlepony/unicopia/{ => entity}/player/PlayerInventory.java (67%) delete mode 100644 src/main/java/com/minelittlepony/unicopia/extern/BaubleAlicornAmulet.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/extern/Baubles.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/forgebullshit/DefaultEntityCapabilitiesProxyContainer.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/forgebullshit/EntityType.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/forgebullshit/FBS.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/forgebullshit/FUF.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/forgebullshit/ICapabilitiesProxyContainer.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/forgebullshit/IMultiItem.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/forgebullshit/ItemRegistrar.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/forgebullshit/Provider.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/forgebullshit/RegistryLockSpinner.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/forgebullshit/Storage.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/gui/GuiScreenSettings.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/hud/FlightExperienceBar.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/init/ClientHooks.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/init/Hooks.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/init/UBlocks.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/init/UEffects.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/init/UMaterials.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/init/UParticles.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/init/USounds.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/input/IKeyBind.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/input/IKeyHandler.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/input/MouseControl.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/input/MovementControl.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/input/UKeyHandler.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/inventory/ContainerOfHolding.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/inventory/InventoryOfHolding.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/inventory/InventorySpellBook.java create mode 100644 src/main/java/com/minelittlepony/unicopia/inventory/gui/ContainerOfHolding.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/inventory/gui/ContainerSpellBook.java create mode 100644 src/main/java/com/minelittlepony/unicopia/inventory/gui/InventoryOfHolding.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/inventory/gui/Scrollbar.java create mode 100644 src/main/java/com/minelittlepony/unicopia/inventory/gui/SpellBookContainer.java create mode 100644 src/main/java/com/minelittlepony/unicopia/inventory/gui/SpellBookInventory.java create mode 100644 src/main/java/com/minelittlepony/unicopia/inventory/gui/SpellbookResultSlot.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/inventory/slot/SlotEnchanting.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/inventory/slot/SlotEnchantingResult.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/item/ICastable.java rename src/main/java/com/minelittlepony/unicopia/{tossable => item}/ITossableItem.java (75%) rename src/main/java/com/minelittlepony/unicopia/{spell/SpellAffinity.java => magic/Affinity.java} (58%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic}/CasterUtils.java (53%) rename src/main/java/com/minelittlepony/unicopia/{spell/IAligned.java => magic/IAffine.java} (57%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic}/IAttachedEffect.java (92%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic}/ICaster.java (62%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic}/IDispenceable.java (65%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic}/IHeldEffect.java (64%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic}/ILevelled.java (93%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic}/IMagicEffect.java (90%) create mode 100644 src/main/java/com/minelittlepony/unicopia/magic/IMagicals.java rename src/main/java/com/minelittlepony/unicopia/{spell => magic}/ISuppressable.java (92%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic}/ITossedEffect.java (55%) rename src/main/java/com/minelittlepony/unicopia/{spell/IUseAction.java => magic/IUseable.java} (70%) create mode 100644 src/main/java/com/minelittlepony/unicopia/magic/items/ICastable.java rename src/main/java/com/minelittlepony/unicopia/{item => magic/items}/IDependable.java (50%) rename src/main/java/com/minelittlepony/unicopia/{item => magic/items}/IDispensable.java (96%) rename src/main/java/com/minelittlepony/unicopia/{item => magic/items}/IMagicalItem.java (66%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/AbstractAttachableSpell.java (50%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/AbstractSpell.java (82%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/GenericSpell.java (65%) create mode 100644 src/main/java/com/minelittlepony/unicopia/magic/spells/SpellAwkward.java rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellCastResult.java (89%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellChangelingTrap.java (61%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellCharge.java (62%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellDarkness.java (53%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellDisguise.java (52%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellDrake.java (70%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellFire.java (88%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellFlame.java (67%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellIce.java (87%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellInferno.java (86%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellLight.java (78%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellNecromancy.java (53%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellPortal.java (82%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellRegistry.java (76%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellReveal.java (68%) create mode 100644 src/main/java/com/minelittlepony/unicopia/magic/spells/SpellScorch.java rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellShield.java (76%) rename src/main/java/com/minelittlepony/unicopia/{spell => magic/spells}/SpellSiphon.java (77%) create mode 100644 src/main/java/com/minelittlepony/unicopia/magic/spells/SpellVortex.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/mixin/FieldAccessor.java create mode 100644 src/main/java/com/minelittlepony/unicopia/mixin/IWalker.java create mode 100644 src/main/java/com/minelittlepony/unicopia/mixin/MixinItemEntity.java create mode 100644 src/main/java/com/minelittlepony/unicopia/mixin/MixinLivingEntity.java create mode 100644 src/main/java/com/minelittlepony/unicopia/mixin/MixinPlayerEntity.java create mode 100644 src/main/java/com/minelittlepony/unicopia/mixin/MixinProjectileEntity.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/model/ModelButterfly.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/model/ModelDisk.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/particle/EntityParticleEmitter.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/particle/IAttachableParticle.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/particle/Particles.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/particle/client/ParticleChanglingMagic.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/particle/client/ParticleDisk.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/particle/client/ParticleRaindrops.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/particle/client/ParticlesClient.java rename src/main/java/com/minelittlepony/unicopia/{particle => particles}/ParticleConnection.java (70%) create mode 100644 src/main/java/com/minelittlepony/unicopia/particles/ParticleEmitter.java create mode 100644 src/main/java/com/minelittlepony/unicopia/particles/ParticleUtils.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/player/EntityCapabilities.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/player/Hooks.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/player/IRaceContainer.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/player/ItemCapabilities.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/player/PlayerAttributes.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/player/PlayerCapabilities.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/player/PlayerFood.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/player/PlayerSpeciesList.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/player/WalkSpeed.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/power/IData.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/power/PowerDisguise.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/power/PowerFeed.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/power/PowerGrow.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/power/PowerTeleport.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/power/data/Hit.java create mode 100644 src/main/java/com/minelittlepony/unicopia/projectile/IAdvancedProjectile.java rename src/main/java/com/minelittlepony/unicopia/{tossable => projectile}/ITossable.java (63%) rename src/main/java/com/minelittlepony/{util => unicopia/projectile}/ProjectileUtil.java (51%) delete mode 100644 src/main/java/com/minelittlepony/unicopia/render/DisguiseRenderer.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/render/RenderButterfly.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/render/RenderGem.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/render/RenderProjectile.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/spell/SpellAwkward.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/spell/SpellScorch.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/spell/SpellVortex.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/tossable/ITossed.java delete mode 100644 src/main/java/com/minelittlepony/unicopia/util/serialisation/InbtSerialisable.java rename src/main/java/com/minelittlepony/unicopia/{ => world}/structure/AbstractFeature.java (98%) rename src/main/java/com/minelittlepony/unicopia/{ => world}/structure/CloudDungeon.java (72%) rename src/main/java/com/minelittlepony/unicopia/{ => world}/structure/GroundDungeon.java (59%) rename src/main/java/com/minelittlepony/unicopia/{ => world}/structure/TemplateBasedFeature.java (90%) create mode 100644 src/main/java/com/minelittlepony/util/InbtSerialisable.java delete mode 100644 src/main/java/com/minelittlepony/util/LenientState.java rename src/main/java/com/minelittlepony/util/{vector => }/VecHelper.java (50%) delete mode 100644 src/main/java/com/minelittlepony/util/fixers/BlockFixer.java delete mode 100644 src/main/java/com/minelittlepony/util/gui/ButtonGridLayout.java delete mode 100644 src/main/java/com/minelittlepony/util/lang/ClientLocale.java delete mode 100644 src/main/java/com/minelittlepony/util/lang/ServerLocale.java diff --git a/build.gradle b/build.gradle index 3a1a350f..1e13db20 100644 --- a/build.gradle +++ b/build.gradle @@ -1,106 +1,85 @@ -buildscript { - repositories { - jcenter() - maven { - name 'forge' - url 'http://files.minecraftforge.net/maven/' - } - maven { - name = "sonatype" - url = "https://oss.sonatype.org/content/repositories/snapshots/" - } - maven { - name = 'sponge' - url = 'http://repo.spongepowered.org/maven' - } - } - dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:' + project.forgeGradleVersion - } +// Fabric build script +// 03/06/2019 +// https://github.com/FabricMC/fabric-example-mod/blob/master/build.gradle + +plugins { + id 'java-library' + id 'fabric-loom' version '0.2.5-SNAPSHOT' + id 'maven-publish' } -apply plugin: 'net.minecraftforge.gradle.forge' -def ver = "${project.buildType}${project.buildVersion}.${project.buildRevision}" +targetCompatibility = JavaVersion.VERSION_1_8 +sourceCompatibility = JavaVersion.VERSION_1_8 + +version = "${project.minecraft_version}-${project.version}" + +if (project.release != 'RELEASE') { + version += "-${project.release}" +} -version = ver group = project.group -description = project.description +description = project.displayname +archivesBaseName = project.name minecraft { - version = project.mcVersion + '-' + project.mcfVersion - mappings = project.mcMappings - runDir = 'run' - replace '@MODID@', project.modid - replace '@NAME@', project.name - replace '@AUTHOR@', project.author - replace '@VERSION@', ver - replace '@DESCRIPTION@', project.description -} - -sourceCompatibility = 1.8 -targetCompatibility = 1.8 - -sourceSets { - jei { - compileClasspath += main.compileClasspath - compileClasspath += main.output - } - external { - compileClasspath += main.compileClasspath - } - main { - compileClasspath += external.output - ext.refMap = project.refCore - } + refmapName = 'unicopia.mixin.refmap.json' } repositories { - flatDir { - dir 'lib' - } - maven { - // location of the maven that hosts JEI files - name = "Progwml6 maven" - url = "http://dvs1.progwml6.com/files/maven" - } - maven { - // location of a maven mirror for JEI files, as a fallback - name = "ModMaven" - url = "modmaven.k-4u.nl" - } + maven { + name = 'minelp' + url = 'http://repo.minelittlepony-mod.com/maven/snapshot' + } + maven { + name = 'minelp-release' + url = 'http://repo.minelittlepony-mod.com/maven/release' + } } + +// check for updates every build when on CI +if (System.env.CI) { + configurations.all { + resolutionStrategy.cacheChangingModulesFor 0, 'seconds' + } +} + dependencies { - deobfCompile('com.minelittlepony:jumpingcastle:1.12.2.1.0.0:universal') - // compile against the JEI API but do not include it at runtime - deobfProvided "mezz.jei:jei_${project.mcVersion}:${project.jeiVersion}:api" - // at runtime, use the full JEI jar - runtime "mezz.jei:jei_${project.mcVersion}:${project.jeiVersion}" + minecraft "com.mojang:minecraft:${project.minecraft_version}" + mappings "net.fabricmc:yarn:${project.yarn_mappings}" + modApi "net.fabricmc:fabric-loader:${project.loader_version}" + + compileOnly "com.google.code.findbugs:jsr305:3.0.2" + + //modApi "net.fabricmc.fabric-api:fabric-api-base:0.1.0+" + //modApi "net.fabricmc.fabric-api:fabric-events-lifecycle-v0:0.1.0+" + //modApi "net.fabricmc.fabric-api:fabric-resource-loader-v0:0.1.0+" + + modCompile "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" + + modApi "com.minelittlepony:Kirin:${project.kirin_version}" + include "com.minelittlepony:Kirin:${project.kirin_version}" + + modImplementation "io.github.prospector.modmenu:ModMenu:1.6.2-93" } processResources { - def props = [ - modid: project.modid, - name: project.title, - description: project.description, - version: ver, - revision: project.buildRevision, - mcversion: project.mcVersion, - author: project.author - ] + inputs.property "version", project.version - from(sourceSets.main.resources.srcDirs) { - include 'mcmod.info' - expand props - } + from(sourceSets.main.resources.srcDirs) { + include "fabric.mod.json" + expand "version": project.version + } - from(sourceSets.main.resources.srcDirs) { - exclude 'mcmod.info' - } + from(sourceSets.main.resources.srcDirs) { + exclude "fabric.mod.json" + } } -jar { - from sourceSets.main.output - from sourceSets.external.output - from sourceSets.jei.output - baseName = "Unicopia-mc${project.mcVersion}" +tasks.withType(JavaCompile) { + options.encoding = "UTF-8" +} + +task sourcesJar(type: Jar, dependsOn: classes) { + classifier = "sources" + from sourceSets.main.allSource } diff --git a/gradle.properties b/gradle.properties index 67f7ce43..82cefea0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,15 +1,20 @@ -modid=unicopia -title=Unicopia Redux -group=com.minelittlepony.unicopia -author=Sollace -description=Magical Abilities for Mine Little Pony! -buildType=inDev -buildVersion=2 -buildRevision=11 -mcVersion=1.12.2 -mcfVersion=14.23.5.2824 -jeiVersion=4.15.0.268 -mcMappings=stable_39 -refCore=mixins.unicopia.refmap.json -forgeGradleVersion=2.3-SNAPSHOT -mixinGradleVersion=0.6-SNAPSHOT +org.gradle.jvmargs=-Xmx3G +org.gradle.daemon=false + +# Fabric Properties + # check these on https://fabricmc.net/use + minecraft_version=1.14.4 + yarn_mappings=1.14.4+build.2 + loader_version=0.4.8+ + +# Mod Properties + group=com.minelittlepony + displayname=Unicopia Redux + authors=Sollace + description=Magical Abilities for Mine Little Pony! + version=3 + release=SNAPSHOT + +# Dependencies + fabric_version=0.3.0+ + kirin_version=1.14.4-1.4.4 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 758de960ec7947253b058ff79c88ce51f3abe08a..7a3265ee94c0ab25cf079ac8ccdf87f41d455d42 100644 GIT binary patch delta 23310 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 lv_yyfWdpa?w36n65=6@+niTCwLyU5 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 delta 23109 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

>Y0qoIt?wB%nO@p&gUI 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

+7}??_nw2Ux#*!dnO`aqePVZq})~T)c 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 YC`f|?);d5yw1BTsz)To1> ingreds = recipe.getSpellIngredients().stream().map(ingredient -> { - return ingredient.getStacks().collect(Collectors.toList()); - }).collect(Collectors.toList()); - - ingredients.setInputLists(VanillaTypes.ITEM, ingreds); - - ingredients.setOutput(VanillaTypes.ITEM, recipe.getRecipeOutput()); - } - -} diff --git a/src/jei/java/com/minelittlepony/unicopia/jei/SpellbookCategory.java b/src/jei/java/com/minelittlepony/unicopia/jei/SpellbookCategory.java deleted file mode 100644 index b97ef241..00000000 --- a/src/jei/java/com/minelittlepony/unicopia/jei/SpellbookCategory.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.minelittlepony.unicopia.jei; - -import com.minelittlepony.unicopia.Unicopia; -import com.minelittlepony.unicopia.inventory.gui.GuiSpellBook; - -import mezz.jei.api.gui.IDrawable; -import mezz.jei.api.gui.IGuiItemStackGroup; -import mezz.jei.api.gui.IRecipeLayout; -import mezz.jei.api.ingredients.IIngredients; -import mezz.jei.api.ingredients.VanillaTypes; -import mezz.jei.api.recipe.IRecipeCategory; -import mezz.jei.api.recipe.IRecipeWrapper; -import net.minecraft.util.ResourceLocation; - -public class SpellbookCategory implements IRecipeCategory { - - @Override - public String getUid() { - return JEIUnicopia.RECIPE_UID; - } - - @Override - public String getTitle() { - return "Spellbook"; - } - - @Override - public IDrawable getIcon() { - return JEIUnicopia.GUI_HELPER.drawableBuilder( - new ResourceLocation(Unicopia.MODID, "textures/items/spellbook.png"), 0, 0, 16, 16) - .setTextureSize(16, 16) - .build(); - } - - @Override - public String getModName() { - return "Unicopia"; - } - - @Override - public IDrawable getBackground() { - return new BlendedDrawable( - JEIUnicopia.GUI_HELPER.drawableBuilder(GuiSpellBook.spellBookGuiTextures, 405, 0, 105, 108) - .setTextureSize(512, 256) - .build()); - } - - @Override - public void setRecipe(IRecipeLayout recipeLayout, IRecipeWrapper recipeWrapper, @Deprecated IIngredients unused) { - recipeLayout.setShapeless(); - - IGuiItemStackGroup stacks = recipeLayout.getItemStacks(); - - stacks.init(0, true, 29, 3); - stacks.init(1, true, 3, 46); - stacks.init(2, true, 30, 86); - stacks.init(3, true, 80, 72); - stacks.init(4, true, 82, 15); - - stacks.init(5, false, 46, 44); - - stacks.set(unused); - - stacks.set(5, unused.getOutputs(VanillaTypes.ITEM).get(0)); - } -} diff --git a/src/main/java/com/minelittlepony/gui/Button.java b/src/main/java/com/minelittlepony/gui/Button.java deleted file mode 100644 index 57b5e4b4..00000000 --- a/src/main/java/com/minelittlepony/gui/Button.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.minelittlepony.gui; - -import java.util.List; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiButton; - -public class Button extends GuiButton implements IGuiTooltipped