From 2fa521c3d15a2e2fd733a8346e30d46cbaa3d889 Mon Sep 17 00:00:00 2001 From: Sen Date: Sun, 4 May 2025 20:27:55 +0200 Subject: [PATCH] split client and server 1 --- java/src/{game => client}/Game.java | 108 +++--- .../{game/util => client}/PerfSection.java | 4 +- .../network => client}/PlayerController.java | 6 +- .../{game/util => client}/SkinConverter.java | 2 +- java/src/{game/util => client}/Timing.java | 2 +- .../audio/AudioInterface.java | 3 +- .../{game => client}/audio/CodecJOrbis.java | 19 +- .../{game => client}/audio/SoundManager.java | 60 ++- java/src/{game => client}/audio/Volume.java | 32 +- .../{game => client}/audio/jogg/Buffer.java | 2 +- .../{game => client}/audio/jogg/Packet.java | 2 +- .../src/{game => client}/audio/jogg/Page.java | 2 +- .../audio/jogg/StreamState.java | 2 +- .../audio/jogg/SyncState.java | 2 +- .../{game => client}/audio/jorbis/Block.java | 5 +- .../audio/jorbis/ChainingExample.java | 2 +- .../audio/jorbis/CodeBook.java | 4 +- .../audio/jorbis/Comment.java | 5 +- .../audio/jorbis/DecodeExample.java | 7 +- .../{game => client}/audio/jorbis/Drft.java | 2 +- .../audio/jorbis/DspState.java | 2 +- .../{game => client}/audio/jorbis/Floor0.java | 4 +- .../{game => client}/audio/jorbis/Floor1.java | 4 +- .../audio/jorbis/FuncFloor.java | 4 +- .../audio/jorbis/FuncMapping.java | 4 +- .../audio/jorbis/FuncResidue.java | 4 +- .../audio/jorbis/FuncTime.java | 4 +- .../{game => client}/audio/jorbis/Info.java | 5 +- .../audio/jorbis/InfoMode.java | 2 +- .../audio/jorbis/JOrbisException.java | 2 +- .../{game => client}/audio/jorbis/Lookup.java | 2 +- .../{game => client}/audio/jorbis/Lpc.java | 2 +- .../{game => client}/audio/jorbis/Lsp.java | 2 +- .../audio/jorbis/Mapping0.java | 4 +- .../{game => client}/audio/jorbis/Mdct.java | 2 +- .../audio/jorbis/PsyInfo.java | 2 +- .../audio/jorbis/PsyLook.java | 2 +- .../audio/jorbis/Residue0.java | 4 +- .../audio/jorbis/Residue1.java | 2 +- .../audio/jorbis/Residue2.java | 2 +- .../audio/jorbis/StaticCodeBook.java | 4 +- .../{game => client}/audio/jorbis/Time0.java | 4 +- .../{game => client}/audio/jorbis/Util.java | 2 +- .../audio/jorbis/VorbisFile.java | 12 +- .../util => client/gui}/FileCallback.java | 2 +- java/src/{game => client}/gui/Font.java | 6 +- java/src/{game => client}/gui/FontChar.java | 2 +- .../{game/util => client/gui}/Formatter.java | 4 +- java/src/{game => client}/gui/Gui.java | 21 +- java/src/{game => client}/gui/GuiConfirm.java | 10 +- java/src/{game => client}/gui/GuiConnect.java | 15 +- java/src/{game => client}/gui/GuiConsole.java | 17 +- java/src/{game => client}/gui/GuiConvert.java | 18 +- java/src/{game => client}/gui/GuiInfo.java | 6 +- java/src/{game => client}/gui/GuiLoading.java | 8 +- java/src/{game => client}/gui/GuiMenu.java | 25 +- java/src/{game => client}/gui/GuiServer.java | 14 +- .../{game/util => client/gui}/Splashes.java | 2 +- java/src/{game => client}/gui/Style.java | 6 +- .../gui/character/GuiChar.java | 53 +-- .../gui/character/GuiCharacters.java | 20 +- .../gui/character/GuiClass.java | 14 +- .../gui/character/GuiSpecies.java | 14 +- .../gui/container/GuiBrewing.java | 2 +- .../gui/container/GuiChest.java | 4 +- .../gui/container/GuiContainer.java | 17 +- .../gui/container/GuiCrafting.java | 2 +- .../gui/container/GuiDispenser.java | 2 +- .../gui/container/GuiEnchant.java | 2 +- .../gui/container/GuiFurnace.java | 2 +- .../gui/container/GuiHopper.java | 4 +- .../gui/container/GuiHorse.java | 4 +- .../gui/container/GuiInventory.java | 2 +- .../gui/container/GuiMachine.java | 4 +- .../gui/container/GuiMerchant.java | 6 +- .../gui/container/GuiRepair.java | 4 +- .../gui/element/ActButton.java | 6 +- .../src/{game => client}/gui/element/Bar.java | 4 +- .../gui/element/Dropdown.java | 12 +- .../{game => client}/gui/element/Element.java | 22 +- .../{game => client}/gui/element/Fill.java | 6 +- .../{game => client}/gui/element/GuiList.java | 17 +- .../gui/element/InventoryButton.java | 4 +- .../{game => client}/gui/element/Label.java | 4 +- .../gui/element/ListEntry.java | 2 +- .../gui/element/NavButton.java | 8 +- .../gui/element/SelectableButton.java | 4 +- .../{game => client}/gui/element/Slider.java | 8 +- .../{game => client}/gui/element/Switch.java | 6 +- .../{game => client}/gui/element/Textbox.java | 18 +- .../{game => client}/gui/element/Toggle.java | 8 +- .../gui/element/TransparentBox.java | 4 +- .../gui/ingame/GuiGameOver.java | 10 +- .../{game => client}/gui/ingame/GuiSign.java | 10 +- .../gui/options/GuiBinds.java | 12 +- .../gui/options/GuiDisplay.java | 20 +- .../gui/options/GuiOptions.java | 8 +- .../gui/options/GuiSound.java | 8 +- .../gui/options/GuiStyle.java | 24 +- .../src/client/init/EntityRenderRegistry.java | 157 ++++++++ .../renderer/ActiveRenderInfo.java | 2 +- .../renderer/BlockRenderer.java | 21 +- .../renderer/DefaultVertexFormats.java | 2 +- .../{game => client}/renderer/Drawing.java | 8 +- .../renderer/EntityRenderer.java | 16 +- .../{game => client}/renderer/Frustum.java | 2 +- .../{game => client}/renderer/GlState.java | 2 +- .../renderer/ItemModelMesher.java | 10 +- .../renderer/ItemRenderer.java | 17 +- .../{game => client}/renderer/Project.java | 2 +- .../renderer/RegionRenderCache.java | 2 +- .../renderer/RegionRenderCacheBuilder.java | 4 +- .../renderer/RenderBuffer.java | 2 +- .../renderer/RenderGlobal.java | 33 +- .../renderer/Tessellator.java | 2 +- .../renderer/VertexBuffer.java | 2 +- .../renderer/VertexFormat.java | 3 +- .../renderer/VertexFormatElement.java | 2 +- .../renderer/ViewFrustum.java | 4 +- .../renderer/blockmodel}/BakedModel.java | 10 +- .../renderer/blockmodel/BakedQuad.java | 2 +- .../renderer/blockmodel/BlockFaceUV.java | 2 +- .../renderer/blockmodel/BlockPart.java | 6 +- .../renderer/blockmodel/BlockPartFace.java | 4 +- .../blockmodel/BlockPartRotation.java | 4 +- .../renderer/blockmodel/BreakingFour.java | 4 +- .../renderer/blockmodel}/BuiltInModel.java | 7 +- .../renderer/blockmodel/FaceBakery.java | 10 +- .../renderer/blockmodel}/IBakedModel.java | 7 +- .../renderer/blockmodel}/ModelBakery.java | 27 +- .../renderer/blockmodel/ModelBlock.java | 203 +++++++++++ .../renderer/blockmodel/ModelGenerator.java | 13 +- .../renderer/blockmodel}/ModelManager.java | 12 +- .../renderer/blockmodel/MultiStateMap.java | 3 +- .../renderer/blockmodel/SingleStateMap.java | 2 +- .../renderer/blockmodel/StateMap.java | 5 +- .../chunk/ChunkCompileTaskGenerator.java | 5 +- .../renderer/chunk/ChunkRenderDispatcher.java | 13 +- .../renderer/chunk/ChunkRenderWorker.java | 11 +- .../renderer/chunk/CompiledChunk.java | 7 +- .../renderer/chunk/RenderChunk.java | 25 +- .../renderer/chunk/SetVisibility.java | 2 +- .../renderer/chunk/VisGraph.java | 2 +- .../renderer/entity/Render.java | 20 +- .../renderer/entity/RenderArachnoid.java | 6 +- .../renderer/entity/RenderArrow.java | 10 +- .../renderer/entity/RenderBat.java | 4 +- .../renderer/entity/RenderBlockEntity.java | 8 +- .../renderer/entity/RenderBoat.java | 6 +- .../renderer/entity/RenderBullet.java | 10 +- .../renderer/entity/RenderChicken.java | 4 +- .../renderer/entity/RenderCow.java | 4 +- .../renderer/entity/RenderCrystal.java | 6 +- .../renderer/entity/RenderDie.java | 10 +- .../renderer/entity/RenderDragon.java | 8 +- .../renderer/entity/RenderDynamite.java | 2 +- .../renderer/entity/RenderEntity.java | 2 +- .../renderer/entity/RenderEntityItem.java | 14 +- .../renderer/entity/RenderFallingBlock.java | 18 +- .../renderer/entity/RenderFireball.java | 16 +- .../renderer/entity/RenderFish.java | 14 +- .../renderer/entity/RenderFlyingBox.java | 6 +- .../renderer/entity/RenderHorse.java | 9 +- .../renderer/entity/RenderHumanoid.java | 22 +- .../renderer/entity/RenderItem.java | 43 ++- .../renderer/entity/RenderItemEntity.java | 8 +- .../renderer/entity/RenderLeashKnot.java | 6 +- .../renderer/entity/RenderLightning.java | 10 +- .../renderer/entity/RenderLiving.java | 14 +- .../renderer/entity/RenderManager.java | 21 +- .../renderer/entity/RenderMinecart.java | 12 +- .../renderer/entity/RenderMooshroom.java | 6 +- .../renderer/entity/RenderMouse.java | 4 +- .../renderer/entity/RenderNpc.java | 6 +- .../renderer/entity/RenderOcelot.java | 4 +- .../renderer/entity/RenderPig.java | 6 +- .../renderer/entity/RenderPotion.java | 2 +- .../renderer/entity/RenderRabbit.java | 4 +- .../renderer/entity/RenderSheep.java | 6 +- .../renderer/entity/RenderSlime.java | 6 +- .../renderer/entity/RenderSpaceMarine.java | 8 +- .../renderer/entity/RenderSquid.java | 4 +- .../renderer/entity/RenderTntMinecart.java | 8 +- .../renderer/entity/RenderTntPrimed.java | 10 +- .../renderer/entity/RenderWolf.java | 8 +- .../renderer/entity/RenderXpOrb.java | 10 +- .../renderer/entity/RendererLivingEntity.java | 19 +- .../renderer/layers/LayerArachnoidArmor.java | 6 +- .../renderer/layers/LayerArmor.java | 10 +- .../renderer/layers/LayerArrow.java | 10 +- .../renderer/layers/LayerCape.java | 8 +- .../renderer/layers/LayerCharge.java | 8 +- .../renderer/layers/LayerEnderDragonEyes.java | 6 +- .../renderer/layers/LayerEntityBreak.java | 12 +- .../renderer/layers/LayerExtra.java | 15 +- .../renderer/layers/LayerHeldItem.java | 10 +- .../layers/LayerMooshroomMushroom.java | 14 +- .../renderer/layers/LayerPowerRods.java | 8 +- .../renderer/layers/LayerRenderer.java | 2 +- .../renderer/layers/LayerSaddle.java | 6 +- .../renderer/layers/LayerSheepWool.java | 8 +- .../renderer/layers/LayerSlimeGel.java | 10 +- .../renderer/layers/LayerWolfCollar.java | 6 +- .../renderer/model/ModelArachnoid.java | 2 +- .../renderer/model/ModelArmor.java | 2 +- .../renderer/model/ModelBanner.java | 2 +- .../renderer/model/ModelBase.java | 3 +- .../renderer/model/ModelBat.java | 2 +- .../renderer/model/ModelBiped.java | 2 +- .../renderer/model/ModelBoat.java | 2 +- .../renderer/model/ModelBox.java | 4 +- .../renderer/model/ModelCharge.java | 2 +- .../renderer/model/ModelChest.java | 2 +- .../renderer/model/ModelChicken.java | 2 +- .../renderer/model/ModelCow.java | 2 +- .../renderer/model/ModelCrystal.java | 2 +- .../renderer/model/ModelDie.java | 2 +- .../renderer/model/ModelDragon.java | 4 +- .../renderer/model/ModelHead.java | 2 +- .../renderer/model/ModelHorse.java | 2 +- .../renderer/model/ModelHumanoid.java | 2 +- .../renderer/model/ModelHumanoidHead.java | 2 +- .../renderer/model/ModelLargeChest.java | 2 +- .../renderer/model/ModelLeashKnot.java | 2 +- .../renderer/model/ModelMinecart.java | 2 +- .../renderer/model/ModelMouse.java | 2 +- .../renderer/model/ModelOcelot.java | 2 +- .../renderer/model/ModelPig.java | 2 +- .../renderer/model/ModelQuadruped.java | 2 +- .../renderer/model/ModelRabbit.java | 2 +- .../renderer/model/ModelRenderer.java | 7 +- .../renderer/model/ModelSheep1.java | 2 +- .../renderer/model/ModelSheep2.java | 2 +- .../renderer/model/ModelSign.java | 2 +- .../renderer/model/ModelSlime.java | 2 +- .../renderer/model/ModelSpaceMarine.java | 2 +- .../renderer/model/ModelSquid.java | 2 +- .../renderer/model/ModelWolf.java | 2 +- .../renderer/model/PositionTextureVertex.java | 2 +- .../renderer/model/TextureOffset.java | 2 +- .../renderer/model/TexturedQuad.java | 16 +- .../renderer/particle/EffectRenderer.java | 20 +- .../renderer/particle/EntityAuraFX.java | 2 +- .../renderer/particle/EntityBlockDustFX.java | 2 +- .../renderer/particle/EntityBreakingFX.java | 6 +- .../renderer/particle/EntityBubbleFX.java | 2 +- .../renderer/particle/EntityCloudFX.java | 4 +- .../renderer/particle/EntityCrit2FX.java | 4 +- .../renderer/particle/EntityCritFX.java | 2 +- .../renderer/particle/EntityDiggingFX.java | 6 +- .../renderer/particle/EntityDownfallFX.java | 2 +- .../particle/EntityDropParticleFX.java | 3 +- .../EntityEnchantmentTableParticleFX.java | 2 +- .../renderer/particle/EntityExplodeFX.java | 2 +- .../renderer/particle/EntityFX.java | 8 +- .../renderer/particle/EntityFirework.java | 6 +- .../renderer/particle/EntityFishWakeFX.java | 2 +- .../renderer/particle/EntityFlameFX.java | 4 +- .../renderer/particle/EntityFootStepFX.java | 14 +- .../renderer/particle/EntityHeartFX.java | 4 +- .../particle/EntityHugeExplodeFX.java | 5 +- .../particle/EntityLargeExplodeFX.java | 18 +- .../renderer/particle/EntityLavaFX.java | 5 +- .../renderer/particle/EntityNoteFX.java | 4 +- .../particle/EntityParticleEmitter.java | 5 +- .../renderer/particle/EntityPickupFX.java | 10 +- .../renderer/particle/EntityPortalFX.java | 4 +- .../renderer/particle/EntityReddustFX.java | 4 +- .../renderer/particle/EntitySmokeFX.java | 4 +- .../renderer/particle/EntitySnowShovelFX.java | 4 +- .../particle/EntitySpellParticleFX.java | 4 +- .../renderer/particle/EntitySplashFX.java | 2 +- .../renderer/particle/EntitySuspendFX.java | 2 +- .../renderer/particle/IParticleFactory.java | 2 +- .../renderer/texture/DynamicTexture.java | 4 +- .../renderer/texture/EntityTexManager.java | 9 +- .../renderer/texture/IIconCreator.java | 2 +- .../texture/LayeredColorMaskTexture.java | 2 +- .../renderer/texture/LayeredTexture.java | 3 +- .../renderer/texture/SimpleTexture.java | 2 +- .../renderer/texture/Stitcher.java | 2 +- .../renderer/texture/Texture.java | 4 +- .../renderer/texture/TextureAtlasSprite.java | 2 +- .../renderer/texture/TextureManager.java | 5 +- .../renderer/texture/TextureMap.java | 7 +- .../renderer/texture/TextureTicked.java | 2 +- .../renderer/texture/TextureUtil.java | 4 +- .../renderer/ticked/TextureFlamesFX1.java | 4 +- .../renderer/ticked/TextureFlamesFX2.java | 2 +- .../renderer/ticked/TextureLavaFX.java | 4 +- .../renderer/ticked/TextureLavaFlowFX.java | 4 +- .../renderer/ticked/TextureWaterFX.java | 4 +- .../renderer/ticked/TextureWaterFlowFX.java | 4 +- .../tileentity/TileEntityBannerRenderer.java | 11 +- .../tileentity/TileEntityChestRenderer.java | 8 +- .../TileEntityItemStackRenderer.java | 4 +- .../TileEntityMobSpawnerRenderer.java | 4 +- .../tileentity/TileEntityPistonRenderer.java | 18 +- .../TileEntityRendererDispatcher.java | 7 +- .../tileentity/TileEntitySignRenderer.java | 10 +- .../tileentity/TileEntitySkullRenderer.java | 6 +- .../tileentity/TileEntitySpecialRenderer.java | 4 +- java/src/{game => client}/window/Bind.java | 10 +- java/src/{game => client}/window/Button.java | 4 +- .../{game => client}/window/DisplayMode.java | 2 +- java/src/client/window/Input.java | 8 + .../src/{game => client}/window/KeyEvent.java | 2 +- java/src/{game => client}/window/Keysym.java | 2 +- java/src/{game => client}/window/Wheel.java | 4 +- java/src/{game => client}/window/Window.java | 51 ++- .../{game => client}/window/WindowAction.java | 2 +- .../{game => client}/window/WindowEvent.java | 2 +- java/src/game/ai/EntityAIAvoidEntity.java | 3 +- java/src/game/ai/EntityAIEatGrass.java | 2 +- .../game/ai/EntityAIFindEntityNearest.java | 1 - java/src/game/ai/EntityAIMate.java | 2 +- .../game/ai/EntityAIMoveThroughVillage.java | 1 - .../ai/EntityAINearestAttackableTarget.java | 1 - java/src/game/ai/EntityAITakePlace.java | 3 +- java/src/game/ai/EntitySenses.java | 1 - java/src/game/biome/Biome.java | 5 +- java/src/game/block/Block.java | 15 +- java/src/game/block/BlockAnvil.java | 9 +- java/src/game/block/BlockBanner.java | 2 +- .../game/block/BlockBasePressurePlate.java | 9 +- java/src/game/block/BlockBeacon.java | 9 +- java/src/game/block/BlockBed.java | 15 +- java/src/game/block/BlockBedrock.java | 2 +- java/src/game/block/BlockBlackenedSoil.java | 7 +- java/src/game/block/BlockBlueShroom.java | 7 +- java/src/game/block/BlockBookshelf.java | 7 +- java/src/game/block/BlockBrewingStand.java | 27 +- java/src/game/block/BlockBush.java | 2 +- java/src/game/block/BlockButton.java | 10 +- java/src/game/block/BlockCactus.java | 9 +- java/src/game/block/BlockCake.java | 25 +- java/src/game/block/BlockCarpet.java | 9 +- java/src/game/block/BlockCarrot.java | 7 +- java/src/game/block/BlockCauldron.java | 17 +- java/src/game/block/BlockCocoa.java | 15 +- java/src/game/block/BlockColored.java | 7 +- java/src/game/block/BlockCrops.java | 12 +- .../src/game/block/BlockDaylightDetector.java | 10 +- java/src/game/block/BlockDeadBush.java | 7 +- java/src/game/block/BlockDirt.java | 17 +- java/src/game/block/BlockDispenser.java | 9 +- java/src/game/block/BlockDoor.java | 22 +- java/src/game/block/BlockDoublePlant.java | 18 +- java/src/game/block/BlockDragonEgg.java | 9 +- java/src/game/block/BlockDryLeaves.java | 1 - .../src/game/block/BlockEnchantmentTable.java | 9 +- java/src/game/block/BlockFarmland.java | 7 +- java/src/game/block/BlockFence.java | 20 +- java/src/game/block/BlockFenceGate.java | 15 +- java/src/game/block/BlockFire.java | 144 ++++---- java/src/game/block/BlockFloorPortal.java | 10 +- java/src/game/block/BlockFlower.java | 14 +- java/src/game/block/BlockFlowerPot.java | 13 +- java/src/game/block/BlockFurnace.java | 9 +- java/src/game/block/BlockGlass.java | 2 +- java/src/game/block/BlockGrass.java | 11 +- java/src/game/block/BlockHopper.java | 12 +- java/src/game/block/BlockHugeMushroom.java | 35 +- java/src/game/block/BlockIce.java | 2 +- java/src/game/block/BlockJukebox.java | 7 +- java/src/game/block/BlockLadder.java | 9 +- java/src/game/block/BlockLeaves.java | 13 +- java/src/game/block/BlockLeavesBase.java | 2 +- java/src/game/block/BlockLever.java | 11 +- java/src/game/block/BlockLilyPad.java | 7 +- java/src/game/block/BlockLiquid.java | 4 +- java/src/game/block/BlockLog.java | 18 +- java/src/game/block/BlockMelon.java | 7 +- java/src/game/block/BlockMobSpawner.java | 2 +- java/src/game/block/BlockMushroom.java | 7 +- java/src/game/block/BlockMycelium.java | 11 +- java/src/game/block/BlockNote.java | 2 +- java/src/game/block/BlockNuke.java | 7 +- java/src/game/block/BlockPane.java | 41 ++- java/src/game/block/BlockPistonBase.java | 11 +- java/src/game/block/BlockPistonHead.java | 14 +- java/src/game/block/BlockPortal.java | 13 +- java/src/game/block/BlockPortalFrame.java | 9 +- java/src/game/block/BlockPotato.java | 7 +- java/src/game/block/BlockPumpkin.java | 7 +- java/src/game/block/BlockQuartz.java | 19 +- java/src/game/block/BlockRailBase.java | 20 +- java/src/game/block/BlockRailDetector.java | 8 +- java/src/game/block/BlockRailPowered.java | 7 +- .../game/block/BlockRedstoneComparator.java | 17 +- java/src/game/block/BlockRedstoneDiode.java | 2 +- java/src/game/block/BlockRedstoneOre.java | 9 +- .../src/game/block/BlockRedstoneRepeater.java | 47 +-- java/src/game/block/BlockRedstoneTorch.java | 3 +- java/src/game/block/BlockRedstoneWire.java | 100 ++--- java/src/game/block/BlockReed.java | 9 +- java/src/game/block/BlockRock.java | 7 +- java/src/game/block/BlockRotatedPillar.java | 11 +- java/src/game/block/BlockSand.java | 11 +- java/src/game/block/BlockSandStone.java | 15 +- java/src/game/block/BlockSapling.java | 8 +- java/src/game/block/BlockSkull.java | 2 +- java/src/game/block/BlockSlab.java | 64 ++-- java/src/game/block/BlockSlime.java | 9 +- java/src/game/block/BlockSnow.java | 11 +- java/src/game/block/BlockStainedGlass.java | 9 +- .../src/game/block/BlockStainedGlassPane.java | 2 +- java/src/game/block/BlockStairs.java | 19 +- java/src/game/block/BlockStem.java | 23 +- java/src/game/block/BlockStoneBrick.java | 11 +- java/src/game/block/BlockTNT.java | 7 +- java/src/game/block/BlockTallGrass.java | 13 +- java/src/game/block/BlockTianReactor.java | 7 +- java/src/game/block/BlockTianSoil.java | 9 +- java/src/game/block/BlockTorch.java | 13 +- java/src/game/block/BlockTrapDoor.java | 21 +- java/src/game/block/BlockTripWire.java | 55 +-- java/src/game/block/BlockTripWireHook.java | 21 +- java/src/game/block/BlockVine.java | 9 +- java/src/game/block/BlockWall.java | 23 +- java/src/game/block/BlockWarpChest.java | 9 +- java/src/game/block/BlockWart.java | 7 +- java/src/game/block/BlockWeb.java | 9 +- java/src/game/block/BlockWorkbench.java | 7 +- java/src/game/block/LeavesType.java | 4 +- java/src/game/{audio => block}/SoundType.java | 2 +- java/src/game/clipboard/ClipboardPlacer.java | 3 +- java/src/game/color/Colorizer.java | 2 +- java/src/game/color/DyeColor.java | 5 +- java/src/game/command/Command.java | 1 - java/src/game/command/CommandEnvironment.java | 19 +- java/src/game/command/FixedExecutor.java | 2 +- java/src/game/command/PlayerParser.java | 1 + java/src/game/command/WorldParser.java | 1 - .../game/command/commands/CommandAdmin.java | 4 +- .../game/command/commands/CommandHelp.java | 5 +- .../game/command/commands/CommandKick.java | 4 +- .../game/command/commands/CommandMessage.java | 2 +- .../game/command/commands/CommandMilk.java | 3 +- .../command/commands/CommandOfflinetp.java | 3 +- .../game/command/commands/CommandPotion.java | 3 +- .../game/command/commands/CommandRemove.java | 3 +- .../game/command/commands/CommandRevoke.java | 4 +- .../game/command/commands/CommandSpawn.java | 5 +- .../game/command/commands/CommandTele.java | 5 +- .../game/command/commands/CommandTime.java | 4 +- java/src/game/command/commands/CommandTp.java | 3 +- .../game/command/commands/CommandWarp.java | 3 +- .../game/command/commands/CommandWeather.java | 4 +- .../game/command/commands/CommandWorld.java | 3 +- java/src/game/dimension/Dimension.java | 5 +- java/src/game/dimension/Star.java | 1 - java/src/game/enchantment/Enchantment.java | 1 - .../game/enchantment/EnchantmentHelper.java | 1 - java/src/game/entity/DataWatcher.java | 1 - java/src/game/entity/Entity.java | 4 +- java/src/game/entity/EntityTrackerEntry.java | 1 - java/src/game/entity/animal/EntityDragon.java | 3 +- java/src/game/entity/animal/EntityHorse.java | 4 +- .../game/entity/animal/EntityMooshroom.java | 2 +- java/src/game/entity/animal/EntityRabbit.java | 2 +- java/src/game/entity/animal/EntitySheep.java | 3 +- java/src/game/entity/animal/EntityWolf.java | 2 +- .../src/game/entity/attributes/Attribute.java | 1 - java/src/game/entity/item/EntityBoat.java | 2 +- java/src/game/entity/item/EntityFalling.java | 3 +- .../src/game/entity/item/EntityFireworks.java | 2 +- .../game/entity/item/EntityHopperCart.java | 1 - java/src/game/entity/item/EntityItem.java | 2 +- java/src/game/entity/item/EntityNuke.java | 2 +- java/src/game/entity/item/EntityOrb.java | 2 +- java/src/game/entity/item/EntityTnt.java | 2 +- java/src/game/entity/item/EntityTntCart.java | 2 +- java/src/game/entity/item/EntityXp.java | 2 +- java/src/game/entity/npc/Alignment.java | 1 - .../game/entity/npc/EntityChaosMarine.java | 5 +- java/src/game/entity/npc/EntityDarkMage.java | 2 +- java/src/game/entity/npc/EntityGargoyle.java | 2 +- java/src/game/entity/npc/EntityHuman.java | 4 +- java/src/game/entity/npc/EntityMagma.java | 2 +- java/src/game/entity/npc/EntityNPC.java | 33 +- java/src/game/entity/npc/EntityPrimarch.java | 5 +- java/src/game/entity/npc/EntitySlime.java | 2 +- .../game/entity/npc/EntitySpaceMarine.java | 5 +- java/src/game/entity/npc/EntityZombie.java | 1 - java/src/game/entity/npc/SpeciesInfo.java | 5 +- .../game/entity/projectile/EntityArrow.java | 2 +- .../entity/projectile/EntityDynamite.java | 2 +- .../src/game/entity/projectile/EntityEgg.java | 2 +- .../game/entity/projectile/EntityHook.java | 2 +- .../entity/projectile/EntityProjectile.java | 2 +- .../entity/projectile/EntitySnowball.java | 2 +- java/src/game/entity/types/EntityAnimal.java | 5 +- java/src/game/entity/types/EntityLiving.java | 9 +- .../src/game/entity/types/EntityTameable.java | 2 +- .../game/entity/types/EntityThrowable.java | 2 +- java/src/game/init/BlockRegistry.java | 9 +- java/src/game/init/Config.java | 2 +- java/src/game/init/CraftingRegistry.java | 5 +- java/src/game/init/EntityRegistry.java | 111 ------ java/src/game/init/FluidRegistry.java | 5 +- java/src/game/init/ItemRegistry.java | 5 +- java/src/game/init/ObjectIntIdentityMap.java | 2 +- java/src/game/init/RotationRegistry.java | 5 +- java/src/game/init/SmeltingRegistry.java | 3 +- java/src/game/init/SoundEvent.java | 52 +-- java/src/game/init/SpeciesRegistry.java | 1 - java/src/game/init/TileRegistry.java | 1 - java/src/game/init/ToolMaterial.java | 1 - java/src/game/init/UniverseRegistry.java | 7 +- java/src/game/inventory/Container.java | 1 - .../game/inventory/ContainerLocalMenu.java | 1 - java/src/game/inventory/ContainerPlayer.java | 1 - java/src/game/inventory/InventoryBasic.java | 1 - java/src/game/item/Item.java | 14 +- java/src/game/item/ItemArmor.java | 14 +- java/src/game/item/ItemBanner.java | 10 +- java/src/game/item/ItemBlock.java | 17 +- java/src/game/item/ItemBow.java | 9 +- java/src/game/item/ItemBucket.java | 16 +- java/src/game/item/ItemBucketMilk.java | 1 - java/src/game/item/ItemButton.java | 7 +- java/src/game/item/ItemCarrotOnAStick.java | 2 +- java/src/game/item/ItemChargedOrb.java | 2 +- java/src/game/item/ItemChest.java | 10 +- java/src/game/item/ItemCloth.java | 9 +- java/src/game/item/ItemCoal.java | 7 +- java/src/game/item/ItemDie.java | 9 +- java/src/game/item/ItemDoublePlant.java | 7 +- java/src/game/item/ItemDye.java | 9 +- java/src/game/item/ItemDynamite.java | 7 +- java/src/game/item/ItemEditWand.java | 2 +- java/src/game/item/ItemEnchantedBook.java | 2 +- java/src/game/item/ItemFence.java | 7 +- java/src/game/item/ItemFirework.java | 1 - java/src/game/item/ItemFireworkCharge.java | 7 +- java/src/game/item/ItemFishFood.java | 8 +- java/src/game/item/ItemFishingRod.java | 9 +- java/src/game/item/ItemGlassBottle.java | 7 +- java/src/game/item/ItemGunBase.java | 2 +- java/src/game/item/ItemHoe.java | 2 +- java/src/game/item/ItemKey.java | 2 +- java/src/game/item/ItemMagnet.java | 3 +- java/src/game/item/ItemMetal.java | 1 - java/src/game/item/ItemMetalBlock.java | 3 +- java/src/game/item/ItemMonsterPlacer.java | 7 +- java/src/game/item/ItemNpcSpawner.java | 7 +- java/src/game/item/ItemNugget.java | 2 +- java/src/game/item/ItemPiston.java | 7 +- java/src/game/item/ItemPotion.java | 10 +- java/src/game/item/ItemPressurePlate.java | 7 +- java/src/game/item/ItemRecord.java | 7 +- java/src/game/item/ItemRod.java | 2 +- java/src/game/item/ItemSeeds.java | 2 +- java/src/game/item/ItemSkull.java | 10 +- java/src/game/item/ItemSmall.java | 2 +- java/src/game/item/ItemSoup.java | 2 +- java/src/game/item/ItemStack.java | 3 +- java/src/game/item/ItemStick.java | 2 +- java/src/game/item/ItemSword.java | 5 +- java/src/game/item/ItemTiny.java | 2 +- java/src/game/item/ItemTool.java | 5 +- java/src/game/item/ItemWall.java | 9 +- java/src/game/item/ItemWand.java | 2 +- java/src/game/log/Log.java | 1 - java/src/game/log/LogLevel.java | 4 +- .../game/{renderer => model}/BlockLayer.java | 2 +- .../ItemMeshDefinition.java | 2 +- java/src/game/model/Model.java | 177 +++++++++ java/src/game/model/ModelProvider.java | 90 +++++ java/src/game/model/ModelRotation.java | 5 +- .../particle => model}/ParticleType.java | 2 +- .../blockmodel => model}/Transform.java | 6 +- .../blockmodel => model}/Transforms.java | 15 +- java/src/game/nbt/NBTTagList.java | 1 - java/src/game/network/ClientLoginHandler.java | 2 +- java/src/game/network/ClientPlayer.java | 24 +- java/src/game/network/HandshakeHandler.java | 2 +- java/src/game/network/LoginHandler.java | 2 +- java/src/game/network/NetConnection.java | 1 - java/src/game/network/PacketRegistry.java | 1 - java/src/game/network/Player.java | 7 +- java/src/game/packet/CPacketAction.java | 2 +- java/src/game/packet/CPacketBook.java | 2 +- java/src/game/packet/CPacketBreak.java | 2 +- java/src/game/packet/CPacketCheat.java | 2 +- java/src/game/packet/CPacketClick.java | 2 +- java/src/game/packet/CPacketComplete.java | 2 +- java/src/game/packet/CPacketInput.java | 2 +- java/src/game/packet/CPacketMessage.java | 2 +- java/src/game/packet/CPacketPlace.java | 2 +- java/src/game/packet/CPacketPlayer.java | 2 +- java/src/game/packet/CPacketSign.java | 2 +- java/src/game/packet/CPacketSkin.java | 4 +- .../game/packet/LPacketPasswordResponse.java | 2 +- .../packet/S20PacketEntityProperties.java | 1 - java/src/game/packet/S27PacketExplosion.java | 1 - java/src/game/packet/S2APacketParticles.java | 2 +- .../game/packet/S38PacketPlayerListItem.java | 3 +- .../src/game/packet/SPacketCharacterList.java | 4 +- java/src/game/packet/SPacketChunkData.java | 1 - java/src/game/packet/SPacketSkin.java | 2 +- java/src/game/packet/SPacketSpawnPlayer.java | 2 +- java/src/game/pattern/BlockStateHelper.java | 3 +- java/src/game/potion/Potion.java | 2 +- .../game/properties/IStringSerializable.java | 6 - .../game/properties/PropertyDirection.java | 5 +- java/src/game/properties/PropertyEnum.java | 19 +- .../game/renderer/blockmodel/ModelBlock.java | 342 ------------------ java/src/game/rng/WeightedList.java | 3 +- java/src/game/sound/EventType.java | 5 + .../game/{audio => sound}/MovingSound.java | 2 +- .../{audio => sound}/MovingSoundMinecart.java | 2 +- .../MovingSoundMinecartRiding.java | 2 +- .../{audio => sound}/PositionedSound.java | 4 +- java/src/game/{audio => sound}/Sound.java | 6 +- .../src/game/tileentity/TileEntityBanner.java | 3 +- .../src/game/tileentity/TileEntityHopper.java | 1 - .../game/tileentity/TileEntityMobSpawner.java | 2 +- .../src/game/tileentity/TileEntityPiston.java | 1 - java/src/game/util/Identifyable.java | 6 + .../src/game/{renderer => util}/Matrix4f.java | 2 +- java/src/game/util/Util.java | 9 +- java/src/game/{renderer => util}/Vector.java | 2 +- .../src/game/{renderer => util}/Vector3f.java | 2 +- .../src/game/{renderer => util}/Vector4f.java | 2 +- java/src/game/vars/BoolVar.java | 2 +- java/src/game/vars/CVar.java | 2 +- java/src/game/vars/ColorVar.java | 10 +- java/src/game/vars/EnumVar.java | 18 +- java/src/game/vars/FloatVar.java | 2 +- java/src/game/vars/IntVar.java | 2 +- java/src/game/vars/StringVar.java | 4 +- java/src/game/village/Village.java | 3 +- java/src/game/village/VillageCollection.java | 3 +- java/src/game/window/Input.java | 8 - java/src/game/world/BlockPos.java | 1 - java/src/game/world/Chunk.java | 3 +- java/src/game/world/Converter.java | 11 +- java/src/game/world/EmptyChunk.java | 1 - java/src/game/world/Explosion.java | 5 +- java/src/game/world/Facing.java | 9 +- java/src/game/world/Region.java | 3 +- java/src/game/world/Spawner.java | 3 +- java/src/game/world/State.java | 5 +- java/src/game/world/Vec3.java | 6 - java/src/game/world/Weather.java | 1 - java/src/game/world/World.java | 7 +- java/src/game/world/WorldClient.java | 17 +- java/src/game/world/WorldServer.java | 13 +- java/src/game/worldgen/BiomeGenLayered.java | 3 +- java/src/game/worldgen/GeneratorDebug.java | 3 +- .../worldgen/feature/WorldGenDesertWells.java | 3 +- .../worldgen/structure/MapGenStructure.java | 1 - .../worldgen/structure/MapGenStructureIO.java | 1 - .../worldgen/structure/MapGenVillage.java | 3 +- .../worldgen/structure/StructureBridge.java | 1 - .../structure/StructureStronghold.java | 5 +- .../worldgen/structure/StructureVillage.java | 3 +- .../game/worldgen/tree/WorldGenBigTree.java | 3 +- java/src/{game => server}/Server.java | 15 +- 661 files changed, 3058 insertions(+), 2826 deletions(-) rename java/src/{game => client}/Game.java (98%) rename java/src/{game/util => client}/PerfSection.java (96%) rename java/src/{game/network => client}/PlayerController.java (99%) rename java/src/{game/util => client}/SkinConverter.java (99%) rename java/src/{game/util => client}/Timing.java (97%) rename java/src/{game => client}/audio/AudioInterface.java (99%) rename java/src/{game => client}/audio/CodecJOrbis.java (98%) rename java/src/{game => client}/audio/SoundManager.java (79%) rename java/src/{game => client}/audio/Volume.java (70%) rename java/src/{game => client}/audio/jogg/Buffer.java (99%) rename java/src/{game => client}/audio/jogg/Packet.java (98%) rename java/src/{game => client}/audio/jogg/Page.java (99%) rename java/src/{game => client}/audio/jogg/StreamState.java (99%) rename java/src/{game => client}/audio/jogg/SyncState.java (99%) rename java/src/{game => client}/audio/jorbis/Block.java (97%) rename java/src/{game => client}/audio/jorbis/ChainingExample.java (98%) rename java/src/{game => client}/audio/jorbis/CodeBook.java (99%) rename java/src/{game => client}/audio/jorbis/Comment.java (98%) rename java/src/{game => client}/audio/jorbis/DecodeExample.java (98%) rename java/src/{game => client}/audio/jorbis/Drft.java (99%) rename java/src/{game => client}/audio/jorbis/DspState.java (99%) rename java/src/{game => client}/audio/jorbis/Floor0.java (99%) rename java/src/{game => client}/audio/jorbis/Floor1.java (99%) rename java/src/{game => client}/audio/jorbis/FuncFloor.java (96%) rename java/src/{game => client}/audio/jorbis/FuncMapping.java (95%) rename java/src/{game => client}/audio/jorbis/FuncResidue.java (96%) rename java/src/{game => client}/audio/jorbis/FuncTime.java (95%) rename java/src/{game => client}/audio/jorbis/Info.java (99%) rename java/src/{game => client}/audio/jorbis/InfoMode.java (97%) rename java/src/{game => client}/audio/jorbis/JOrbisException.java (97%) rename java/src/{game => client}/audio/jorbis/Lookup.java (99%) rename java/src/{game => client}/audio/jorbis/Lpc.java (99%) rename java/src/{game => client}/audio/jorbis/Lsp.java (99%) rename java/src/{game => client}/audio/jorbis/Mapping0.java (99%) rename java/src/{game => client}/audio/jorbis/Mdct.java (99%) rename java/src/{game => client}/audio/jorbis/PsyInfo.java (98%) rename java/src/{game => client}/audio/jorbis/PsyLook.java (97%) rename java/src/{game => client}/audio/jorbis/Residue0.java (99%) rename java/src/{game => client}/audio/jorbis/Residue1.java (97%) rename java/src/{game => client}/audio/jorbis/Residue2.java (97%) rename java/src/{game => client}/audio/jorbis/StaticCodeBook.java (99%) rename java/src/{game => client}/audio/jorbis/Time0.java (95%) rename java/src/{game => client}/audio/jorbis/Util.java (92%) rename java/src/{game => client}/audio/jorbis/VorbisFile.java (99%) rename java/src/{game/util => client/gui}/FileCallback.java (79%) rename java/src/{game => client}/gui/Font.java (96%) rename java/src/{game => client}/gui/FontChar.java (91%) rename java/src/{game/util => client/gui}/Formatter.java (57%) rename java/src/{game => client}/gui/Gui.java (97%) rename java/src/{game => client}/gui/GuiConfirm.java (87%) rename java/src/{game => client}/gui/GuiConnect.java (97%) rename java/src/{game => client}/gui/GuiConsole.java (97%) rename java/src/{game => client}/gui/GuiConvert.java (95%) rename java/src/{game => client}/gui/GuiInfo.java (98%) rename java/src/{game => client}/gui/GuiLoading.java (96%) rename java/src/{game => client}/gui/GuiMenu.java (95%) rename java/src/{game => client}/gui/GuiServer.java (95%) rename java/src/{game/util => client/gui}/Splashes.java (99%) rename java/src/{game => client}/gui/Style.java (96%) rename java/src/{game => client}/gui/character/GuiChar.java (96%) rename java/src/{game => client}/gui/character/GuiCharacters.java (93%) rename java/src/{game => client}/gui/character/GuiClass.java (90%) rename java/src/{game => client}/gui/character/GuiSpecies.java (90%) rename java/src/{game => client}/gui/container/GuiBrewing.java (97%) rename java/src/{game => client}/gui/container/GuiChest.java (97%) rename java/src/{game => client}/gui/container/GuiContainer.java (99%) rename java/src/{game => client}/gui/container/GuiCrafting.java (97%) rename java/src/{game => client}/gui/container/GuiDispenser.java (98%) rename java/src/{game => client}/gui/container/GuiEnchant.java (99%) rename java/src/{game => client}/gui/container/GuiFurnace.java (98%) rename java/src/{game => client}/gui/container/GuiHopper.java (97%) rename java/src/{game => client}/gui/container/GuiHorse.java (98%) rename java/src/{game => client}/gui/container/GuiInventory.java (98%) rename java/src/{game => client}/gui/container/GuiMachine.java (96%) rename java/src/{game => client}/gui/container/GuiMerchant.java (99%) rename java/src/{game => client}/gui/container/GuiRepair.java (99%) rename java/src/{game => client}/gui/element/ActButton.java (90%) rename java/src/{game => client}/gui/element/Bar.java (98%) rename java/src/{game => client}/gui/element/Dropdown.java (95%) rename java/src/{game => client}/gui/element/Element.java (95%) rename java/src/{game => client}/gui/element/Fill.java (92%) rename java/src/{game => client}/gui/element/GuiList.java (98%) rename java/src/{game => client}/gui/element/InventoryButton.java (88%) rename java/src/{game => client}/gui/element/Label.java (92%) rename java/src/{game => client}/gui/element/ListEntry.java (83%) rename java/src/{game => client}/gui/element/NavButton.java (90%) rename java/src/{game => client}/gui/element/SelectableButton.java (94%) rename java/src/{game => client}/gui/element/Slider.java (98%) rename java/src/{game => client}/gui/element/Switch.java (95%) rename java/src/{game => client}/gui/element/Textbox.java (98%) rename java/src/{game => client}/gui/element/Toggle.java (93%) rename java/src/{game => client}/gui/element/TransparentBox.java (86%) rename java/src/{game => client}/gui/ingame/GuiGameOver.java (84%) rename java/src/{game => client}/gui/ingame/GuiSign.java (88%) rename java/src/{game => client}/gui/options/GuiBinds.java (90%) rename java/src/{game => client}/gui/options/GuiDisplay.java (91%) rename java/src/{game => client}/gui/options/GuiOptions.java (86%) rename java/src/{game => client}/gui/options/GuiSound.java (85%) rename java/src/{game => client}/gui/options/GuiStyle.java (90%) create mode 100644 java/src/client/init/EntityRenderRegistry.java rename java/src/{game => client}/renderer/ActiveRenderInfo.java (99%) rename java/src/{game => client}/renderer/BlockRenderer.java (98%) rename java/src/{game => client}/renderer/DefaultVertexFormats.java (99%) rename java/src/{game => client}/renderer/Drawing.java (99%) rename java/src/{game => client}/renderer/EntityRenderer.java (99%) rename java/src/{game => client}/renderer/Frustum.java (99%) rename java/src/{game => client}/renderer/GlState.java (99%) rename java/src/{game => client}/renderer/ItemModelMesher.java (95%) rename java/src/{game => client}/renderer/ItemRenderer.java (98%) rename java/src/{game => client}/renderer/Project.java (99%) rename java/src/{game => client}/renderer/RegionRenderCache.java (99%) rename java/src/{game => client}/renderer/RegionRenderCacheBuilder.java (92%) rename java/src/{game => client}/renderer/RenderBuffer.java (99%) rename java/src/{game => client}/renderer/RenderGlobal.java (99%) rename java/src/{game => client}/renderer/Tessellator.java (99%) rename java/src/{game => client}/renderer/VertexBuffer.java (97%) rename java/src/{game => client}/renderer/VertexFormat.java (99%) rename java/src/{game => client}/renderer/VertexFormatElement.java (99%) rename java/src/{game => client}/renderer/ViewFrustum.java (98%) rename java/src/{game/model => client/renderer/blockmodel}/BakedModel.java (94%) rename java/src/{game => client}/renderer/blockmodel/BakedQuad.java (93%) rename java/src/{game => client}/renderer/blockmodel/BlockFaceUV.java (94%) rename java/src/{game => client}/renderer/blockmodel/BlockPart.java (92%) rename java/src/{game => client}/renderer/blockmodel/BlockPartFace.java (82%) rename java/src/{game => client}/renderer/blockmodel/BlockPartRotation.java (86%) rename java/src/{game => client}/renderer/blockmodel/BreakingFour.java (95%) rename java/src/{game/model => client/renderer/blockmodel}/BuiltInModel.java (83%) rename java/src/{game => client}/renderer/blockmodel/FaceBakery.java (99%) rename java/src/{game/model => client/renderer/blockmodel}/IBakedModel.java (69%) rename java/src/{game/model => client/renderer/blockmodel}/ModelBakery.java (93%) create mode 100755 java/src/client/renderer/blockmodel/ModelBlock.java rename java/src/{game => client}/renderer/blockmodel/ModelGenerator.java (97%) rename java/src/{game/model => client/renderer/blockmodel}/ModelManager.java (95%) rename java/src/{game => client}/renderer/blockmodel/MultiStateMap.java (98%) rename java/src/{game => client}/renderer/blockmodel/SingleStateMap.java (89%) rename java/src/{game => client}/renderer/blockmodel/StateMap.java (97%) rename java/src/{game => client}/renderer/chunk/ChunkCompileTaskGenerator.java (97%) rename java/src/{game => client}/renderer/chunk/ChunkRenderDispatcher.java (97%) rename java/src/{game => client}/renderer/chunk/ChunkRenderWorker.java (98%) rename java/src/{game => client}/renderer/chunk/CompiledChunk.java (95%) rename java/src/{game => client}/renderer/chunk/RenderChunk.java (96%) rename java/src/{game => client}/renderer/chunk/SetVisibility.java (98%) rename java/src/{game => client}/renderer/chunk/VisGraph.java (99%) rename java/src/{game => client}/renderer/entity/Render.java (98%) rename java/src/{game => client}/renderer/entity/RenderArachnoid.java (94%) rename java/src/{game => client}/renderer/entity/RenderArrow.java (95%) rename java/src/{game => client}/renderer/entity/RenderBat.java (94%) rename java/src/{game => client}/renderer/entity/RenderBlockEntity.java (95%) rename java/src/{game => client}/renderer/entity/RenderBoat.java (94%) rename java/src/{game => client}/renderer/entity/RenderBullet.java (94%) rename java/src/{game => client}/renderer/entity/RenderChicken.java (93%) rename java/src/{game => client}/renderer/entity/RenderCow.java (88%) rename java/src/{game => client}/renderer/entity/RenderCrystal.java (91%) rename java/src/{game => client}/renderer/entity/RenderDie.java (89%) rename java/src/{game => client}/renderer/entity/RenderDragon.java (95%) rename java/src/{game => client}/renderer/entity/RenderDynamite.java (93%) rename java/src/{game => client}/renderer/entity/RenderEntity.java (96%) rename java/src/{game => client}/renderer/entity/RenderEntityItem.java (93%) rename java/src/{game => client}/renderer/entity/RenderFallingBlock.java (88%) rename java/src/{game => client}/renderer/entity/RenderFireball.java (88%) rename java/src/{game => client}/renderer/entity/RenderFish.java (95%) rename java/src/{game => client}/renderer/entity/RenderFlyingBox.java (94%) rename java/src/{game => client}/renderer/entity/RenderHorse.java (94%) rename java/src/{game => client}/renderer/entity/RenderHumanoid.java (96%) rename java/src/{game => client}/renderer/entity/RenderItem.java (90%) rename java/src/{game => client}/renderer/entity/RenderItemEntity.java (90%) rename java/src/{game => client}/renderer/entity/RenderLeashKnot.java (92%) rename java/src/{game => client}/renderer/entity/RenderLightning.java (96%) rename java/src/{game => client}/renderer/entity/RenderLiving.java (95%) rename java/src/{game => client}/renderer/entity/RenderManager.java (96%) rename java/src/{game => client}/renderer/entity/RenderMinecart.java (95%) rename java/src/{game => client}/renderer/entity/RenderMooshroom.java (83%) rename java/src/{game => client}/renderer/entity/RenderMouse.java (85%) rename java/src/{game => client}/renderer/entity/RenderNpc.java (97%) rename java/src/{game => client}/renderer/entity/RenderOcelot.java (95%) rename java/src/{game => client}/renderer/entity/RenderPig.java (83%) rename java/src/{game => client}/renderer/entity/RenderPotion.java (93%) rename java/src/{game => client}/renderer/entity/RenderRabbit.java (94%) rename java/src/{game => client}/renderer/entity/RenderSheep.java (83%) rename java/src/{game => client}/renderer/entity/RenderSlime.java (96%) rename java/src/{game => client}/renderer/entity/RenderSpaceMarine.java (95%) rename java/src/{game => client}/renderer/entity/RenderSquid.java (95%) rename java/src/{game => client}/renderer/entity/RenderTntMinecart.java (92%) rename java/src/{game => client}/renderer/entity/RenderTntPrimed.java (93%) rename java/src/{game => client}/renderer/entity/RenderWolf.java (90%) rename java/src/{game => client}/renderer/entity/RenderXpOrb.java (94%) rename java/src/{game => client}/renderer/entity/RendererLivingEntity.java (98%) rename java/src/{game => client}/renderer/layers/LayerArachnoidArmor.java (80%) rename java/src/{game => client}/renderer/layers/LayerArmor.java (97%) rename java/src/{game => client}/renderer/layers/LayerArrow.java (93%) rename java/src/{game => client}/renderer/layers/LayerCape.java (96%) rename java/src/{game => client}/renderer/layers/LayerCharge.java (92%) rename java/src/{game => client}/renderer/layers/LayerEnderDragonEyes.java (93%) rename java/src/{game => client}/renderer/layers/LayerEntityBreak.java (93%) rename java/src/{game => client}/renderer/layers/LayerExtra.java (96%) rename java/src/{game => client}/renderer/layers/LayerHeldItem.java (93%) rename java/src/{game => client}/renderer/layers/LayerMooshroomMushroom.java (89%) rename java/src/{game => client}/renderer/layers/LayerPowerRods.java (94%) rename java/src/{game => client}/renderer/layers/LayerRenderer.java (90%) rename java/src/{game => client}/renderer/layers/LayerSaddle.java (89%) rename java/src/{game => client}/renderer/layers/LayerSheepWool.java (93%) rename java/src/{game => client}/renderer/layers/LayerSlimeGel.java (86%) rename java/src/{game => client}/renderer/layers/LayerWolfCollar.java (92%) rename java/src/{game => client}/renderer/model/ModelArachnoid.java (99%) rename java/src/{game => client}/renderer/model/ModelArmor.java (98%) rename java/src/{game => client}/renderer/model/ModelBanner.java (96%) rename java/src/{game => client}/renderer/model/ModelBase.java (98%) rename java/src/{game => client}/renderer/model/ModelBat.java (99%) rename java/src/{game => client}/renderer/model/ModelBiped.java (99%) rename java/src/{game => client}/renderer/model/ModelBoat.java (98%) rename java/src/{game => client}/renderer/model/ModelBox.java (99%) rename java/src/{game => client}/renderer/model/ModelCharge.java (94%) rename java/src/{game => client}/renderer/model/ModelChest.java (97%) rename java/src/{game => client}/renderer/model/ModelChicken.java (99%) rename java/src/{game => client}/renderer/model/ModelCow.java (97%) rename java/src/{game => client}/renderer/model/ModelCrystal.java (98%) rename java/src/{game => client}/renderer/model/ModelDie.java (96%) rename java/src/{game => client}/renderer/model/ModelDragon.java (99%) rename java/src/{game => client}/renderer/model/ModelHead.java (98%) rename java/src/{game => client}/renderer/model/ModelHorse.java (99%) rename java/src/{game => client}/renderer/model/ModelHumanoid.java (99%) rename java/src/{game => client}/renderer/model/ModelHumanoidHead.java (97%) rename java/src/{game => client}/renderer/model/ModelLargeChest.java (96%) rename java/src/{game => client}/renderer/model/ModelLeashKnot.java (98%) rename java/src/{game => client}/renderer/model/ModelMinecart.java (98%) rename java/src/{game => client}/renderer/model/ModelMouse.java (99%) rename java/src/{game => client}/renderer/model/ModelOcelot.java (99%) rename java/src/{game => client}/renderer/model/ModelPig.java (90%) rename java/src/{game => client}/renderer/model/ModelQuadruped.java (99%) rename java/src/{game => client}/renderer/model/ModelRabbit.java (99%) rename java/src/{game => client}/renderer/model/ModelRenderer.java (99%) rename java/src/{game => client}/renderer/model/ModelSheep1.java (98%) rename java/src/{game => client}/renderer/model/ModelSheep2.java (98%) rename java/src/{game => client}/renderer/model/ModelSign.java (95%) rename java/src/{game => client}/renderer/model/ModelSlime.java (98%) rename java/src/{game => client}/renderer/model/ModelSpaceMarine.java (99%) rename java/src/{game => client}/renderer/model/ModelSquid.java (98%) rename java/src/{game => client}/renderer/model/ModelWolf.java (99%) rename java/src/{game => client}/renderer/model/PositionTextureVertex.java (90%) rename java/src/{game => client}/renderer/model/TextureOffset.java (92%) rename java/src/{game => client}/renderer/model/TexturedQuad.java (84%) rename java/src/{game => client}/renderer/particle/EffectRenderer.java (97%) rename java/src/{game => client}/renderer/particle/EntityAuraFX.java (98%) rename java/src/{game => client}/renderer/particle/EntityBlockDustFX.java (96%) rename java/src/{game => client}/renderer/particle/EntityBreakingFX.java (98%) rename java/src/{game => client}/renderer/particle/EntityBubbleFX.java (98%) rename java/src/{game => client}/renderer/particle/EntityCloudFX.java (97%) rename java/src/{game => client}/renderer/particle/EntityCrit2FX.java (98%) rename java/src/{game => client}/renderer/particle/EntityCritFX.java (95%) rename java/src/{game => client}/renderer/particle/EntityDiggingFX.java (98%) rename java/src/{game => client}/renderer/particle/EntityDownfallFX.java (99%) rename java/src/{game => client}/renderer/particle/EntityDropParticleFX.java (98%) rename java/src/{game => client}/renderer/particle/EntityEnchantmentTableParticleFX.java (98%) rename java/src/{game => client}/renderer/particle/EntityExplodeFX.java (98%) rename java/src/{game => client}/renderer/particle/EntityFX.java (98%) rename java/src/{game => client}/renderer/particle/EntityFirework.java (99%) rename java/src/{game => client}/renderer/particle/EntityFishWakeFX.java (98%) rename java/src/{game => client}/renderer/particle/EntityFlameFX.java (98%) rename java/src/{game => client}/renderer/particle/EntityFootStepFX.java (92%) rename java/src/{game => client}/renderer/particle/EntityHeartFX.java (97%) rename java/src/{game => client}/renderer/particle/EntityHugeExplodeFX.java (94%) rename java/src/{game => client}/renderer/particle/EntityLargeExplodeFX.java (93%) rename java/src/{game => client}/renderer/particle/EntityLavaFX.java (96%) rename java/src/{game => client}/renderer/particle/EntityNoteFX.java (97%) rename java/src/{game => client}/renderer/particle/EntityParticleEmitter.java (95%) rename java/src/{game => client}/renderer/particle/EntityPickupFX.java (93%) rename java/src/{game => client}/renderer/particle/EntityPortalFX.java (98%) rename java/src/{game => client}/renderer/particle/EntityReddustFX.java (97%) rename java/src/{game => client}/renderer/particle/EntitySmokeFX.java (97%) rename java/src/{game => client}/renderer/particle/EntitySnowShovelFX.java (97%) rename java/src/{game => client}/renderer/particle/EntitySpellParticleFX.java (98%) rename java/src/{game => client}/renderer/particle/EntitySplashFX.java (96%) rename java/src/{game => client}/renderer/particle/EntitySuspendFX.java (98%) rename java/src/{game => client}/renderer/particle/IParticleFactory.java (87%) rename java/src/{game => client}/renderer/texture/DynamicTexture.java (95%) rename java/src/{game => client}/renderer/texture/EntityTexManager.java (98%) rename java/src/{game => client}/renderer/texture/IIconCreator.java (72%) rename java/src/{game => client}/renderer/texture/LayeredColorMaskTexture.java (99%) rename java/src/{game => client}/renderer/texture/LayeredTexture.java (97%) rename java/src/{game => client}/renderer/texture/SimpleTexture.java (95%) rename java/src/{game => client}/renderer/texture/Stitcher.java (99%) rename java/src/{game => client}/renderer/texture/Texture.java (90%) rename java/src/{game => client}/renderer/texture/TextureAtlasSprite.java (99%) rename java/src/{game => client}/renderer/texture/TextureManager.java (95%) rename java/src/{game => client}/renderer/texture/TextureMap.java (99%) rename java/src/{game => client}/renderer/texture/TextureTicked.java (79%) rename java/src/{game => client}/renderer/texture/TextureUtil.java (98%) rename java/src/{game => client}/renderer/ticked/TextureFlamesFX1.java (93%) rename java/src/{game => client}/renderer/ticked/TextureFlamesFX2.java (85%) rename java/src/{game => client}/renderer/ticked/TextureLavaFX.java (94%) rename java/src/{game => client}/renderer/ticked/TextureLavaFlowFX.java (95%) rename java/src/{game => client}/renderer/ticked/TextureWaterFX.java (93%) rename java/src/{game => client}/renderer/ticked/TextureWaterFlowFX.java (94%) rename java/src/{game => client}/renderer/tileentity/TileEntityBannerRenderer.java (96%) rename java/src/{game => client}/renderer/tileentity/TileEntityChestRenderer.java (97%) rename java/src/{game => client}/renderer/tileentity/TileEntityItemStackRenderer.java (97%) rename java/src/{game => client}/renderer/tileentity/TileEntityMobSpawnerRenderer.java (96%) rename java/src/{game => client}/renderer/tileentity/TileEntityPistonRenderer.java (92%) rename java/src/{game => client}/renderer/tileentity/TileEntityRendererDispatcher.java (98%) rename java/src/{game => client}/renderer/tileentity/TileEntitySignRenderer.java (96%) rename java/src/{game => client}/renderer/tileentity/TileEntitySkullRenderer.java (96%) rename java/src/{game => client}/renderer/tileentity/TileEntitySpecialRenderer.java (95%) rename java/src/{game => client}/window/Bind.java (96%) rename java/src/{game => client}/window/Button.java (95%) rename java/src/{game => client}/window/DisplayMode.java (96%) create mode 100644 java/src/client/window/Input.java rename java/src/{game => client}/window/KeyEvent.java (69%) rename java/src/{game => client}/window/Keysym.java (99%) rename java/src/{game => client}/window/Wheel.java (93%) rename java/src/{game => client}/window/Window.java (77%) rename java/src/{game => client}/window/WindowAction.java (84%) rename java/src/{game => client}/window/WindowEvent.java (91%) rename java/src/game/{audio => block}/SoundType.java (94%) rename java/src/game/{renderer => model}/BlockLayer.java (93%) rename java/src/game/{renderer => model}/ItemMeshDefinition.java (83%) create mode 100644 java/src/game/model/Model.java create mode 100644 java/src/game/model/ModelProvider.java rename java/src/game/{renderer/particle => model}/ParticleType.java (99%) rename java/src/game/{renderer/blockmodel => model}/Transform.java (83%) rename java/src/game/{renderer/blockmodel => model}/Transforms.java (91%) delete mode 100755 java/src/game/properties/IStringSerializable.java delete mode 100755 java/src/game/renderer/blockmodel/ModelBlock.java create mode 100644 java/src/game/sound/EventType.java rename java/src/game/{audio => sound}/MovingSound.java (94%) rename java/src/game/{audio => sound}/MovingSoundMinecart.java (98%) rename java/src/game/{audio => sound}/MovingSoundMinecartRiding.java (98%) rename java/src/game/{audio => sound}/PositionedSound.java (88%) rename java/src/game/{audio => sound}/Sound.java (89%) create mode 100755 java/src/game/util/Identifyable.java rename java/src/game/{renderer => util}/Matrix4f.java (99%) rename java/src/game/{renderer => util}/Vector.java (99%) rename java/src/game/{renderer => util}/Vector3f.java (99%) rename java/src/game/{renderer => util}/Vector4f.java (99%) delete mode 100644 java/src/game/window/Input.java rename java/src/{game => server}/Server.java (99%) diff --git a/java/src/game/Game.java b/java/src/client/Game.java similarity index 98% rename from java/src/game/Game.java rename to java/src/client/Game.java index efd3175..be13f94 100755 --- a/java/src/game/Game.java +++ b/java/src/client/Game.java @@ -1,4 +1,4 @@ -package game; +package client; import java.awt.image.BufferedImage; import java.io.BufferedInputStream; @@ -30,21 +30,54 @@ import java.util.concurrent.FutureTask; import java.util.function.Function; import javax.imageio.ImageIO; + import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL13; -import game.collect.Lists; -import game.collect.Maps; -import game.future.Futures; -import game.future.ListenableFuture; -import game.future.ListenableFutureTask; - -import game.audio.AudioInterface; -import game.audio.PositionedSound; -import game.audio.SoundManager; -import game.audio.Volume; +import client.audio.AudioInterface; +import client.audio.SoundManager; +import client.audio.Volume; +import client.gui.FileCallback; +import client.gui.Font; +import client.gui.Gui; +import client.gui.GuiConsole; +import client.gui.GuiInfo; +import client.gui.GuiLoading; +import client.gui.GuiMenu; +import client.gui.GuiServer; +import client.gui.Style; +import client.gui.character.GuiChar; +import client.gui.container.GuiContainer; +import client.gui.container.GuiInventory; +import client.gui.element.Textbox; +import client.gui.ingame.GuiGameOver; +import client.renderer.BlockRenderer; +import client.renderer.Drawing; +import client.renderer.EntityRenderer; +import client.renderer.GlState; +import client.renderer.ItemRenderer; +import client.renderer.RenderGlobal; +import client.renderer.blockmodel.ModelBlock; +import client.renderer.blockmodel.ModelManager; +import client.renderer.chunk.RenderChunk; +import client.renderer.entity.RenderItem; +import client.renderer.entity.RenderManager; +import client.renderer.particle.EffectRenderer; +import client.renderer.texture.EntityTexManager; +import client.renderer.texture.TextureManager; +import client.renderer.texture.TextureMap; +import client.window.Bind; +import client.window.Button; +import client.window.DisplayMode; +import client.window.KeyEvent; +import client.window.Keysym; +import client.window.Wheel; +import client.window.Window; +import client.window.WindowEvent; import game.biome.Biome; import game.block.Block; +import game.collect.Lists; +import game.collect.Maps; import game.color.Colorizer; import game.color.TextColor; import game.entity.Entity; @@ -52,19 +85,9 @@ import game.entity.animal.EntityHorse; import game.entity.npc.Energy; import game.entity.npc.EntityNPC; import game.entity.types.EntityLiving; -import game.gui.Font; -import game.gui.Gui; -import game.gui.GuiConsole; -import game.gui.GuiInfo; -import game.gui.GuiLoading; -import game.gui.GuiMenu; -import game.gui.GuiServer; -import game.gui.Style; -import game.gui.character.GuiChar; -import game.gui.container.GuiContainer; -import game.gui.container.GuiInventory; -import game.gui.element.Textbox; -import game.gui.ingame.GuiGameOver; +import game.future.Futures; +import game.future.ListenableFuture; +import game.future.ListenableFutureTask; import game.init.BlockRegistry; import game.init.Config; import game.init.EntityRegistry; @@ -81,13 +104,11 @@ import game.log.Log; import game.log.LogLevel; import game.log.Message; import game.material.Material; -import game.model.ModelManager; +import game.network.ClientLoginHandler; +import game.network.ClientPlayer; import game.network.IThreadListener; import game.network.NetConnection; import game.network.NetHandler.ThreadQuickExitException; -import game.network.ClientLoginHandler; -import game.network.ClientPlayer; -import game.network.PlayerController; import game.packet.CPacketAction; import game.packet.CPacketAction.Action; import game.packet.CPacketCheat; @@ -98,26 +119,12 @@ import game.potion.Potion; import game.potion.PotionEffect; import game.potion.PotionHelper; import game.properties.IProperty; -import game.renderer.BlockRenderer; -import game.renderer.Drawing; -import game.renderer.EntityRenderer; -import game.renderer.GlState; -import game.renderer.ItemRenderer; -import game.renderer.RenderGlobal; -import game.renderer.chunk.RenderChunk; -import game.renderer.entity.RenderItem; -import game.renderer.entity.RenderManager; -import game.renderer.particle.EffectRenderer; -import game.renderer.texture.EntityTexManager; -import game.renderer.texture.TextureManager; -import game.renderer.texture.TextureMap; import game.rng.Random; +import game.sound.EventType; +import game.sound.PositionedSound; import game.util.CharValidator; import game.util.ExtMath; -import game.util.FileCallback; import game.util.FileUtils; -import game.util.PerfSection; -import game.util.Timing; import game.util.Util; import game.vars.BaseVar.VarFunction; import game.vars.BoolVar; @@ -135,14 +142,6 @@ import game.vars.StringVar; import game.vars.StringVar.StringFunction; import game.vars.Variable; import game.vars.Variable.IntType; -import game.window.Bind; -import game.window.Button; -import game.window.DisplayMode; -import game.window.KeyEvent; -import game.window.Keysym; -import game.window.Wheel; -import game.window.Window; -import game.window.WindowEvent; import game.world.BlockPos; import game.world.BoundingBox; import game.world.Chunk; @@ -2359,7 +2358,7 @@ public class Game implements IThreadListener { private void startSound(boolean load) { if(load) - SoundEvent.loadSounds(); + SoundManager.loadSounds(); audio = new AudioInterface(this.soundFrameSize, this.soundBufferSize, !this.soundEnabled); boolean started = audio.start(); Log.flushLog(); @@ -2585,7 +2584,7 @@ public class Game implements IThreadListener { if(func != null) { Bind.disableInput(key); if(!(this.open instanceof GuiLoading)) { - this.soundManager.playSound(new PositionedSound(SoundEvent.CLICK, Volume.GUI)); + this.soundManager.playSound(new PositionedSound(SoundEvent.CLICK, EventType.UI_INTERFACE)); func.runner.execute(key); } } @@ -2598,6 +2597,7 @@ public class Game implements IThreadListener { Util.checkOs(); Log.init(INSTANCE); Window.init(); + ModelBlock.setAsProvider(); Registry.setup("Render thread"); INSTANCE.run(); Window.end(); diff --git a/java/src/game/util/PerfSection.java b/java/src/client/PerfSection.java similarity index 96% rename from java/src/game/util/PerfSection.java rename to java/src/client/PerfSection.java index 581d4bd..f1f9bf5 100644 --- a/java/src/game/util/PerfSection.java +++ b/java/src/client/PerfSection.java @@ -1,4 +1,6 @@ -package game.util; +package client; + +import game.util.Util; public enum PerfSection { TIMING("Timing"), diff --git a/java/src/game/network/PlayerController.java b/java/src/client/PlayerController.java similarity index 99% rename from java/src/game/network/PlayerController.java rename to java/src/client/PlayerController.java index 1646602..1b6d07b 100755 --- a/java/src/game/network/PlayerController.java +++ b/java/src/client/PlayerController.java @@ -1,7 +1,5 @@ -package game.network; +package client; -import game.Game; -import game.audio.PositionedSound; import game.block.Block; import game.entity.Entity; import game.entity.npc.EntityNPC; @@ -11,10 +9,12 @@ import game.item.ItemBlock; import game.item.ItemControl; import game.item.ItemStack; import game.material.Material; +import game.network.ClientPlayer; import game.packet.CPacketAction; import game.packet.CPacketBreak; import game.packet.CPacketClick; import game.packet.CPacketPlace; +import game.sound.PositionedSound; import game.world.BlockPos; import game.world.Facing; import game.world.State; diff --git a/java/src/game/util/SkinConverter.java b/java/src/client/SkinConverter.java similarity index 99% rename from java/src/game/util/SkinConverter.java rename to java/src/client/SkinConverter.java index 5cb618f..c787066 100755 --- a/java/src/game/util/SkinConverter.java +++ b/java/src/client/SkinConverter.java @@ -1,4 +1,4 @@ -package game.util; +package client; import java.awt.Color; import java.awt.Graphics; diff --git a/java/src/game/util/Timing.java b/java/src/client/Timing.java similarity index 97% rename from java/src/game/util/Timing.java rename to java/src/client/Timing.java index 59f312d..96094f3 100644 --- a/java/src/game/util/Timing.java +++ b/java/src/client/Timing.java @@ -1,4 +1,4 @@ -package game.util; +package client; public class Timing { public static long tmr_timer; diff --git a/java/src/game/audio/AudioInterface.java b/java/src/client/audio/AudioInterface.java similarity index 99% rename from java/src/game/audio/AudioInterface.java rename to java/src/client/audio/AudioInterface.java index 1631cb7..a1f8654 100644 --- a/java/src/game/audio/AudioInterface.java +++ b/java/src/client/audio/AudioInterface.java @@ -1,4 +1,4 @@ -package game.audio; +package client.audio; import java.util.Arrays; import java.util.List; @@ -11,7 +11,6 @@ import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.SourceDataLine; import game.collect.Lists; - import game.log.Log; public class AudioInterface implements Runnable { diff --git a/java/src/game/audio/CodecJOrbis.java b/java/src/client/audio/CodecJOrbis.java similarity index 98% rename from java/src/game/audio/CodecJOrbis.java rename to java/src/client/audio/CodecJOrbis.java index 19a92cf..aa1bfe6 100644 --- a/java/src/game/audio/CodecJOrbis.java +++ b/java/src/client/audio/CodecJOrbis.java @@ -1,15 +1,16 @@ -package game.audio; +package client.audio; import java.io.IOException; import java.io.InputStream; -import game.audio.jogg.Packet; -import game.audio.jogg.Page; -import game.audio.jogg.StreamState; -import game.audio.jogg.SyncState; -import game.audio.jorbis.Block; -import game.audio.jorbis.Comment; -import game.audio.jorbis.DspState; -import game.audio.jorbis.Info; + +import client.audio.jogg.Packet; +import client.audio.jogg.Page; +import client.audio.jogg.StreamState; +import client.audio.jogg.SyncState; +import client.audio.jorbis.Block; +import client.audio.jorbis.Comment; +import client.audio.jorbis.DspState; +import client.audio.jorbis.Info; public class CodecJOrbis { diff --git a/java/src/game/audio/SoundManager.java b/java/src/client/audio/SoundManager.java similarity index 79% rename from java/src/game/audio/SoundManager.java rename to java/src/client/audio/SoundManager.java index d6d3f86..dfd1474 100755 --- a/java/src/game/audio/SoundManager.java +++ b/java/src/client/audio/SoundManager.java @@ -1,19 +1,28 @@ -package game.audio; +package client.audio; +import java.io.BufferedInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import client.Game; import game.collect.BiMap; import game.collect.HashBiMap; import game.collect.Lists; import game.collect.Maps; - -import game.Game; import game.entity.npc.EntityNPC; +import game.init.SoundEvent; +import game.log.Log; +import game.rng.Random; +import game.sound.MovingSound; +import game.sound.Sound; import game.util.ExtMath; +import game.util.FileUtils; public class SoundManager { private class Source { @@ -67,6 +76,9 @@ public class SoundManager { } } + private static final Random RANDOM = new Random(); + private static final Map BUFFERS = Maps.newEnumMap(SoundEvent.class); + private final Map playingSounds = HashBiMap.create(); private final Map invPlayingSounds = ((BiMap)this.playingSounds).inverse(); private final List tickableSounds = Lists.newArrayList(); @@ -85,6 +97,46 @@ public class SoundManager { public SoundManager(Game gm) { this.gm = gm; } + + public static void loadSounds() { + for(SoundEvent entry : SoundEvent.values()) { + short[][] buffers = new short[entry.getSounds().length][]; + for(int z = 0; z < entry.getSounds().length; z++) { + String sound = entry.getSounds()[z]; + Log.SOUND.trace("Lade Sound %s", sound); + buffers[z] = readOgg("sounds/" + sound + ".ogg"); + } + BUFFERS.put(entry, buffers); + } + } + + private static short[] readOgg(String filename) { + InputStream in = null; + try { + in = new BufferedInputStream(FileUtils.getResource(filename)); + return CodecJOrbis.readAll(in); + } + catch(FileNotFoundException e) { + Log.IO.error("Fehler beim Lesen von OPUS-Datei '%s': Datei nicht gefunden", filename); + return null; + } + catch(Exception e) { + Log.IO.error("Fehler beim Lesen von OPUS-Datei '%s': %s", filename, e.getMessage()); + return null; + } + finally { + try { + if(in != null) + in.close(); + } + catch(IOException e) { + } + } + } + + private static short[] getBuffer(SoundEvent event) { + return RANDOM.pick(BUFFERS.get(event)); + } public void unload() { @@ -183,7 +235,7 @@ public class SoundManager { if (volume > 0.0F) { String s = String.format("snd-%016x", this.eventId++); - this.sources.put(s, new Source(sound.getSoundLocation().getBuffer(), sound.getChannelType(), sound.canRepeat(), s, sound.getXPosF(), sound.getYPosF(), sound.getZPosF(), sound.getAttenuationType(), attn, volume)); + this.sources.put(s, new Source(getBuffer(sound.getSoundLocation()), Volume.getByType(sound.getChannelType()), sound.canRepeat(), s, sound.getXPosF(), sound.getYPosF(), sound.getZPosF(), sound.getAttenuationType(), attn, volume)); this.playingSoundsStopTime.put(s, this.playTime + 20); this.playingSounds.put(s, sound); if (sound instanceof MovingSound) diff --git a/java/src/game/audio/Volume.java b/java/src/client/audio/Volume.java similarity index 70% rename from java/src/game/audio/Volume.java rename to java/src/client/audio/Volume.java index 794ab45..d41e319 100644 --- a/java/src/game/audio/Volume.java +++ b/java/src/client/audio/Volume.java @@ -1,25 +1,45 @@ -package game.audio; +package client.audio; -import game.Game; +import client.Game; +import client.gui.element.Slider; import game.color.TextColor; -import game.gui.element.Slider; +import game.sound.EventType; import game.vars.CVar; import game.vars.CVarCategory; public enum Volume implements CVar { MASTER("master", "Gesamt"), MUSIC("music", "Musik"), - SFX("sfx", "Geräusche"), - GUI("gui", "Oberfläche"); + SFX("sfx", "Geräusche", EventType.SOUND_EFFECT), + GUI("gui", "Oberfläche", EventType.UI_INTERFACE); + + private static final Volume[] LOOKUP = new Volume[EventType.values().length]; public final String id; public final String name; + public final EventType type; private int value = 100; - private Volume(String id, String name) { + private Volume(String id, String name, EventType type) { this.id = id; this.name = name; + this.type = type; + } + + private Volume(String id, String name) { + this(id, name, null); + } + + static { + for(Volume volume : values()) { + if(volume.type != null) + LOOKUP[volume.type.ordinal()] = volume; + } + } + + public static Volume getByType(EventType type) { + return LOOKUP[type.ordinal()]; } public String getDisplay() { diff --git a/java/src/game/audio/jogg/Buffer.java b/java/src/client/audio/jogg/Buffer.java similarity index 99% rename from java/src/game/audio/jogg/Buffer.java rename to java/src/client/audio/jogg/Buffer.java index 761e609..68fe0fc 100644 --- a/java/src/game/audio/jogg/Buffer.java +++ b/java/src/client/audio/jogg/Buffer.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jogg; +package client.audio.jogg; public class Buffer{ private static final int BUFFER_INCREMENT=256; diff --git a/java/src/game/audio/jogg/Packet.java b/java/src/client/audio/jogg/Packet.java similarity index 98% rename from java/src/game/audio/jogg/Packet.java rename to java/src/client/audio/jogg/Packet.java index 0ede86d..67c8e13 100644 --- a/java/src/game/audio/jogg/Packet.java +++ b/java/src/client/audio/jogg/Packet.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jogg; +package client.audio.jogg; public class Packet{ public byte[] packet_base; diff --git a/java/src/game/audio/jogg/Page.java b/java/src/client/audio/jogg/Page.java similarity index 99% rename from java/src/game/audio/jogg/Page.java rename to java/src/client/audio/jogg/Page.java index a05a403..1b73823 100644 --- a/java/src/game/audio/jogg/Page.java +++ b/java/src/client/audio/jogg/Page.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jogg; +package client.audio.jogg; public class Page{ private static int[] crc_lookup=new int[256]; diff --git a/java/src/game/audio/jogg/StreamState.java b/java/src/client/audio/jogg/StreamState.java similarity index 99% rename from java/src/game/audio/jogg/StreamState.java rename to java/src/client/audio/jogg/StreamState.java index 3339bb3..cc6452b 100644 --- a/java/src/game/audio/jogg/StreamState.java +++ b/java/src/client/audio/jogg/StreamState.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jogg; +package client.audio.jogg; public class StreamState{ byte[] body_data; /* bytes from packet bodies */ diff --git a/java/src/game/audio/jogg/SyncState.java b/java/src/client/audio/jogg/SyncState.java similarity index 99% rename from java/src/game/audio/jogg/SyncState.java rename to java/src/client/audio/jogg/SyncState.java index 58e3743..10c86ea 100644 --- a/java/src/game/audio/jogg/SyncState.java +++ b/java/src/client/audio/jogg/SyncState.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jogg; +package client.audio.jogg; // DECODING PRIMITIVES: packet streaming layer diff --git a/java/src/game/audio/jorbis/Block.java b/java/src/client/audio/jorbis/Block.java similarity index 97% rename from java/src/game/audio/jorbis/Block.java rename to java/src/client/audio/jorbis/Block.java index a96d2e2..249d4d6 100644 --- a/java/src/game/audio/jorbis/Block.java +++ b/java/src/client/audio/jorbis/Block.java @@ -24,9 +24,10 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; -import game.audio.jogg.*; +import client.audio.jogg.Buffer; +import client.audio.jogg.Packet; public class Block{ ///necessary stream state for linking to the framing abstraction diff --git a/java/src/game/audio/jorbis/ChainingExample.java b/java/src/client/audio/jorbis/ChainingExample.java similarity index 98% rename from java/src/game/audio/jorbis/ChainingExample.java rename to java/src/client/audio/jorbis/ChainingExample.java index 1270c05..c1d9f3d 100644 --- a/java/src/game/audio/jorbis/ChainingExample.java +++ b/java/src/client/audio/jorbis/ChainingExample.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; class ChainingExample{ public static void main(String[] arg){ diff --git a/java/src/game/audio/jorbis/CodeBook.java b/java/src/client/audio/jorbis/CodeBook.java similarity index 99% rename from java/src/game/audio/jorbis/CodeBook.java rename to java/src/client/audio/jorbis/CodeBook.java index 40ce7eb..1a85d95 100644 --- a/java/src/game/audio/jorbis/CodeBook.java +++ b/java/src/client/audio/jorbis/CodeBook.java @@ -24,9 +24,9 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; -import game.audio.jogg.*; +import client.audio.jogg.Buffer; class CodeBook{ int dim; // codebook dimensions (elements per vector) diff --git a/java/src/game/audio/jorbis/Comment.java b/java/src/client/audio/jorbis/Comment.java similarity index 98% rename from java/src/game/audio/jorbis/Comment.java rename to java/src/client/audio/jorbis/Comment.java index 9ec44c8..85a2a92 100644 --- a/java/src/game/audio/jorbis/Comment.java +++ b/java/src/client/audio/jorbis/Comment.java @@ -24,9 +24,10 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; -import game.audio.jogg.*; +import client.audio.jogg.Buffer; +import client.audio.jogg.Packet; // the comments are not part of vorbis_info so that vorbis_info can be // static storage diff --git a/java/src/game/audio/jorbis/DecodeExample.java b/java/src/client/audio/jorbis/DecodeExample.java similarity index 98% rename from java/src/game/audio/jorbis/DecodeExample.java rename to java/src/client/audio/jorbis/DecodeExample.java index 0d5e999..a96c14f 100644 --- a/java/src/game/audio/jorbis/DecodeExample.java +++ b/java/src/client/audio/jorbis/DecodeExample.java @@ -24,9 +24,12 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; -import game.audio.jogg.*; +import client.audio.jogg.Packet; +import client.audio.jogg.Page; +import client.audio.jogg.StreamState; +import client.audio.jogg.SyncState; // Takes a vorbis bitstream from stdin and writes raw stereo PCM to // stdout. Decodes simple and chained OggVorbis files from beginning diff --git a/java/src/game/audio/jorbis/Drft.java b/java/src/client/audio/jorbis/Drft.java similarity index 99% rename from java/src/game/audio/jorbis/Drft.java rename to java/src/client/audio/jorbis/Drft.java index 052faea..1bdd82f 100644 --- a/java/src/game/audio/jorbis/Drft.java +++ b/java/src/client/audio/jorbis/Drft.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; class Drft{ int n; diff --git a/java/src/game/audio/jorbis/DspState.java b/java/src/client/audio/jorbis/DspState.java similarity index 99% rename from java/src/game/audio/jorbis/DspState.java rename to java/src/client/audio/jorbis/DspState.java index 1115570..5ff952c 100644 --- a/java/src/game/audio/jorbis/DspState.java +++ b/java/src/client/audio/jorbis/DspState.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; public class DspState{ static final float M_PI=3.1415926539f; diff --git a/java/src/game/audio/jorbis/Floor0.java b/java/src/client/audio/jorbis/Floor0.java similarity index 99% rename from java/src/game/audio/jorbis/Floor0.java rename to java/src/client/audio/jorbis/Floor0.java index 7a37aa7..17ab1fd 100644 --- a/java/src/game/audio/jorbis/Floor0.java +++ b/java/src/client/audio/jorbis/Floor0.java @@ -24,9 +24,9 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; -import game.audio.jogg.*; +import client.audio.jogg.Buffer; class Floor0 extends FuncFloor{ diff --git a/java/src/game/audio/jorbis/Floor1.java b/java/src/client/audio/jorbis/Floor1.java similarity index 99% rename from java/src/game/audio/jorbis/Floor1.java rename to java/src/client/audio/jorbis/Floor1.java index 70bc6d6..1d7c0ce 100644 --- a/java/src/game/audio/jorbis/Floor1.java +++ b/java/src/client/audio/jorbis/Floor1.java @@ -24,9 +24,9 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; -import game.audio.jogg.*; +import client.audio.jogg.Buffer; class Floor1 extends FuncFloor{ static final int floor1_rangedb=140; diff --git a/java/src/game/audio/jorbis/FuncFloor.java b/java/src/client/audio/jorbis/FuncFloor.java similarity index 96% rename from java/src/game/audio/jorbis/FuncFloor.java rename to java/src/client/audio/jorbis/FuncFloor.java index 81b1cc1..1abc43c 100644 --- a/java/src/game/audio/jorbis/FuncFloor.java +++ b/java/src/client/audio/jorbis/FuncFloor.java @@ -24,9 +24,9 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; -import game.audio.jogg.*; +import client.audio.jogg.Buffer; abstract class FuncFloor{ diff --git a/java/src/game/audio/jorbis/FuncMapping.java b/java/src/client/audio/jorbis/FuncMapping.java similarity index 95% rename from java/src/game/audio/jorbis/FuncMapping.java rename to java/src/client/audio/jorbis/FuncMapping.java index 2d94876..aa18945 100644 --- a/java/src/game/audio/jorbis/FuncMapping.java +++ b/java/src/client/audio/jorbis/FuncMapping.java @@ -24,9 +24,9 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; -import game.audio.jogg.*; +import client.audio.jogg.Buffer; abstract class FuncMapping{ public static FuncMapping[] mapping_P= {new Mapping0()}; diff --git a/java/src/game/audio/jorbis/FuncResidue.java b/java/src/client/audio/jorbis/FuncResidue.java similarity index 96% rename from java/src/game/audio/jorbis/FuncResidue.java rename to java/src/client/audio/jorbis/FuncResidue.java index d0b7aaf..2c405ba 100644 --- a/java/src/game/audio/jorbis/FuncResidue.java +++ b/java/src/client/audio/jorbis/FuncResidue.java @@ -24,9 +24,9 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; -import game.audio.jogg.*; +import client.audio.jogg.Buffer; abstract class FuncResidue{ public static FuncResidue[] residue_P= {new Residue0(), new Residue1(), diff --git a/java/src/game/audio/jorbis/FuncTime.java b/java/src/client/audio/jorbis/FuncTime.java similarity index 95% rename from java/src/game/audio/jorbis/FuncTime.java rename to java/src/client/audio/jorbis/FuncTime.java index f0ea437..7ba4a6b 100644 --- a/java/src/game/audio/jorbis/FuncTime.java +++ b/java/src/client/audio/jorbis/FuncTime.java @@ -24,9 +24,9 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; -import game.audio.jogg.*; +import client.audio.jogg.Buffer; abstract class FuncTime{ public static FuncTime[] time_P= {new Time0()}; diff --git a/java/src/game/audio/jorbis/Info.java b/java/src/client/audio/jorbis/Info.java similarity index 99% rename from java/src/game/audio/jorbis/Info.java rename to java/src/client/audio/jorbis/Info.java index e37fac2..077ec0e 100644 --- a/java/src/game/audio/jorbis/Info.java +++ b/java/src/client/audio/jorbis/Info.java @@ -24,9 +24,10 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; -import game.audio.jogg.*; +import client.audio.jogg.Buffer; +import client.audio.jogg.Packet; public class Info{ private static final int OV_EBADPACKET=-136; diff --git a/java/src/game/audio/jorbis/InfoMode.java b/java/src/client/audio/jorbis/InfoMode.java similarity index 97% rename from java/src/game/audio/jorbis/InfoMode.java rename to java/src/client/audio/jorbis/InfoMode.java index 2125bc5..3945476 100644 --- a/java/src/game/audio/jorbis/InfoMode.java +++ b/java/src/client/audio/jorbis/InfoMode.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; class InfoMode{ int blockflag; diff --git a/java/src/game/audio/jorbis/JOrbisException.java b/java/src/client/audio/jorbis/JOrbisException.java similarity index 97% rename from java/src/game/audio/jorbis/JOrbisException.java rename to java/src/client/audio/jorbis/JOrbisException.java index a6a2433..a58a772 100644 --- a/java/src/game/audio/jorbis/JOrbisException.java +++ b/java/src/client/audio/jorbis/JOrbisException.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; public class JOrbisException extends Exception{ diff --git a/java/src/game/audio/jorbis/Lookup.java b/java/src/client/audio/jorbis/Lookup.java similarity index 99% rename from java/src/game/audio/jorbis/Lookup.java rename to java/src/client/audio/jorbis/Lookup.java index b539615..4838f08 100644 --- a/java/src/game/audio/jorbis/Lookup.java +++ b/java/src/client/audio/jorbis/Lookup.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; class Lookup{ static final int COS_LOOKUP_SZ=128; diff --git a/java/src/game/audio/jorbis/Lpc.java b/java/src/client/audio/jorbis/Lpc.java similarity index 99% rename from java/src/game/audio/jorbis/Lpc.java rename to java/src/client/audio/jorbis/Lpc.java index 5a456f0..58e0e76 100644 --- a/java/src/game/audio/jorbis/Lpc.java +++ b/java/src/client/audio/jorbis/Lpc.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; class Lpc{ // en/decode lookups diff --git a/java/src/game/audio/jorbis/Lsp.java b/java/src/client/audio/jorbis/Lsp.java similarity index 99% rename from java/src/game/audio/jorbis/Lsp.java rename to java/src/client/audio/jorbis/Lsp.java index 182e693..8a2c002 100644 --- a/java/src/game/audio/jorbis/Lsp.java +++ b/java/src/client/audio/jorbis/Lsp.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; /* function: LSP (also called LSF) conversion routines diff --git a/java/src/game/audio/jorbis/Mapping0.java b/java/src/client/audio/jorbis/Mapping0.java similarity index 99% rename from java/src/game/audio/jorbis/Mapping0.java rename to java/src/client/audio/jorbis/Mapping0.java index b679be9..808970f 100644 --- a/java/src/game/audio/jorbis/Mapping0.java +++ b/java/src/client/audio/jorbis/Mapping0.java @@ -24,9 +24,9 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; -import game.audio.jogg.*; +import client.audio.jogg.Buffer; class Mapping0 extends FuncMapping{ static int seq=0; diff --git a/java/src/game/audio/jorbis/Mdct.java b/java/src/client/audio/jorbis/Mdct.java similarity index 99% rename from java/src/game/audio/jorbis/Mdct.java rename to java/src/client/audio/jorbis/Mdct.java index 1a82a68..390fc22 100644 --- a/java/src/game/audio/jorbis/Mdct.java +++ b/java/src/client/audio/jorbis/Mdct.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; class Mdct{ diff --git a/java/src/game/audio/jorbis/PsyInfo.java b/java/src/client/audio/jorbis/PsyInfo.java similarity index 98% rename from java/src/game/audio/jorbis/PsyInfo.java rename to java/src/client/audio/jorbis/PsyInfo.java index cedd892..f5e8665 100644 --- a/java/src/game/audio/jorbis/PsyInfo.java +++ b/java/src/client/audio/jorbis/PsyInfo.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; // psychoacoustic setup class PsyInfo{ diff --git a/java/src/game/audio/jorbis/PsyLook.java b/java/src/client/audio/jorbis/PsyLook.java similarity index 97% rename from java/src/game/audio/jorbis/PsyLook.java rename to java/src/client/audio/jorbis/PsyLook.java index 70285ef..5fa57ad 100644 --- a/java/src/game/audio/jorbis/PsyLook.java +++ b/java/src/client/audio/jorbis/PsyLook.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; class PsyLook{ int n; diff --git a/java/src/game/audio/jorbis/Residue0.java b/java/src/client/audio/jorbis/Residue0.java similarity index 99% rename from java/src/game/audio/jorbis/Residue0.java rename to java/src/client/audio/jorbis/Residue0.java index 6ba0e90..6af8a9c 100644 --- a/java/src/game/audio/jorbis/Residue0.java +++ b/java/src/client/audio/jorbis/Residue0.java @@ -24,9 +24,9 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; -import game.audio.jogg.*; +import client.audio.jogg.Buffer; class Residue0 extends FuncResidue{ void pack(Object vr, Buffer opb){ diff --git a/java/src/game/audio/jorbis/Residue1.java b/java/src/client/audio/jorbis/Residue1.java similarity index 97% rename from java/src/game/audio/jorbis/Residue1.java rename to java/src/client/audio/jorbis/Residue1.java index d0ac707..8072ce6 100644 --- a/java/src/game/audio/jorbis/Residue1.java +++ b/java/src/client/audio/jorbis/Residue1.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; class Residue1 extends Residue0{ diff --git a/java/src/game/audio/jorbis/Residue2.java b/java/src/client/audio/jorbis/Residue2.java similarity index 97% rename from java/src/game/audio/jorbis/Residue2.java rename to java/src/client/audio/jorbis/Residue2.java index 6c19867..b1875da 100644 --- a/java/src/game/audio/jorbis/Residue2.java +++ b/java/src/client/audio/jorbis/Residue2.java @@ -24,7 +24,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; class Residue2 extends Residue0{ diff --git a/java/src/game/audio/jorbis/StaticCodeBook.java b/java/src/client/audio/jorbis/StaticCodeBook.java similarity index 99% rename from java/src/game/audio/jorbis/StaticCodeBook.java rename to java/src/client/audio/jorbis/StaticCodeBook.java index a32e458..9452a85 100644 --- a/java/src/game/audio/jorbis/StaticCodeBook.java +++ b/java/src/client/audio/jorbis/StaticCodeBook.java @@ -24,9 +24,9 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; -import game.audio.jogg.*; +import client.audio.jogg.Buffer; class StaticCodeBook{ int dim; // codebook dimensions (elements per vector) diff --git a/java/src/game/audio/jorbis/Time0.java b/java/src/client/audio/jorbis/Time0.java similarity index 95% rename from java/src/game/audio/jorbis/Time0.java rename to java/src/client/audio/jorbis/Time0.java index 6c64b3e..af2b2fb 100644 --- a/java/src/game/audio/jorbis/Time0.java +++ b/java/src/client/audio/jorbis/Time0.java @@ -24,9 +24,9 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; +package client.audio.jorbis; -import game.audio.jogg.*; +import client.audio.jogg.Buffer; class Time0 extends FuncTime{ void pack(Object i, Buffer opb){ diff --git a/java/src/game/audio/jorbis/Util.java b/java/src/client/audio/jorbis/Util.java similarity index 92% rename from java/src/game/audio/jorbis/Util.java rename to java/src/client/audio/jorbis/Util.java index ce82e07..5fd283b 100644 --- a/java/src/game/audio/jorbis/Util.java +++ b/java/src/client/audio/jorbis/Util.java @@ -1,4 +1,4 @@ -package game.audio.jorbis; +package client.audio.jorbis; class Util{ static int ilog(int v){ diff --git a/java/src/game/audio/jorbis/VorbisFile.java b/java/src/client/audio/jorbis/VorbisFile.java similarity index 99% rename from java/src/game/audio/jorbis/VorbisFile.java rename to java/src/client/audio/jorbis/VorbisFile.java index 0d5cbf7..54dade8 100644 --- a/java/src/game/audio/jorbis/VorbisFile.java +++ b/java/src/client/audio/jorbis/VorbisFile.java @@ -25,13 +25,15 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -package game.audio.jorbis; - -import java.io.InputStream; - -import game.audio.jogg.*; +package client.audio.jorbis; import java.io.IOException; +import java.io.InputStream; + +import client.audio.jogg.Packet; +import client.audio.jogg.Page; +import client.audio.jogg.StreamState; +import client.audio.jogg.SyncState; public class VorbisFile{ static final int CHUNKSIZE=8500; diff --git a/java/src/game/util/FileCallback.java b/java/src/client/gui/FileCallback.java similarity index 79% rename from java/src/game/util/FileCallback.java rename to java/src/client/gui/FileCallback.java index 0c840c7..82f57d5 100644 --- a/java/src/game/util/FileCallback.java +++ b/java/src/client/gui/FileCallback.java @@ -1,4 +1,4 @@ -package game.util; +package client.gui; import java.io.File; diff --git a/java/src/game/gui/Font.java b/java/src/client/gui/Font.java similarity index 96% rename from java/src/game/gui/Font.java rename to java/src/client/gui/Font.java index f72e210..adfe7fc 100644 --- a/java/src/game/gui/Font.java +++ b/java/src/client/gui/Font.java @@ -1,4 +1,4 @@ -package game.gui; +package client.gui; import java.awt.image.BufferedImage; import java.io.FileNotFoundException; @@ -6,9 +6,9 @@ import java.io.IOException; import org.lwjgl.opengl.GL11; +import client.renderer.GlState; +import client.renderer.texture.TextureUtil; import game.log.Log; -import game.renderer.GlState; -import game.renderer.texture.TextureUtil; import game.util.FileUtils; public class Font { diff --git a/java/src/game/gui/FontChar.java b/java/src/client/gui/FontChar.java similarity index 91% rename from java/src/game/gui/FontChar.java rename to java/src/client/gui/FontChar.java index 74a4d7e..1d39db4 100644 --- a/java/src/game/gui/FontChar.java +++ b/java/src/client/gui/FontChar.java @@ -1,4 +1,4 @@ -package game.gui; +package client.gui; public class FontChar { public final byte s; diff --git a/java/src/game/util/Formatter.java b/java/src/client/gui/Formatter.java similarity index 57% rename from java/src/game/util/Formatter.java rename to java/src/client/gui/Formatter.java index d14563e..a551198 100644 --- a/java/src/game/util/Formatter.java +++ b/java/src/client/gui/Formatter.java @@ -1,6 +1,6 @@ -package game.util; +package client.gui; -import game.gui.element.Element; +import client.gui.element.Element; public interface Formatter { String use(T elem); diff --git a/java/src/game/gui/Gui.java b/java/src/client/gui/Gui.java similarity index 97% rename from java/src/game/gui/Gui.java rename to java/src/client/gui/Gui.java index a719e0a..cb39cb5 100644 --- a/java/src/game/gui/Gui.java +++ b/java/src/client/gui/Gui.java @@ -1,21 +1,20 @@ -package game.gui; +package client.gui; import java.util.List; import org.lwjgl.opengl.GL13; +import client.Game; +import client.gui.element.Dropdown; +import client.gui.element.Dropdown.Handle; +import client.gui.element.Element; +import client.renderer.Drawing; +import client.renderer.GlState; +import client.window.Bind; +import client.window.Button; +import client.window.Keysym; import game.collect.Lists; -import game.Game; -import game.gui.element.Dropdown; -import game.gui.element.Dropdown.Handle; -import game.gui.element.Element; -import game.renderer.Drawing; -import game.renderer.GlState; -import game.window.Bind; -import game.window.Button; -import game.window.Keysym; - public abstract class Gui { public static final String DIRT_BACKGROUND = "textures/background.png"; public static final int HOVER_COLOR = 0x288080ff; diff --git a/java/src/game/gui/GuiConfirm.java b/java/src/client/gui/GuiConfirm.java similarity index 87% rename from java/src/game/gui/GuiConfirm.java rename to java/src/client/gui/GuiConfirm.java index b272826..5a4a907 100755 --- a/java/src/game/gui/GuiConfirm.java +++ b/java/src/client/gui/GuiConfirm.java @@ -1,9 +1,9 @@ -package game.gui; +package client.gui; -import game.gui.element.ActButton; -import game.gui.element.ActButton.Mode; -import game.gui.element.Label; -import game.gui.element.TransparentBox; +import client.gui.element.ActButton; +import client.gui.element.ActButton.Mode; +import client.gui.element.Label; +import client.gui.element.TransparentBox; public class GuiConfirm extends Gui implements ActButton.Callback { public static interface Callback { diff --git a/java/src/game/gui/GuiConnect.java b/java/src/client/gui/GuiConnect.java similarity index 97% rename from java/src/game/gui/GuiConnect.java rename to java/src/client/gui/GuiConnect.java index b1dabd1..05ae015 100644 --- a/java/src/game/gui/GuiConnect.java +++ b/java/src/client/gui/GuiConnect.java @@ -1,19 +1,20 @@ -package game.gui; +package client.gui; import java.io.File; import java.text.SimpleDateFormat; import java.util.Collections; import java.util.Date; + +import client.gui.element.ActButton; +import client.gui.element.ActButton.Mode; +import client.gui.element.GuiList; +import client.gui.element.ListEntry; +import client.gui.element.NavButton; +import client.renderer.Drawing; import game.color.TextColor; -import game.gui.element.ActButton; -import game.gui.element.ActButton.Mode; -import game.gui.element.GuiList; -import game.gui.element.ListEntry; -import game.gui.element.NavButton; import game.init.Config; import game.log.Log; import game.network.Player; -import game.renderer.Drawing; import game.util.FileUtils; import game.util.Tuple; import game.util.Util; diff --git a/java/src/game/gui/GuiConsole.java b/java/src/client/gui/GuiConsole.java similarity index 97% rename from java/src/game/gui/GuiConsole.java rename to java/src/client/gui/GuiConsole.java index 28e776c..a625119 100644 --- a/java/src/game/gui/GuiConsole.java +++ b/java/src/client/gui/GuiConsole.java @@ -1,22 +1,21 @@ -package game.gui; +package client.gui; import java.util.List; +import client.Game; +import client.gui.element.ActButton; +import client.gui.element.Fill; +import client.gui.element.Textbox; +import client.gui.element.Textbox.Action; +import client.gui.element.TransparentBox; +import client.window.Keysym; import game.collect.Lists; - -import game.Game; import game.color.TextColor; -import game.gui.element.ActButton; -import game.gui.element.Fill; -import game.gui.element.Textbox; -import game.gui.element.Textbox.Action; -import game.gui.element.TransparentBox; import game.network.Player; import game.packet.CPacketComplete; import game.util.ExtMath; import game.vars.BoolVar; import game.vars.CVar; -import game.window.Keysym; import game.world.BlockPos; import game.world.HitPosition; diff --git a/java/src/game/gui/GuiConvert.java b/java/src/client/gui/GuiConvert.java similarity index 95% rename from java/src/game/gui/GuiConvert.java rename to java/src/client/gui/GuiConvert.java index 1d15ac6..e4b49e8 100755 --- a/java/src/game/gui/GuiConvert.java +++ b/java/src/client/gui/GuiConvert.java @@ -1,21 +1,21 @@ -package game.gui; +package client.gui; import java.io.File; import java.io.FileFilter; import java.text.SimpleDateFormat; import java.util.Collections; import java.util.Date; -import game.Game.FileMode; + +import client.Game.FileMode; +import client.gui.element.ActButton; +import client.gui.element.ActButton.Mode; +import client.gui.element.GuiList; +import client.gui.element.ListEntry; +import client.gui.element.NavButton; +import client.renderer.Drawing; import game.color.TextColor; import game.dimension.Space; -import game.gui.element.ActButton; -import game.gui.element.ActButton.Mode; -import game.gui.element.GuiList; -import game.gui.element.ListEntry; -import game.gui.element.NavButton; import game.log.Log; -import game.renderer.Drawing; -import game.util.FileCallback; import game.world.Converter; import game.world.Converter.SaveVersion; import game.world.Region; diff --git a/java/src/game/gui/GuiInfo.java b/java/src/client/gui/GuiInfo.java similarity index 98% rename from java/src/game/gui/GuiInfo.java rename to java/src/client/gui/GuiInfo.java index 904620d..243e111 100644 --- a/java/src/game/gui/GuiInfo.java +++ b/java/src/client/gui/GuiInfo.java @@ -1,8 +1,8 @@ -package game.gui; +package client.gui; +import client.gui.element.NavButton; +import client.gui.element.TransparentBox; import game.color.TextColor; -import game.gui.element.NavButton; -import game.gui.element.TransparentBox; import game.init.Config; import game.log.Log; diff --git a/java/src/game/gui/GuiLoading.java b/java/src/client/gui/GuiLoading.java similarity index 96% rename from java/src/game/gui/GuiLoading.java rename to java/src/client/gui/GuiLoading.java index 60120f9..d1750bd 100644 --- a/java/src/game/gui/GuiLoading.java +++ b/java/src/client/gui/GuiLoading.java @@ -1,8 +1,8 @@ -package game.gui; +package client.gui; -import game.Game; -import game.gui.element.Bar; -import game.gui.element.Label; +import client.Game; +import client.gui.element.Bar; +import client.gui.element.Label; public class GuiLoading extends Gui { public static interface Callback { diff --git a/java/src/game/gui/GuiMenu.java b/java/src/client/gui/GuiMenu.java similarity index 95% rename from java/src/game/gui/GuiMenu.java rename to java/src/client/gui/GuiMenu.java index 88cd839..9037467 100644 --- a/java/src/game/gui/GuiMenu.java +++ b/java/src/client/gui/GuiMenu.java @@ -1,21 +1,20 @@ -package game.gui; +package client.gui; +import client.Timing; +import client.gui.character.GuiChar; +import client.gui.character.GuiCharacters; +import client.gui.element.ActButton; +import client.gui.element.ActButton.Mode; +import client.gui.element.Label; +import client.gui.element.NavButton; +import client.gui.element.Textbox; +import client.gui.options.GuiOptions; +import client.renderer.Drawing; +import client.window.Keysym; import game.color.TextColor; -import game.gui.character.GuiChar; -import game.gui.character.GuiCharacters; -import game.gui.element.ActButton; -import game.gui.element.ActButton.Mode; -import game.gui.element.Label; -import game.gui.element.NavButton; -import game.gui.element.Textbox; -import game.gui.options.GuiOptions; import game.init.Config; -import game.renderer.Drawing; import game.rng.Random; import game.util.ExtMath; -import game.util.Splashes; -import game.util.Timing; -import game.window.Keysym; public class GuiMenu extends Gui { public static final GuiMenu INSTANCE = new GuiMenu(); diff --git a/java/src/game/gui/GuiServer.java b/java/src/client/gui/GuiServer.java similarity index 95% rename from java/src/game/gui/GuiServer.java rename to java/src/client/gui/GuiServer.java index e0ba390..c6d256c 100644 --- a/java/src/game/gui/GuiServer.java +++ b/java/src/client/gui/GuiServer.java @@ -1,12 +1,12 @@ -package game.gui; +package client.gui; +import client.gui.GuiConnect.ServerInfo; +import client.gui.element.ActButton; +import client.gui.element.Label; +import client.gui.element.NavButton; +import client.gui.element.Textbox; +import client.gui.element.Textbox.Action; import game.color.TextColor; -import game.gui.GuiConnect.ServerInfo; -import game.gui.element.ActButton; -import game.gui.element.Label; -import game.gui.element.NavButton; -import game.gui.element.Textbox; -import game.gui.element.Textbox.Action; import game.init.Config; import game.network.Player; import game.vars.CVarCategory; diff --git a/java/src/game/util/Splashes.java b/java/src/client/gui/Splashes.java similarity index 99% rename from java/src/game/util/Splashes.java rename to java/src/client/gui/Splashes.java index 47a33c6..78711ab 100644 --- a/java/src/game/util/Splashes.java +++ b/java/src/client/gui/Splashes.java @@ -1,4 +1,4 @@ -package game.util; +package client.gui; public abstract class Splashes { public static final String[] SPLASHES = { diff --git a/java/src/game/gui/Style.java b/java/src/client/gui/Style.java similarity index 96% rename from java/src/game/gui/Style.java rename to java/src/client/gui/Style.java index cd69dd2..841b495 100644 --- a/java/src/game/gui/Style.java +++ b/java/src/client/gui/Style.java @@ -1,12 +1,12 @@ -package game.gui; +package client.gui; -import game.properties.IStringSerializable; import game.util.Displayable; +import game.util.Identifyable; import game.vars.CVarCategory; import game.vars.Variable; import game.vars.Variable.IntType; -public enum Style implements IStringSerializable, Displayable { +public enum Style implements Identifyable, Displayable { DEFAULT("default", "Standard"), SHINY("shiny", "Glänzend"), GRAY("gray", "Grau"), BLUE("blue", "Blau"), CUSTOM("custom", "Angepasst"); public final String id; diff --git a/java/src/game/gui/character/GuiChar.java b/java/src/client/gui/character/GuiChar.java similarity index 96% rename from java/src/game/gui/character/GuiChar.java rename to java/src/client/gui/character/GuiChar.java index b2d9b5a..4def730 100755 --- a/java/src/game/gui/character/GuiChar.java +++ b/java/src/client/gui/character/GuiChar.java @@ -1,4 +1,4 @@ -package game.gui.character; +package client.gui.character; import java.awt.image.BufferedImage; import java.io.File; @@ -8,13 +8,34 @@ import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; import java.util.Arrays; + import javax.imageio.ImageIO; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL13; -import game.Game; -import game.Game.FileMode; +import client.Game; +import client.Game.FileMode; +import client.SkinConverter; +import client.gui.FileCallback; +import client.gui.GuiLoading; +import client.gui.element.ActButton; +import client.gui.element.ActButton.Mode; +import client.gui.element.Element; +import client.gui.element.GuiList; +import client.gui.element.Label; +import client.gui.element.ListEntry; +import client.gui.element.NavButton; +import client.gui.element.Slider; +import client.gui.element.Textbox; +import client.gui.element.Textbox.Action; +import client.gui.element.TransparentBox; +import client.renderer.Drawing; +import client.renderer.GlState; +import client.renderer.ItemRenderer; +import client.renderer.entity.RenderManager; +import client.renderer.texture.EntityTexManager; +import client.window.Button; import game.collect.Lists; import game.dimension.DimType; import game.dimension.Dimension; @@ -24,45 +45,25 @@ import game.entity.npc.EntityHuman; import game.entity.npc.EntityNPC; import game.entity.npc.SpeciesInfo; import game.entity.types.EntityLiving; -import game.gui.GuiLoading; -import game.gui.element.ActButton; -import game.gui.element.ActButton.Mode; -import game.gui.element.Element; -import game.gui.element.GuiList; -import game.gui.element.Label; -import game.gui.element.ListEntry; -import game.gui.element.NavButton; -import game.gui.element.Slider; -import game.gui.element.Textbox; -import game.gui.element.TransparentBox; -import game.gui.element.Textbox.Action; import game.init.EntityEggInfo; import game.init.EntityRegistry; import game.init.SpeciesRegistry; -import game.init.UniverseRegistry; import game.init.SpeciesRegistry.ModelType; +import game.init.UniverseRegistry; import game.log.Log; import game.network.Player; import game.packet.CPacketAction; import game.packet.CPacketMessage; import game.packet.CPacketSkin; -import game.properties.IStringSerializable; -import game.renderer.Drawing; -import game.renderer.GlState; -import game.renderer.ItemRenderer; -import game.renderer.entity.RenderManager; -import game.renderer.texture.EntityTexManager; import game.rng.Random; import game.util.Displayable; -import game.util.FileCallback; import game.util.FileUtils; -import game.util.SkinConverter; +import game.util.Identifyable; import game.util.Util; import game.vars.CVarCategory; import game.vars.EnumVar; import game.vars.EnumVar.EnumFunction; import game.vars.Variable; -import game.window.Button; public class GuiChar extends GuiList { @@ -206,7 +207,7 @@ public class GuiChar extends GuiList } } - public static enum FilterType implements IStringSerializable, Displayable { + public static enum FilterType implements Identifyable, Displayable { ALL("all", "Alle anzeigen"), CUSTOM("custom", "Nur eigene"), NPC("preset", "Nur vorgegebene"), SPECIES("species", "Nur Spezies"), SPECIES_CUSTOM("species_custom", "Spezies und eigene"); private final String name; diff --git a/java/src/game/gui/character/GuiCharacters.java b/java/src/client/gui/character/GuiCharacters.java similarity index 93% rename from java/src/game/gui/character/GuiCharacters.java rename to java/src/client/gui/character/GuiCharacters.java index 04f800d..f6614b4 100644 --- a/java/src/game/gui/character/GuiCharacters.java +++ b/java/src/client/gui/character/GuiCharacters.java @@ -1,17 +1,17 @@ -package game.gui.character; +package client.gui.character; +import client.gui.GuiConfirm; +import client.gui.GuiMenu; +import client.gui.element.ActButton; +import client.gui.element.ActButton.Mode; +import client.gui.element.GuiList; +import client.gui.element.ListEntry; +import client.gui.element.NavButton; +import client.gui.element.TransparentBox; +import client.renderer.Drawing; import game.color.TextColor; import game.entity.npc.PlayerCharacter; -import game.gui.GuiConfirm; -import game.gui.GuiMenu; -import game.gui.element.ActButton; -import game.gui.element.ActButton.Mode; -import game.gui.element.GuiList; -import game.gui.element.ListEntry; -import game.gui.element.NavButton; -import game.gui.element.TransparentBox; import game.packet.CPacketAction; -import game.renderer.Drawing; public class GuiCharacters extends GuiList implements ActButton.Callback { diff --git a/java/src/game/gui/character/GuiClass.java b/java/src/client/gui/character/GuiClass.java similarity index 90% rename from java/src/game/gui/character/GuiClass.java rename to java/src/client/gui/character/GuiClass.java index d82db44..f3e6559 100644 --- a/java/src/game/gui/character/GuiClass.java +++ b/java/src/client/gui/character/GuiClass.java @@ -1,12 +1,12 @@ -package game.gui.character; +package client.gui.character; -import game.gui.element.ActButton; -import game.gui.element.ActButton.Mode; -import game.gui.element.GuiList; -import game.gui.element.ListEntry; -import game.gui.element.NavButton; +import client.gui.element.ActButton; +import client.gui.element.ActButton.Mode; +import client.gui.element.GuiList; +import client.gui.element.ListEntry; +import client.gui.element.NavButton; +import client.renderer.Drawing; import game.packet.CPacketAction; -import game.renderer.Drawing; public class GuiClass extends GuiList implements ActButton.Callback { diff --git a/java/src/game/gui/character/GuiSpecies.java b/java/src/client/gui/character/GuiSpecies.java similarity index 90% rename from java/src/game/gui/character/GuiSpecies.java rename to java/src/client/gui/character/GuiSpecies.java index 33e03d6..385f5be 100644 --- a/java/src/game/gui/character/GuiSpecies.java +++ b/java/src/client/gui/character/GuiSpecies.java @@ -1,15 +1,15 @@ -package game.gui.character; +package client.gui.character; +import client.gui.element.ActButton; +import client.gui.element.ActButton.Mode; +import client.gui.element.GuiList; +import client.gui.element.ListEntry; +import client.gui.element.NavButton; +import client.renderer.Drawing; import game.entity.npc.SpeciesInfo; -import game.gui.element.ActButton; -import game.gui.element.ActButton.Mode; -import game.gui.element.GuiList; -import game.gui.element.ListEntry; -import game.gui.element.NavButton; import game.init.EntityRegistry; import game.init.SpeciesRegistry; import game.packet.CPacketAction; -import game.renderer.Drawing; public class GuiSpecies extends GuiList implements ActButton.Callback { diff --git a/java/src/game/gui/container/GuiBrewing.java b/java/src/client/gui/container/GuiBrewing.java similarity index 97% rename from java/src/game/gui/container/GuiBrewing.java rename to java/src/client/gui/container/GuiBrewing.java index 93530ba..73f2b15 100755 --- a/java/src/game/gui/container/GuiBrewing.java +++ b/java/src/client/gui/container/GuiBrewing.java @@ -1,4 +1,4 @@ -package game.gui.container; +package client.gui.container; import game.inventory.ContainerBrewingStand; import game.inventory.IInventory; diff --git a/java/src/game/gui/container/GuiChest.java b/java/src/client/gui/container/GuiChest.java similarity index 97% rename from java/src/game/gui/container/GuiChest.java rename to java/src/client/gui/container/GuiChest.java index 6adb0d9..1f7e912 100755 --- a/java/src/game/gui/container/GuiChest.java +++ b/java/src/client/gui/container/GuiChest.java @@ -1,6 +1,6 @@ -package game.gui.container; +package client.gui.container; -import game.Game; +import client.Game; import game.inventory.ContainerChest; import game.inventory.IInventory; diff --git a/java/src/game/gui/container/GuiContainer.java b/java/src/client/gui/container/GuiContainer.java similarity index 99% rename from java/src/game/gui/container/GuiContainer.java rename to java/src/client/gui/container/GuiContainer.java index d4bc825..69dc168 100755 --- a/java/src/game/gui/container/GuiContainer.java +++ b/java/src/client/gui/container/GuiContainer.java @@ -1,4 +1,4 @@ -package game.gui.container; +package client.gui.container; import java.util.List; import java.util.Set; @@ -6,24 +6,23 @@ import java.util.Set; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL13; +import client.gui.Gui; +import client.gui.element.InventoryButton; +import client.renderer.Drawing; +import client.renderer.GlState; +import client.renderer.ItemRenderer; +import client.renderer.entity.RenderItem; +import client.window.Button; import game.collect.Lists; import game.collect.Sets; - import game.color.TextColor; -import game.gui.Gui; -import game.gui.element.InventoryButton; import game.inventory.Container; import game.inventory.InventoryPlayer; import game.inventory.Slot; import game.item.CheatTab; import game.item.ItemStack; import game.packet.CPacketCheat; -import game.renderer.Drawing; -import game.renderer.GlState; -import game.renderer.ItemRenderer; -import game.renderer.entity.RenderItem; import game.util.ExtMath; -import game.window.Button; public abstract class GuiContainer extends Gui { diff --git a/java/src/game/gui/container/GuiCrafting.java b/java/src/client/gui/container/GuiCrafting.java similarity index 97% rename from java/src/game/gui/container/GuiCrafting.java rename to java/src/client/gui/container/GuiCrafting.java index 0dbe12c..b9fb6e2 100755 --- a/java/src/game/gui/container/GuiCrafting.java +++ b/java/src/client/gui/container/GuiCrafting.java @@ -1,4 +1,4 @@ -package game.gui.container; +package client.gui.container; import game.inventory.ContainerWorkbench; import game.inventory.InventoryPlayer; diff --git a/java/src/game/gui/container/GuiDispenser.java b/java/src/client/gui/container/GuiDispenser.java similarity index 98% rename from java/src/game/gui/container/GuiDispenser.java rename to java/src/client/gui/container/GuiDispenser.java index c65e983..8e94c00 100755 --- a/java/src/game/gui/container/GuiDispenser.java +++ b/java/src/client/gui/container/GuiDispenser.java @@ -1,4 +1,4 @@ -package game.gui.container; +package client.gui.container; import game.inventory.ContainerDispenser; import game.inventory.IInventory; diff --git a/java/src/game/gui/container/GuiEnchant.java b/java/src/client/gui/container/GuiEnchant.java similarity index 99% rename from java/src/game/gui/container/GuiEnchant.java rename to java/src/client/gui/container/GuiEnchant.java index dcf2632..31ef687 100755 --- a/java/src/game/gui/container/GuiEnchant.java +++ b/java/src/client/gui/container/GuiEnchant.java @@ -1,4 +1,4 @@ -package game.gui.container; +package client.gui.container; import game.color.TextColor; import game.enchantment.Enchantment; diff --git a/java/src/game/gui/container/GuiFurnace.java b/java/src/client/gui/container/GuiFurnace.java similarity index 98% rename from java/src/game/gui/container/GuiFurnace.java rename to java/src/client/gui/container/GuiFurnace.java index f8f31a3..3972317 100755 --- a/java/src/game/gui/container/GuiFurnace.java +++ b/java/src/client/gui/container/GuiFurnace.java @@ -1,4 +1,4 @@ -package game.gui.container; +package client.gui.container; import game.inventory.ContainerFurnace; import game.inventory.IInventory; diff --git a/java/src/game/gui/container/GuiHopper.java b/java/src/client/gui/container/GuiHopper.java similarity index 97% rename from java/src/game/gui/container/GuiHopper.java rename to java/src/client/gui/container/GuiHopper.java index 9923d08..753593e 100755 --- a/java/src/game/gui/container/GuiHopper.java +++ b/java/src/client/gui/container/GuiHopper.java @@ -1,6 +1,6 @@ -package game.gui.container; +package client.gui.container; -import game.Game; +import client.Game; import game.inventory.ContainerHopper; import game.inventory.IInventory; import game.inventory.InventoryPlayer; diff --git a/java/src/game/gui/container/GuiHorse.java b/java/src/client/gui/container/GuiHorse.java similarity index 98% rename from java/src/game/gui/container/GuiHorse.java rename to java/src/client/gui/container/GuiHorse.java index 6d620b4..bb56765 100755 --- a/java/src/game/gui/container/GuiHorse.java +++ b/java/src/client/gui/container/GuiHorse.java @@ -1,6 +1,6 @@ -package game.gui.container; +package client.gui.container; -import game.Game; +import client.Game; import game.entity.animal.EntityHorse; import game.inventory.ContainerHorseInventory; import game.inventory.IInventory; diff --git a/java/src/game/gui/container/GuiInventory.java b/java/src/client/gui/container/GuiInventory.java similarity index 98% rename from java/src/game/gui/container/GuiInventory.java rename to java/src/client/gui/container/GuiInventory.java index 71a4473..b47e81b 100755 --- a/java/src/game/gui/container/GuiInventory.java +++ b/java/src/client/gui/container/GuiInventory.java @@ -1,4 +1,4 @@ -package game.gui.container; +package client.gui.container; import game.entity.npc.EntityNPC; diff --git a/java/src/game/gui/container/GuiMachine.java b/java/src/client/gui/container/GuiMachine.java similarity index 96% rename from java/src/game/gui/container/GuiMachine.java rename to java/src/client/gui/container/GuiMachine.java index cca3fda..b61ba3d 100755 --- a/java/src/game/gui/container/GuiMachine.java +++ b/java/src/client/gui/container/GuiMachine.java @@ -1,6 +1,6 @@ -package game.gui.container; +package client.gui.container; -import game.Game; +import client.Game; import game.inventory.ContainerMachine; import game.inventory.IInventory; import game.inventory.InventoryPlayer; diff --git a/java/src/game/gui/container/GuiMerchant.java b/java/src/client/gui/container/GuiMerchant.java similarity index 99% rename from java/src/game/gui/container/GuiMerchant.java rename to java/src/client/gui/container/GuiMerchant.java index dc9e4ac..8f56250 100755 --- a/java/src/game/gui/container/GuiMerchant.java +++ b/java/src/client/gui/container/GuiMerchant.java @@ -1,13 +1,13 @@ -package game.gui.container; +package client.gui.container; import org.lwjgl.opengl.GL11; +import client.renderer.GlState; +import client.renderer.ItemRenderer; import game.inventory.ContainerMerchant; import game.inventory.InventoryPlayer; import game.item.ItemStack; import game.packet.CPacketAction; -import game.renderer.GlState; -import game.renderer.ItemRenderer; import game.village.MerchantRecipe; import game.village.MerchantRecipeList; import game.world.World; diff --git a/java/src/game/gui/container/GuiRepair.java b/java/src/client/gui/container/GuiRepair.java similarity index 99% rename from java/src/game/gui/container/GuiRepair.java rename to java/src/client/gui/container/GuiRepair.java index c8e1ba4..fec404d 100755 --- a/java/src/game/gui/container/GuiRepair.java +++ b/java/src/client/gui/container/GuiRepair.java @@ -1,8 +1,8 @@ -package game.gui.container; +package client.gui.container; import java.util.List; -import game.Game; +import client.Game; import game.inventory.Container; import game.inventory.ContainerRepair; import game.inventory.ICrafting; diff --git a/java/src/game/gui/element/ActButton.java b/java/src/client/gui/element/ActButton.java similarity index 90% rename from java/src/game/gui/element/ActButton.java rename to java/src/client/gui/element/ActButton.java index 91eb00f..72a8d88 100644 --- a/java/src/game/gui/element/ActButton.java +++ b/java/src/client/gui/element/ActButton.java @@ -1,7 +1,7 @@ -package game.gui.element; +package client.gui.element; -import game.util.Formatter; -import game.window.Button; +import client.gui.Formatter; +import client.window.Button; public class ActButton extends Element { public static enum Mode { diff --git a/java/src/game/gui/element/Bar.java b/java/src/client/gui/element/Bar.java similarity index 98% rename from java/src/game/gui/element/Bar.java rename to java/src/client/gui/element/Bar.java index b8d3f8d..bb1a457 100644 --- a/java/src/game/gui/element/Bar.java +++ b/java/src/client/gui/element/Bar.java @@ -1,6 +1,6 @@ -package game.gui.element; +package client.gui.element; -import game.renderer.Drawing; +import client.renderer.Drawing; import game.util.ExtMath; import game.util.Util; diff --git a/java/src/game/gui/element/Dropdown.java b/java/src/client/gui/element/Dropdown.java similarity index 95% rename from java/src/game/gui/element/Dropdown.java rename to java/src/client/gui/element/Dropdown.java index 33280de..010bac6 100644 --- a/java/src/game/gui/element/Dropdown.java +++ b/java/src/client/gui/element/Dropdown.java @@ -1,13 +1,13 @@ -package game.gui.element; +package client.gui.element; -import game.gui.Font; -import game.gui.Gui; -import game.renderer.Drawing; +import client.gui.Font; +import client.gui.Formatter; +import client.gui.Gui; +import client.renderer.Drawing; +import client.window.Button; import game.util.Displayable; import game.util.ExtMath; -import game.util.Formatter; import game.util.Util; -import game.window.Button; public class Dropdown extends Element { public class Handle extends Element { diff --git a/java/src/game/gui/element/Element.java b/java/src/client/gui/element/Element.java similarity index 95% rename from java/src/game/gui/element/Element.java rename to java/src/client/gui/element/Element.java index 9f7e6ce..b3dcd56 100644 --- a/java/src/game/gui/element/Element.java +++ b/java/src/client/gui/element/Element.java @@ -1,18 +1,18 @@ -package game.gui.element; +package client.gui.element; import org.lwjgl.opengl.GL11; -import game.Game; -import game.audio.PositionedSound; -import game.audio.Volume; -import game.gui.Gui; +import client.Game; +import client.gui.Formatter; +import client.gui.Gui; +import client.renderer.Drawing; +import client.renderer.Drawing.Vec2i; +import client.window.Button; +import client.window.Keysym; import game.init.SoundEvent; -import game.renderer.Drawing; -import game.renderer.Drawing.Vec2i; -import game.util.Formatter; +import game.sound.EventType; +import game.sound.PositionedSound; import game.util.Util; -import game.window.Button; -import game.window.Keysym; public abstract class Element { protected final Game gm = Game.getGame(); @@ -266,6 +266,6 @@ public abstract class Element { } public void playSound() { - this.gm.getSoundManager().playSound(new PositionedSound(SoundEvent.CLICK, Volume.GUI)); + this.gm.getSoundManager().playSound(new PositionedSound(SoundEvent.CLICK, EventType.UI_INTERFACE)); } } diff --git a/java/src/game/gui/element/Fill.java b/java/src/client/gui/element/Fill.java similarity index 92% rename from java/src/game/gui/element/Fill.java rename to java/src/client/gui/element/Fill.java index 7a9a90b..5fecb12 100644 --- a/java/src/game/gui/element/Fill.java +++ b/java/src/client/gui/element/Fill.java @@ -1,7 +1,7 @@ -package game.gui.element; +package client.gui.element; -import game.renderer.Drawing; -import game.renderer.Drawing.Vec2i; +import client.renderer.Drawing; +import client.renderer.Drawing.Vec2i; public class Fill extends Element { private final boolean left; diff --git a/java/src/game/gui/element/GuiList.java b/java/src/client/gui/element/GuiList.java similarity index 98% rename from java/src/game/gui/element/GuiList.java rename to java/src/client/gui/element/GuiList.java index 32326cd..0dd8ab6 100755 --- a/java/src/game/gui/element/GuiList.java +++ b/java/src/client/gui/element/GuiList.java @@ -1,19 +1,18 @@ -package game.gui.element; +package client.gui.element; import java.util.List; import org.lwjgl.opengl.GL11; +import client.gui.Gui; +import client.renderer.DefaultVertexFormats; +import client.renderer.Drawing; +import client.renderer.GlState; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; +import client.window.Button; import game.collect.Lists; - -import game.gui.Gui; -import game.renderer.DefaultVertexFormats; -import game.renderer.Drawing; -import game.renderer.GlState; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; import game.util.ExtMath; -import game.window.Button; public abstract class GuiList extends Gui { diff --git a/java/src/game/gui/element/InventoryButton.java b/java/src/client/gui/element/InventoryButton.java similarity index 88% rename from java/src/game/gui/element/InventoryButton.java rename to java/src/client/gui/element/InventoryButton.java index 6027422..7a71464 100644 --- a/java/src/game/gui/element/InventoryButton.java +++ b/java/src/client/gui/element/InventoryButton.java @@ -1,6 +1,6 @@ -package game.gui.element; +package client.gui.element; -import game.renderer.Drawing; +import client.renderer.Drawing; public class InventoryButton extends Element { public InventoryButton(int x, int y, int w, int h) { diff --git a/java/src/game/gui/element/Label.java b/java/src/client/gui/element/Label.java similarity index 92% rename from java/src/game/gui/element/Label.java rename to java/src/client/gui/element/Label.java index 7e2e85b..52bb201 100644 --- a/java/src/game/gui/element/Label.java +++ b/java/src/client/gui/element/Label.java @@ -1,6 +1,6 @@ -package game.gui.element; +package client.gui.element; -import game.renderer.Drawing; +import client.renderer.Drawing; import game.util.Util; public class Label extends Fill { diff --git a/java/src/game/gui/element/ListEntry.java b/java/src/client/gui/element/ListEntry.java similarity index 83% rename from java/src/game/gui/element/ListEntry.java rename to java/src/client/gui/element/ListEntry.java index 2d5d173..76236d1 100644 --- a/java/src/game/gui/element/ListEntry.java +++ b/java/src/client/gui/element/ListEntry.java @@ -1,4 +1,4 @@ -package game.gui.element; +package client.gui.element; public interface ListEntry { diff --git a/java/src/game/gui/element/NavButton.java b/java/src/client/gui/element/NavButton.java similarity index 90% rename from java/src/game/gui/element/NavButton.java rename to java/src/client/gui/element/NavButton.java index f9cc66c..224216b 100644 --- a/java/src/game/gui/element/NavButton.java +++ b/java/src/client/gui/element/NavButton.java @@ -1,8 +1,8 @@ -package game.gui.element; +package client.gui.element; -import game.Game; -import game.gui.Gui; -import game.renderer.Drawing; +import client.Game; +import client.gui.Gui; +import client.renderer.Drawing; import game.util.Util; public class NavButton extends ActButton { diff --git a/java/src/game/gui/element/SelectableButton.java b/java/src/client/gui/element/SelectableButton.java similarity index 94% rename from java/src/game/gui/element/SelectableButton.java rename to java/src/client/gui/element/SelectableButton.java index 4dc7995..0ad31d6 100644 --- a/java/src/game/gui/element/SelectableButton.java +++ b/java/src/client/gui/element/SelectableButton.java @@ -1,6 +1,6 @@ -package game.gui.element; +package client.gui.element; -import game.renderer.Drawing; +import client.renderer.Drawing; import game.util.Util; public class SelectableButton extends ActButton { diff --git a/java/src/game/gui/element/Slider.java b/java/src/client/gui/element/Slider.java similarity index 98% rename from java/src/game/gui/element/Slider.java rename to java/src/client/gui/element/Slider.java index f994c33..e6fd0d8 100644 --- a/java/src/game/gui/element/Slider.java +++ b/java/src/client/gui/element/Slider.java @@ -1,10 +1,10 @@ -package game.gui.element; +package client.gui.element; -import game.renderer.Drawing; +import client.gui.Formatter; +import client.renderer.Drawing; +import client.window.Button; import game.util.ExtMath; -import game.util.Formatter; import game.util.Util; -import game.window.Button; public class Slider extends Element { public static interface Callback { diff --git a/java/src/game/gui/element/Switch.java b/java/src/client/gui/element/Switch.java similarity index 95% rename from java/src/game/gui/element/Switch.java rename to java/src/client/gui/element/Switch.java index 77249c2..dc1e902 100644 --- a/java/src/game/gui/element/Switch.java +++ b/java/src/client/gui/element/Switch.java @@ -1,9 +1,9 @@ -package game.gui.element; +package client.gui.element; +import client.gui.Formatter; +import client.window.Button; import game.util.Displayable; -import game.util.Formatter; import game.util.Util; -import game.window.Button; public class Switch extends Element { public static interface Callback { diff --git a/java/src/game/gui/element/Textbox.java b/java/src/client/gui/element/Textbox.java similarity index 98% rename from java/src/game/gui/element/Textbox.java rename to java/src/client/gui/element/Textbox.java index ae0f452..a57e583 100644 --- a/java/src/game/gui/element/Textbox.java +++ b/java/src/client/gui/element/Textbox.java @@ -1,18 +1,18 @@ -package game.gui.element; +package client.gui.element; import org.lwjgl.opengl.GL11; -import game.gui.Font; -import game.renderer.Drawing; -import game.renderer.Drawing.Offset; -import game.renderer.Drawing.Vec2i; +import client.Timing; +import client.gui.Font; +import client.renderer.Drawing; +import client.renderer.Drawing.Offset; +import client.renderer.Drawing.Vec2i; +import client.window.Button; +import client.window.Keysym; +import client.window.Window; import game.util.CharValidator; import game.util.ExtMath; -import game.util.Timing; import game.util.Util; -import game.window.Button; -import game.window.Keysym; -import game.window.Window; public class Textbox extends Element { public static enum Action { diff --git a/java/src/game/gui/element/Toggle.java b/java/src/client/gui/element/Toggle.java similarity index 93% rename from java/src/game/gui/element/Toggle.java rename to java/src/client/gui/element/Toggle.java index 568f2b2..2c38f8b 100644 --- a/java/src/game/gui/element/Toggle.java +++ b/java/src/client/gui/element/Toggle.java @@ -1,9 +1,9 @@ -package game.gui.element; +package client.gui.element; -import game.renderer.Drawing; -import game.util.Formatter; +import client.gui.Formatter; +import client.renderer.Drawing; +import client.window.Button; import game.util.Util; -import game.window.Button; public class Toggle extends Element { public static interface Callback { diff --git a/java/src/game/gui/element/TransparentBox.java b/java/src/client/gui/element/TransparentBox.java similarity index 86% rename from java/src/game/gui/element/TransparentBox.java rename to java/src/client/gui/element/TransparentBox.java index b7f66d9..04f284d 100644 --- a/java/src/game/gui/element/TransparentBox.java +++ b/java/src/client/gui/element/TransparentBox.java @@ -1,6 +1,6 @@ -package game.gui.element; +package client.gui.element; -import game.renderer.Drawing; +import client.renderer.Drawing; public class TransparentBox extends Textbox { private final boolean background; diff --git a/java/src/game/gui/ingame/GuiGameOver.java b/java/src/client/gui/ingame/GuiGameOver.java similarity index 84% rename from java/src/game/gui/ingame/GuiGameOver.java rename to java/src/client/gui/ingame/GuiGameOver.java index 780bd41..4ed36d0 100755 --- a/java/src/game/gui/ingame/GuiGameOver.java +++ b/java/src/client/gui/ingame/GuiGameOver.java @@ -1,10 +1,10 @@ -package game.gui.ingame; +package client.gui.ingame; +import client.gui.Gui; +import client.gui.element.ActButton; +import client.gui.element.ActButton.Mode; +import client.gui.element.Label; import game.color.TextColor; -import game.gui.Gui; -import game.gui.element.ActButton; -import game.gui.element.ActButton.Mode; -import game.gui.element.Label; public class GuiGameOver extends Gui { public static final GuiGameOver INSTANCE = new GuiGameOver(); diff --git a/java/src/game/gui/ingame/GuiSign.java b/java/src/client/gui/ingame/GuiSign.java similarity index 88% rename from java/src/game/gui/ingame/GuiSign.java rename to java/src/client/gui/ingame/GuiSign.java index a04af2f..925ae91 100644 --- a/java/src/game/gui/ingame/GuiSign.java +++ b/java/src/client/gui/ingame/GuiSign.java @@ -1,9 +1,9 @@ -package game.gui.ingame; +package client.gui.ingame; -import game.gui.Gui; -import game.gui.element.NavButton; -import game.gui.element.Textbox; -import game.gui.element.Textbox.Action; +import client.gui.Gui; +import client.gui.element.NavButton; +import client.gui.element.Textbox; +import client.gui.element.Textbox.Action; import game.network.ClientPlayer; import game.packet.CPacketSign; import game.world.BlockPos; diff --git a/java/src/game/gui/options/GuiBinds.java b/java/src/client/gui/options/GuiBinds.java similarity index 90% rename from java/src/game/gui/options/GuiBinds.java rename to java/src/client/gui/options/GuiBinds.java index 5f0b7d4..01bb639 100644 --- a/java/src/game/gui/options/GuiBinds.java +++ b/java/src/client/gui/options/GuiBinds.java @@ -1,11 +1,11 @@ -package game.gui.options; +package client.gui.options; +import client.gui.Formatter; +import client.gui.element.ActButton; +import client.gui.element.ActButton.Mode; +import client.gui.element.Label; +import client.window.Bind; import game.color.TextColor; -import game.gui.element.ActButton; -import game.gui.element.ActButton.Mode; -import game.gui.element.Label; -import game.util.Formatter; -import game.window.Bind; public class GuiBinds extends GuiOptions { protected GuiBinds() { diff --git a/java/src/game/gui/options/GuiDisplay.java b/java/src/client/gui/options/GuiDisplay.java similarity index 91% rename from java/src/game/gui/options/GuiDisplay.java rename to java/src/client/gui/options/GuiDisplay.java index cfda61a..1d5d69b 100644 --- a/java/src/game/gui/options/GuiDisplay.java +++ b/java/src/client/gui/options/GuiDisplay.java @@ -1,15 +1,15 @@ -package game.gui.options; +package client.gui.options; +import client.gui.Formatter; +import client.gui.element.Dropdown; +import client.gui.element.Element; +import client.gui.element.Fill; +import client.gui.element.Slider; +import client.gui.element.Toggle; +import client.window.Button; +import client.window.DisplayMode; +import client.window.Window; import game.color.TextColor; -import game.gui.element.Dropdown; -import game.gui.element.Element; -import game.gui.element.Fill; -import game.gui.element.Slider; -import game.gui.element.Toggle; -import game.util.Formatter; -import game.window.Button; -import game.window.DisplayMode; -import game.window.Window; public class GuiDisplay extends GuiOptions { private static final String[] DISTANCES = new String[] {"Gruselig", "Winzig", "Gering", "Normal", "Weit"}; diff --git a/java/src/game/gui/options/GuiOptions.java b/java/src/client/gui/options/GuiOptions.java similarity index 86% rename from java/src/game/gui/options/GuiOptions.java rename to java/src/client/gui/options/GuiOptions.java index e50ed60..51258d8 100644 --- a/java/src/game/gui/options/GuiOptions.java +++ b/java/src/client/gui/options/GuiOptions.java @@ -1,8 +1,8 @@ -package game.gui.options; +package client.gui.options; -import game.gui.Gui; -import game.gui.GuiMenu; -import game.gui.element.NavButton; +import client.gui.Gui; +import client.gui.GuiMenu; +import client.gui.element.NavButton; public abstract class GuiOptions extends Gui { private static final GuiOptions[] PAGES = {lastPage = new GuiBinds(), new GuiStyle(), new GuiDisplay(), new GuiSound()}; diff --git a/java/src/game/gui/options/GuiSound.java b/java/src/client/gui/options/GuiSound.java similarity index 85% rename from java/src/game/gui/options/GuiSound.java rename to java/src/client/gui/options/GuiSound.java index 4fb64210..052c2ab 100644 --- a/java/src/game/gui/options/GuiSound.java +++ b/java/src/client/gui/options/GuiSound.java @@ -1,8 +1,8 @@ -package game.gui.options; +package client.gui.options; -import game.audio.Volume; -import game.gui.element.ActButton; -import game.gui.element.ActButton.Mode; +import client.audio.Volume; +import client.gui.element.ActButton; +import client.gui.element.ActButton.Mode; public class GuiSound extends GuiOptions { protected GuiSound() { diff --git a/java/src/game/gui/options/GuiStyle.java b/java/src/client/gui/options/GuiStyle.java similarity index 90% rename from java/src/game/gui/options/GuiStyle.java rename to java/src/client/gui/options/GuiStyle.java index ecba7e0..66cd703 100644 --- a/java/src/game/gui/options/GuiStyle.java +++ b/java/src/client/gui/options/GuiStyle.java @@ -1,16 +1,16 @@ -package game.gui.options; +package client.gui.options; -import game.gui.Style; -import game.gui.element.ActButton; -import game.gui.element.ActButton.Mode; -import game.gui.element.Dropdown; -import game.gui.element.Element; -import game.gui.element.SelectableButton; -import game.gui.element.Slider; -import game.gui.element.Switch; -import game.gui.element.Textbox; -import game.gui.element.Textbox.Action; -import game.gui.element.Toggle; +import client.gui.Style; +import client.gui.element.ActButton; +import client.gui.element.ActButton.Mode; +import client.gui.element.Dropdown; +import client.gui.element.Element; +import client.gui.element.SelectableButton; +import client.gui.element.Slider; +import client.gui.element.Switch; +import client.gui.element.Textbox; +import client.gui.element.Textbox.Action; +import client.gui.element.Toggle; import game.vars.CVar; import game.vars.ColorVar; diff --git a/java/src/client/init/EntityRenderRegistry.java b/java/src/client/init/EntityRenderRegistry.java new file mode 100644 index 0000000..535ff26 --- /dev/null +++ b/java/src/client/init/EntityRenderRegistry.java @@ -0,0 +1,157 @@ +package client.init; + +import java.util.Map; + +import client.renderer.entity.Render; +import client.renderer.entity.RenderArachnoid; +import client.renderer.entity.RenderArrow; +import client.renderer.entity.RenderBat; +import client.renderer.entity.RenderBlockEntity; +import client.renderer.entity.RenderBoat; +import client.renderer.entity.RenderBullet; +import client.renderer.entity.RenderChicken; +import client.renderer.entity.RenderCow; +import client.renderer.entity.RenderCrystal; +import client.renderer.entity.RenderDie; +import client.renderer.entity.RenderDragon; +import client.renderer.entity.RenderDynamite; +import client.renderer.entity.RenderEntity; +import client.renderer.entity.RenderEntityItem; +import client.renderer.entity.RenderFallingBlock; +import client.renderer.entity.RenderFireball; +import client.renderer.entity.RenderFish; +import client.renderer.entity.RenderFlyingBox; +import client.renderer.entity.RenderHorse; +import client.renderer.entity.RenderHumanoid; +import client.renderer.entity.RenderItem; +import client.renderer.entity.RenderItemEntity; +import client.renderer.entity.RenderLeashKnot; +import client.renderer.entity.RenderLightning; +import client.renderer.entity.RenderManager; +import client.renderer.entity.RenderMinecart; +import client.renderer.entity.RenderMooshroom; +import client.renderer.entity.RenderMouse; +import client.renderer.entity.RenderNpc; +import client.renderer.entity.RenderOcelot; +import client.renderer.entity.RenderPig; +import client.renderer.entity.RenderPotion; +import client.renderer.entity.RenderRabbit; +import client.renderer.entity.RenderSheep; +import client.renderer.entity.RenderSlime; +import client.renderer.entity.RenderSpaceMarine; +import client.renderer.entity.RenderSquid; +import client.renderer.entity.RenderTntMinecart; +import client.renderer.entity.RenderTntPrimed; +import client.renderer.entity.RenderWolf; +import client.renderer.entity.RenderXpOrb; +import client.renderer.model.ModelChicken; +import client.renderer.model.ModelCow; +import client.renderer.model.ModelHorse; +import client.renderer.model.ModelMouse; +import client.renderer.model.ModelOcelot; +import client.renderer.model.ModelPig; +import client.renderer.model.ModelRabbit; +import client.renderer.model.ModelSheep2; +import client.renderer.model.ModelSquid; +import client.renderer.model.ModelWolf; +import game.entity.Entity; +import game.entity.animal.EntityBat; +import game.entity.animal.EntityChicken; +import game.entity.animal.EntityCow; +import game.entity.animal.EntityDragon; +import game.entity.animal.EntityHorse; +import game.entity.animal.EntityMooshroom; +import game.entity.animal.EntityMouse; +import game.entity.animal.EntityOcelot; +import game.entity.animal.EntityPig; +import game.entity.animal.EntityRabbit; +import game.entity.animal.EntitySheep; +import game.entity.animal.EntitySquid; +import game.entity.animal.EntityWolf; +import game.entity.effect.EntityLightning; +import game.entity.item.EntityBoat; +import game.entity.item.EntityCart; +import game.entity.item.EntityCrystal; +import game.entity.item.EntityFalling; +import game.entity.item.EntityFireworks; +import game.entity.item.EntityItem; +import game.entity.item.EntityLeashKnot; +import game.entity.item.EntityNuke; +import game.entity.item.EntityOrb; +import game.entity.item.EntityTnt; +import game.entity.item.EntityTntCart; +import game.entity.item.EntityXp; +import game.entity.item.EntityXpBottle; +import game.entity.npc.SpeciesInfo; +import game.entity.projectile.EntityArrow; +import game.entity.projectile.EntityBox; +import game.entity.projectile.EntityBullet; +import game.entity.projectile.EntityDie; +import game.entity.projectile.EntityDynamite; +import game.entity.projectile.EntityEgg; +import game.entity.projectile.EntityFireCharge; +import game.entity.projectile.EntityFireball; +import game.entity.projectile.EntityHook; +import game.entity.projectile.EntityPotion; +import game.entity.projectile.EntitySnowball; +import game.init.Blocks; +import game.init.Items; +import game.init.SpeciesRegistry; +import game.init.SpeciesRegistry.ModelType; + +public class EntityRenderRegistry { + public static void registerRenderers(Map, Render> map, + Map models, RenderManager mgr, RenderItem ritem) { + map.put(EntityPig.class, new RenderPig(mgr, new ModelPig())); + map.put(EntitySheep.class, new RenderSheep(mgr, new ModelSheep2())); + map.put(EntityCow.class, new RenderCow(mgr, new ModelCow())); + map.put(EntityMooshroom.class, new RenderMooshroom(mgr, new ModelCow())); + map.put(EntityWolf.class, new RenderWolf(mgr, new ModelWolf())); + map.put(EntityChicken.class, new RenderChicken(mgr, new ModelChicken())); + map.put(EntityOcelot.class, new RenderOcelot(mgr, new ModelOcelot())); + map.put(EntityRabbit.class, new RenderRabbit(mgr, new ModelRabbit())); + map.put(EntitySquid.class, new RenderSquid(mgr, new ModelSquid())); + map.put(EntityBat.class, new RenderBat(mgr)); + map.put(EntityDragon.class, new RenderDragon(mgr)); + map.put(EntityCrystal.class, new RenderCrystal(mgr)); + map.put(Entity.class, new RenderEntity(mgr)); +// map.put(EntityPainting.class, new RenderPainting(mgr)); +// map.put(EntityFrame.class, new RenderItemFrame(mgr, ritem)); + map.put(EntityLeashKnot.class, new RenderLeashKnot(mgr)); + map.put(EntityArrow.class, new RenderArrow(mgr)); + map.put(EntitySnowball.class, new RenderItemEntity(mgr, Items.snowball, ritem)); + map.put(EntityOrb.class, new RenderItemEntity(mgr, Items.charged_orb, ritem)); + map.put(EntityEgg.class, new RenderItemEntity(mgr, Items.egg, ritem)); + map.put(EntityPotion.class, new RenderPotion(mgr, ritem)); + map.put(EntityXpBottle.class, new RenderItemEntity(mgr, Items.experience_bottle, ritem)); + map.put(EntityFireworks.class, new RenderItemEntity(mgr, Items.fireworks, ritem)); + map.put(EntityFireball.class, new RenderFireball(mgr, 0.75F)); + map.put(EntityFireCharge.class, new RenderFireball(mgr, 0.5F)); + map.put(EntityBox.class, new RenderFlyingBox(mgr)); + map.put(EntityItem.class, new RenderEntityItem(mgr, ritem)); + map.put(EntityXp.class, new RenderXpOrb(mgr)); + map.put(EntityTnt.class, new RenderTntPrimed(mgr)); + map.put(EntityFalling.class, new RenderFallingBlock(mgr)); + map.put(EntityTntCart.class, new RenderTntMinecart(mgr)); + map.put(EntityCart.class, new RenderMinecart(mgr)); + map.put(EntityBoat.class, new RenderBoat(mgr)); + map.put(EntityHook.class, new RenderFish(mgr)); + map.put(EntityHorse.class, new RenderHorse(mgr, new ModelHorse())); + map.put(EntityDynamite.class, new RenderDynamite(mgr, Items.dynamite, ritem)); + map.put(EntityNuke.class, new RenderBlockEntity(mgr, Blocks.nuke.getState())); + map.put(EntityMouse.class, new RenderMouse(mgr, new ModelMouse())); + map.put(EntityDie.class, new RenderDie(mgr)); + map.put(EntityBullet.class, new RenderBullet(mgr)); + map.put(EntityLightning.class, new RenderLightning(mgr)); + models.put(ModelType.HUMANOID, new RenderHumanoid(mgr, 12, 12, "textures/entity/char.png")); + models.put(ModelType.ARACHNOID, new RenderArachnoid(mgr)); + models.put(ModelType.SLIME, new RenderSlime(mgr)); + models.put(ModelType.DWARF, new RenderHumanoid(mgr, 10, 10, "textures/entity/dwarf.png")); + models.put(ModelType.HALFLING, new RenderHumanoid(mgr, 8, 8, "textures/entity/goblin.png")); + models.put(ModelType.SPACE_MARINE, new RenderSpaceMarine(mgr)); + for(int z = 0; z < SpeciesRegistry.SPECIMEN.size(); z++) { + SpeciesInfo info = SpeciesRegistry.SPECIMEN.get(z); + map.put(info.clazz, models.get(info.renderer)); + } + } +} diff --git a/java/src/game/renderer/ActiveRenderInfo.java b/java/src/client/renderer/ActiveRenderInfo.java similarity index 99% rename from java/src/game/renderer/ActiveRenderInfo.java rename to java/src/client/renderer/ActiveRenderInfo.java index 3987341..b9e7ecd 100755 --- a/java/src/game/renderer/ActiveRenderInfo.java +++ b/java/src/client/renderer/ActiveRenderInfo.java @@ -1,4 +1,4 @@ -package game.renderer; +package client.renderer; import java.nio.ByteBuffer; import java.nio.ByteOrder; diff --git a/java/src/game/renderer/BlockRenderer.java b/java/src/client/renderer/BlockRenderer.java similarity index 98% rename from java/src/game/renderer/BlockRenderer.java rename to java/src/client/renderer/BlockRenderer.java index 0747812..cb78895 100755 --- a/java/src/game/renderer/BlockRenderer.java +++ b/java/src/client/renderer/BlockRenderer.java @@ -1,4 +1,4 @@ -package game.renderer; +package client.renderer; import java.util.BitSet; import java.util.List; @@ -6,22 +6,21 @@ import java.util.Map; import org.lwjgl.opengl.GL11; -import game.collect.Maps; - -import game.Game; +import client.Game; +import client.renderer.blockmodel.BakedModel; +import client.renderer.blockmodel.BakedQuad; +import client.renderer.blockmodel.IBakedModel; +import client.renderer.blockmodel.ModelManager; +import client.renderer.texture.TextureAtlasSprite; +import client.renderer.texture.TextureMap; +import client.renderer.tileentity.TileEntityItemStackRenderer; import game.block.Block; import game.block.BlockLiquid; +import game.collect.Maps; import game.init.BlockRegistry; import game.init.FluidRegistry; import game.item.ItemStack; import game.material.Material; -import game.model.BakedModel; -import game.model.IBakedModel; -import game.model.ModelManager; -import game.renderer.blockmodel.BakedQuad; -import game.renderer.texture.TextureAtlasSprite; -import game.renderer.texture.TextureMap; -import game.renderer.tileentity.TileEntityItemStackRenderer; import game.util.ExtMath; import game.world.BlockPos; import game.world.Facing; diff --git a/java/src/game/renderer/DefaultVertexFormats.java b/java/src/client/renderer/DefaultVertexFormats.java similarity index 99% rename from java/src/game/renderer/DefaultVertexFormats.java rename to java/src/client/renderer/DefaultVertexFormats.java index 51416dd..ab287a5 100755 --- a/java/src/game/renderer/DefaultVertexFormats.java +++ b/java/src/client/renderer/DefaultVertexFormats.java @@ -1,4 +1,4 @@ -package game.renderer; +package client.renderer; public class DefaultVertexFormats { diff --git a/java/src/game/renderer/Drawing.java b/java/src/client/renderer/Drawing.java similarity index 99% rename from java/src/game/renderer/Drawing.java rename to java/src/client/renderer/Drawing.java index 934f5af..d4a2002 100644 --- a/java/src/game/renderer/Drawing.java +++ b/java/src/client/renderer/Drawing.java @@ -1,11 +1,11 @@ -package game.renderer; +package client.renderer; import org.lwjgl.opengl.GL11; -import game.Game; +import client.Game; +import client.gui.Font; +import client.gui.FontChar; import game.color.TextColor; -import game.gui.Font; -import game.gui.FontChar; import game.log.Log; import game.util.Util; diff --git a/java/src/game/renderer/EntityRenderer.java b/java/src/client/renderer/EntityRenderer.java similarity index 99% rename from java/src/game/renderer/EntityRenderer.java rename to java/src/client/renderer/EntityRenderer.java index 2f63441..0ca4578 100755 --- a/java/src/game/renderer/EntityRenderer.java +++ b/java/src/client/renderer/EntityRenderer.java @@ -1,16 +1,18 @@ -package game.renderer; +package client.renderer; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.FloatBuffer; import java.util.List; +import java.util.function.Predicate; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL13; -import java.util.function.Predicate; - -import game.Game; +import client.Game; +import client.renderer.particle.EffectRenderer; +import client.renderer.texture.DynamicTexture; +import client.renderer.texture.TextureMap; import game.biome.Biome; import game.block.Block; import game.entity.Entity; @@ -20,11 +22,9 @@ import game.entity.types.EntityLiving; import game.init.Items; import game.init.SoundEvent; import game.material.Material; +import game.model.BlockLayer; +import game.model.ParticleType; import game.potion.Potion; -import game.renderer.particle.EffectRenderer; -import game.renderer.particle.ParticleType; -import game.renderer.texture.DynamicTexture; -import game.renderer.texture.TextureMap; import game.rng.Random; import game.util.ExtMath; import game.world.BlockPos; diff --git a/java/src/game/renderer/Frustum.java b/java/src/client/renderer/Frustum.java similarity index 99% rename from java/src/game/renderer/Frustum.java rename to java/src/client/renderer/Frustum.java index d4769f1..9b3478d 100755 --- a/java/src/game/renderer/Frustum.java +++ b/java/src/client/renderer/Frustum.java @@ -1,4 +1,4 @@ -package game.renderer; +package client.renderer; import java.nio.ByteBuffer; import java.nio.ByteOrder; diff --git a/java/src/game/renderer/GlState.java b/java/src/client/renderer/GlState.java similarity index 99% rename from java/src/game/renderer/GlState.java rename to java/src/client/renderer/GlState.java index 569b0eb..d9eea4c 100755 --- a/java/src/game/renderer/GlState.java +++ b/java/src/client/renderer/GlState.java @@ -1,4 +1,4 @@ -package game.renderer; +package client.renderer; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL13; diff --git a/java/src/game/renderer/ItemModelMesher.java b/java/src/client/renderer/ItemModelMesher.java similarity index 95% rename from java/src/game/renderer/ItemModelMesher.java rename to java/src/client/renderer/ItemModelMesher.java index 80958f6..69fd18c 100755 --- a/java/src/game/renderer/ItemModelMesher.java +++ b/java/src/client/renderer/ItemModelMesher.java @@ -1,17 +1,17 @@ -package game.renderer; +package client.renderer; import java.util.List; import java.util.Map; +import client.renderer.blockmodel.IBakedModel; +import client.renderer.blockmodel.ModelManager; +import client.renderer.texture.TextureAtlasSprite; import game.collect.Lists; import game.collect.Maps; - import game.init.ItemRegistry; import game.item.Item; import game.item.ItemStack; -import game.model.IBakedModel; -import game.model.ModelManager; -import game.renderer.texture.TextureAtlasSprite; +import game.model.ItemMeshDefinition; public class ItemModelMesher { diff --git a/java/src/game/renderer/ItemRenderer.java b/java/src/client/renderer/ItemRenderer.java similarity index 98% rename from java/src/game/renderer/ItemRenderer.java rename to java/src/client/renderer/ItemRenderer.java index 6fdbf98..b5d7544 100755 --- a/java/src/game/renderer/ItemRenderer.java +++ b/java/src/client/renderer/ItemRenderer.java @@ -1,4 +1,4 @@ -package game.renderer; +package client.renderer; import java.nio.ByteBuffer; import java.nio.ByteOrder; @@ -7,19 +7,20 @@ import java.nio.FloatBuffer; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL13; -import game.Game; +import client.Game; +import client.renderer.entity.RenderItem; +import client.renderer.entity.RenderManager; +import client.renderer.entity.RenderNpc; +import client.renderer.texture.TextureAtlasSprite; +import client.renderer.texture.TextureMap; import game.block.Block; import game.entity.npc.EntityNPC; import game.entity.types.EntityLiving; import game.item.Item; import game.item.ItemAction; import game.item.ItemStack; -import game.renderer.blockmodel.Transforms; -import game.renderer.entity.RenderItem; -import game.renderer.entity.RenderManager; -import game.renderer.entity.RenderNpc; -import game.renderer.texture.TextureAtlasSprite; -import game.renderer.texture.TextureMap; +import game.model.BlockLayer; +import game.model.Transforms; import game.util.ExtMath; import game.world.BlockPos; import game.world.State; diff --git a/java/src/game/renderer/Project.java b/java/src/client/renderer/Project.java similarity index 99% rename from java/src/game/renderer/Project.java rename to java/src/client/renderer/Project.java index e6d3dd4..ce0b8a8 100644 --- a/java/src/game/renderer/Project.java +++ b/java/src/client/renderer/Project.java @@ -29,7 +29,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package game.renderer; +package client.renderer; import java.nio.ByteBuffer; import java.nio.ByteOrder; diff --git a/java/src/game/renderer/RegionRenderCache.java b/java/src/client/renderer/RegionRenderCache.java similarity index 99% rename from java/src/game/renderer/RegionRenderCache.java rename to java/src/client/renderer/RegionRenderCache.java index cfd4050..ceeae17 100755 --- a/java/src/game/renderer/RegionRenderCache.java +++ b/java/src/client/renderer/RegionRenderCache.java @@ -1,4 +1,4 @@ -package game.renderer; +package client.renderer; import java.util.Arrays; diff --git a/java/src/game/renderer/RegionRenderCacheBuilder.java b/java/src/client/renderer/RegionRenderCacheBuilder.java similarity index 92% rename from java/src/game/renderer/RegionRenderCacheBuilder.java rename to java/src/client/renderer/RegionRenderCacheBuilder.java index e2b175a..3bdd7be 100755 --- a/java/src/game/renderer/RegionRenderCacheBuilder.java +++ b/java/src/client/renderer/RegionRenderCacheBuilder.java @@ -1,4 +1,6 @@ -package game.renderer; +package client.renderer; + +import game.model.BlockLayer; public class RegionRenderCacheBuilder { diff --git a/java/src/game/renderer/RenderBuffer.java b/java/src/client/renderer/RenderBuffer.java similarity index 99% rename from java/src/game/renderer/RenderBuffer.java rename to java/src/client/renderer/RenderBuffer.java index a0c4cb5..8889951 100755 --- a/java/src/game/renderer/RenderBuffer.java +++ b/java/src/client/renderer/RenderBuffer.java @@ -1,4 +1,4 @@ -package game.renderer; +package client.renderer; import java.nio.ByteBuffer; import java.nio.ByteOrder; diff --git a/java/src/game/renderer/RenderGlobal.java b/java/src/client/renderer/RenderGlobal.java similarity index 99% rename from java/src/game/renderer/RenderGlobal.java rename to java/src/client/renderer/RenderGlobal.java index c91daa9..2376f3c 100755 --- a/java/src/game/renderer/RenderGlobal.java +++ b/java/src/client/renderer/RenderGlobal.java @@ -1,4 +1,4 @@ -package game.renderer; +package client.renderer; import java.util.ArrayList; import java.util.Collection; @@ -15,34 +15,35 @@ import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL13; import org.lwjgl.opengl.GL15; -import game.collect.Lists; -import game.collect.Maps; -import game.collect.Sets; - -import game.Game; -import game.audio.Sound; +import client.Game; +import client.renderer.chunk.ChunkRenderDispatcher; +import client.renderer.chunk.CompiledChunk; +import client.renderer.chunk.RenderChunk; +import client.renderer.chunk.VisGraph; +import client.renderer.entity.RenderManager; +import client.renderer.texture.TextureAtlasSprite; +import client.renderer.texture.TextureManager; +import client.renderer.texture.TextureMap; +import client.renderer.tileentity.TileEntityRendererDispatcher; import game.block.Block; import game.block.BlockChest; import game.block.BlockSign; import game.block.BlockSkull; +import game.collect.Lists; +import game.collect.Maps; +import game.collect.Sets; import game.entity.Entity; import game.entity.npc.EntityNPC; import game.entity.projectile.EntityBox; import game.entity.types.EntityLiving; import game.material.Material; -import game.renderer.chunk.ChunkRenderDispatcher; -import game.renderer.chunk.CompiledChunk; -import game.renderer.chunk.RenderChunk; -import game.renderer.chunk.VisGraph; -import game.renderer.entity.RenderManager; -import game.renderer.texture.TextureAtlasSprite; -import game.renderer.texture.TextureManager; -import game.renderer.texture.TextureMap; -import game.renderer.tileentity.TileEntityRendererDispatcher; +import game.model.BlockLayer; import game.rng.Random; +import game.sound.Sound; import game.tileentity.TileEntity; import game.tileentity.TileEntityChest; import game.util.ExtMath; +import game.util.Vector3f; import game.world.BlockPos; import game.world.BoundingBox; import game.world.Chunk; diff --git a/java/src/game/renderer/Tessellator.java b/java/src/client/renderer/Tessellator.java similarity index 99% rename from java/src/game/renderer/Tessellator.java rename to java/src/client/renderer/Tessellator.java index bc6412e..014e658 100755 --- a/java/src/game/renderer/Tessellator.java +++ b/java/src/client/renderer/Tessellator.java @@ -1,4 +1,4 @@ -package game.renderer; +package client.renderer; import java.nio.ByteBuffer; import java.util.List; diff --git a/java/src/game/renderer/VertexBuffer.java b/java/src/client/renderer/VertexBuffer.java similarity index 97% rename from java/src/game/renderer/VertexBuffer.java rename to java/src/client/renderer/VertexBuffer.java index ab21f17..ee8a33e 100755 --- a/java/src/game/renderer/VertexBuffer.java +++ b/java/src/client/renderer/VertexBuffer.java @@ -1,4 +1,4 @@ -package game.renderer; +package client.renderer; import java.nio.ByteBuffer; diff --git a/java/src/game/renderer/VertexFormat.java b/java/src/client/renderer/VertexFormat.java similarity index 99% rename from java/src/game/renderer/VertexFormat.java rename to java/src/client/renderer/VertexFormat.java index 42be6f3..8b06b07 100755 --- a/java/src/game/renderer/VertexFormat.java +++ b/java/src/client/renderer/VertexFormat.java @@ -1,9 +1,8 @@ -package game.renderer; +package client.renderer; import java.util.List; import game.collect.Lists; - import game.log.Log; public class VertexFormat diff --git a/java/src/game/renderer/VertexFormatElement.java b/java/src/client/renderer/VertexFormatElement.java similarity index 99% rename from java/src/game/renderer/VertexFormatElement.java rename to java/src/client/renderer/VertexFormatElement.java index 58804dd..3c19fca 100755 --- a/java/src/game/renderer/VertexFormatElement.java +++ b/java/src/client/renderer/VertexFormatElement.java @@ -1,4 +1,4 @@ -package game.renderer; +package client.renderer; import org.lwjgl.opengl.GL11; diff --git a/java/src/game/renderer/ViewFrustum.java b/java/src/client/renderer/ViewFrustum.java similarity index 98% rename from java/src/game/renderer/ViewFrustum.java rename to java/src/client/renderer/ViewFrustum.java index c0d460a..4b9856c 100755 --- a/java/src/game/renderer/ViewFrustum.java +++ b/java/src/client/renderer/ViewFrustum.java @@ -1,6 +1,6 @@ -package game.renderer; +package client.renderer; -import game.renderer.chunk.RenderChunk; +import client.renderer.chunk.RenderChunk; import game.util.ExtMath; import game.world.BlockPos; import game.world.World; diff --git a/java/src/game/model/BakedModel.java b/java/src/client/renderer/blockmodel/BakedModel.java similarity index 94% rename from java/src/game/model/BakedModel.java rename to java/src/client/renderer/blockmodel/BakedModel.java index 8227641..9f4ed4c 100755 --- a/java/src/game/model/BakedModel.java +++ b/java/src/client/renderer/blockmodel/BakedModel.java @@ -1,15 +1,11 @@ -package game.model; +package client.renderer.blockmodel; import java.util.ArrayList; import java.util.List; +import client.renderer.texture.TextureAtlasSprite; import game.collect.Lists; - -import game.renderer.blockmodel.BakedQuad; -import game.renderer.blockmodel.BreakingFour; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; -import game.renderer.texture.TextureAtlasSprite; +import game.model.Transforms; import game.world.Facing; public class BakedModel implements IBakedModel diff --git a/java/src/game/renderer/blockmodel/BakedQuad.java b/java/src/client/renderer/blockmodel/BakedQuad.java similarity index 93% rename from java/src/game/renderer/blockmodel/BakedQuad.java rename to java/src/client/renderer/blockmodel/BakedQuad.java index 8fe6886..50e1498 100755 --- a/java/src/game/renderer/blockmodel/BakedQuad.java +++ b/java/src/client/renderer/blockmodel/BakedQuad.java @@ -1,4 +1,4 @@ -package game.renderer.blockmodel; +package client.renderer.blockmodel; import game.world.Facing; diff --git a/java/src/game/renderer/blockmodel/BlockFaceUV.java b/java/src/client/renderer/blockmodel/BlockFaceUV.java similarity index 94% rename from java/src/game/renderer/blockmodel/BlockFaceUV.java rename to java/src/client/renderer/blockmodel/BlockFaceUV.java index 4eef325..6dfb737 100755 --- a/java/src/game/renderer/blockmodel/BlockFaceUV.java +++ b/java/src/client/renderer/blockmodel/BlockFaceUV.java @@ -1,4 +1,4 @@ -package game.renderer.blockmodel; +package client.renderer.blockmodel; public class BlockFaceUV { public float[] uvs; diff --git a/java/src/game/renderer/blockmodel/BlockPart.java b/java/src/client/renderer/blockmodel/BlockPart.java similarity index 92% rename from java/src/game/renderer/blockmodel/BlockPart.java rename to java/src/client/renderer/blockmodel/BlockPart.java index 92fa935..d52b5fd 100755 --- a/java/src/game/renderer/blockmodel/BlockPart.java +++ b/java/src/client/renderer/blockmodel/BlockPart.java @@ -1,8 +1,8 @@ -package game.renderer.blockmodel; +package client.renderer.blockmodel; import java.util.Map; -import game.renderer.Vector3f; +import game.util.Vector3f; import game.world.Facing; public class BlockPart @@ -22,7 +22,7 @@ public class BlockPart this.shade = shadeIn; } - protected float[] getFaceUvs(Facing face) + public float[] getFaceUvs(Facing face) { float[] afloat; diff --git a/java/src/game/renderer/blockmodel/BlockPartFace.java b/java/src/client/renderer/blockmodel/BlockPartFace.java similarity index 82% rename from java/src/game/renderer/blockmodel/BlockPartFace.java rename to java/src/client/renderer/blockmodel/BlockPartFace.java index 67dbc8d..601f36a 100755 --- a/java/src/game/renderer/blockmodel/BlockPartFace.java +++ b/java/src/client/renderer/blockmodel/BlockPartFace.java @@ -1,6 +1,6 @@ -package game.renderer.blockmodel; +package client.renderer.blockmodel; -import game.renderer.texture.TextureMap; +import client.renderer.texture.TextureMap; import game.world.Facing; public class BlockPartFace { diff --git a/java/src/game/renderer/blockmodel/BlockPartRotation.java b/java/src/client/renderer/blockmodel/BlockPartRotation.java similarity index 86% rename from java/src/game/renderer/blockmodel/BlockPartRotation.java rename to java/src/client/renderer/blockmodel/BlockPartRotation.java index ccf026e..250034f 100755 --- a/java/src/game/renderer/blockmodel/BlockPartRotation.java +++ b/java/src/client/renderer/blockmodel/BlockPartRotation.java @@ -1,6 +1,6 @@ -package game.renderer.blockmodel; +package client.renderer.blockmodel; -import game.renderer.Vector3f; +import game.util.Vector3f; import game.world.Facing; public class BlockPartRotation { diff --git a/java/src/game/renderer/blockmodel/BreakingFour.java b/java/src/client/renderer/blockmodel/BreakingFour.java similarity index 95% rename from java/src/game/renderer/blockmodel/BreakingFour.java rename to java/src/client/renderer/blockmodel/BreakingFour.java index 976d9e2..ec2cbc9 100755 --- a/java/src/game/renderer/blockmodel/BreakingFour.java +++ b/java/src/client/renderer/blockmodel/BreakingFour.java @@ -1,8 +1,8 @@ -package game.renderer.blockmodel; +package client.renderer.blockmodel; import java.util.Arrays; -import game.renderer.texture.TextureAtlasSprite; +import client.renderer.texture.TextureAtlasSprite; public class BreakingFour extends BakedQuad { diff --git a/java/src/game/model/BuiltInModel.java b/java/src/client/renderer/blockmodel/BuiltInModel.java similarity index 83% rename from java/src/game/model/BuiltInModel.java rename to java/src/client/renderer/blockmodel/BuiltInModel.java index 82611a5..4176e2c 100755 --- a/java/src/game/model/BuiltInModel.java +++ b/java/src/client/renderer/blockmodel/BuiltInModel.java @@ -1,10 +1,9 @@ -package game.model; +package client.renderer.blockmodel; import java.util.List; -import game.renderer.blockmodel.BakedQuad; -import game.renderer.blockmodel.Transforms; -import game.renderer.texture.TextureAtlasSprite; +import client.renderer.texture.TextureAtlasSprite; +import game.model.Transforms; import game.world.Facing; public class BuiltInModel implements IBakedModel diff --git a/java/src/game/renderer/blockmodel/FaceBakery.java b/java/src/client/renderer/blockmodel/FaceBakery.java similarity index 99% rename from java/src/game/renderer/blockmodel/FaceBakery.java rename to java/src/client/renderer/blockmodel/FaceBakery.java index 878669e..6576b8f 100755 --- a/java/src/game/renderer/blockmodel/FaceBakery.java +++ b/java/src/client/renderer/blockmodel/FaceBakery.java @@ -1,11 +1,11 @@ -package game.renderer.blockmodel; +package client.renderer.blockmodel; +import client.renderer.texture.TextureAtlasSprite; import game.model.ModelRotation; -import game.renderer.Matrix4f; -import game.renderer.Vector3f; -import game.renderer.Vector4f; -import game.renderer.texture.TextureAtlasSprite; import game.util.ExtMath; +import game.util.Matrix4f; +import game.util.Vector3f; +import game.util.Vector4f; import game.world.Facing; import game.world.Vec3i; diff --git a/java/src/game/model/IBakedModel.java b/java/src/client/renderer/blockmodel/IBakedModel.java similarity index 69% rename from java/src/game/model/IBakedModel.java rename to java/src/client/renderer/blockmodel/IBakedModel.java index b37bf6c..89db333 100755 --- a/java/src/game/model/IBakedModel.java +++ b/java/src/client/renderer/blockmodel/IBakedModel.java @@ -1,10 +1,9 @@ -package game.model; +package client.renderer.blockmodel; import java.util.List; -import game.renderer.blockmodel.BakedQuad; -import game.renderer.blockmodel.Transforms; -import game.renderer.texture.TextureAtlasSprite; +import client.renderer.texture.TextureAtlasSprite; +import game.model.Transforms; import game.world.Facing; public interface IBakedModel diff --git a/java/src/game/model/ModelBakery.java b/java/src/client/renderer/blockmodel/ModelBakery.java similarity index 93% rename from java/src/game/model/ModelBakery.java rename to java/src/client/renderer/blockmodel/ModelBakery.java index 4c80d7a..ea62808 100755 --- a/java/src/game/model/ModelBakery.java +++ b/java/src/client/renderer/blockmodel/ModelBakery.java @@ -1,4 +1,4 @@ -package game.model; +package client.renderer.blockmodel; import java.util.Collections; import java.util.Comparator; @@ -7,10 +7,12 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import client.renderer.texture.IIconCreator; +import client.renderer.texture.TextureAtlasSprite; +import client.renderer.texture.TextureMap; import game.collect.Lists; import game.collect.Maps; import game.collect.Sets; - import game.init.BlockRegistry; import game.init.FluidRegistry; import game.init.IRegistry; @@ -18,14 +20,7 @@ import game.init.ItemRegistry; import game.init.RegistrySimple; import game.item.Item; import game.item.ItemStack; -import game.renderer.blockmodel.BlockPart; -import game.renderer.blockmodel.BlockPartFace; -import game.renderer.blockmodel.FaceBakery; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.ModelGenerator; -import game.renderer.texture.IIconCreator; -import game.renderer.texture.TextureAtlasSprite; -import game.renderer.texture.TextureMap; +import game.model.ModelRotation; import game.world.Facing; import game.world.State; @@ -42,8 +37,8 @@ public abstract class ModelBakery "items/empty_armor_slot_helmet", "items/empty_armor_slot_chestplate", "items/empty_armor_slot_leggings", "items/empty_armor_slot_boots"); protected static final String MISSING = "builtin/missing" + '#' + "missing"; - public static final ModelBlock MODEL_GENERATED = new ModelBlock(null).add().d(""); - public static final ModelBlock MODEL_ENTITY = new ModelBlock(null).add().d(""); + public static final ModelBlock MODEL_GENERATED = (ModelBlock)new ModelBlock(null).add().d(""); + public static final ModelBlock MODEL_ENTITY = (ModelBlock)new ModelBlock(null).add().d(""); static { for(int z = 0; z < FluidRegistry.getNumFluids(); z++) { @@ -65,11 +60,11 @@ public abstract class ModelBakery // Map> variantNames = Maps.>newIdentityHashMap(); // variants.clear(); // Map map = blockModelShapes.getMap(); - models.put(MISSING, new ModelBlock(null).add().all()); + models.put(MISSING, (ModelBlock)new ModelBlock(null).add().all()); variants.add(MISSING); for(Entry entry : map.entrySet()) { - ModelBlock model = entry.getKey().getBlock().getModel(BlockRegistry.REGISTRY.getNameForObject(entry.getKey().getBlock()) - .toString(), entry.getKey()); + ModelBlock model = (ModelBlock)entry.getKey().getBlock().getModel(ModelBlock.PROVIDER, BlockRegistry.REGISTRY.getNameForObject(entry.getKey().getBlock()) + .toString(), entry.getKey()); // ResourceLocation blk = new ResourceLocation(entry.getValue().getName()); models.put(entry.getValue(), model); variants.add(entry.getValue()); @@ -150,7 +145,7 @@ public abstract class ModelBakery item.getRenderItems(item, stacks); for(ItemStack stack : stacks) { String resourcelocation = "item/" + ItemRegistry.REGISTRY.getNameForObject(item).toString() + "#" + stack.getMetadata() + '#' + "inventory"; - models.put(resourcelocation, item.getModel(ItemRegistry.REGISTRY.getNameForObject(item).toString(), stack.getMetadata())); + models.put(resourcelocation, (ModelBlock)item.getModel(ModelBlock.PROVIDER, ItemRegistry.REGISTRY.getNameForObject(item).toString(), stack.getMetadata())); itemLocations.add(resourcelocation); } stacks.clear(); diff --git a/java/src/client/renderer/blockmodel/ModelBlock.java b/java/src/client/renderer/blockmodel/ModelBlock.java new file mode 100755 index 0000000..c7e4400 --- /dev/null +++ b/java/src/client/renderer/blockmodel/ModelBlock.java @@ -0,0 +1,203 @@ +package client.renderer.blockmodel; + +import java.util.List; + +import client.renderer.texture.TextureMap; +import game.collect.Lists; +import game.collect.Maps; +import game.model.Model; +import game.model.ModelProvider; +import game.model.ModelRotation; +import game.model.Transforms; +import game.util.Vector3f; +import game.world.Facing; + +public class ModelBlock extends Model { + static final ModelProvider PROVIDER = new ModelProvider() { + public Model getModel(String primary) { + return new ModelBlock(primary); + } + + public Model getModel(Transforms transform, String... layers) { + return new ModelBlock(transform, layers); + } + + public Model getModel(Model parent, Transforms transform) { + return new ModelBlock((ModelBlock)parent, transform); + } + + public Model getEntityModel() { + return ModelBakery.MODEL_ENTITY; + } + }; + + private final List elements; + private final boolean gui3d; + private final String primary; + private final String[] layers; + private final ModelBlock parent; + + private boolean occlusion; + private ModelRotation rotation; + private boolean uvLock; + private Transforms transform; + + private BlockPart lastPart; + private BlockPartFace[] last; + + public static void setAsProvider() { + ModelProvider.setProvider(PROVIDER); + } + + public ModelBlock noOcclude() { + this.occlusion = false; + return this; + } + + public ModelBlock uvLock() { + this.uvLock = true; + return this; + } + + public ModelBlock rotate(ModelRotation rot) { + this.rotation = rot; + return this; + } + + public ModelBlock add(float x1, float y1, float z1, float x2, float y2, float z2) { + this.elements.add(this.lastPart = new BlockPart(new Vector3f(x1, y1, z1), new Vector3f(x2, y2, z2), + Maps.newEnumMap(Facing.class), null, true)); + return this; + } + + public ModelBlock noShade() { + this.lastPart.shade = false; + return this; + } + + public ModelBlock rotate(float x, float y, float z, Facing.Axis axisIn, float angleIn, boolean rescaleIn) { + this.lastPart.partRotation = new BlockPartRotation(x, y, z, axisIn, angleIn, rescaleIn); + return this; + } + + public ModelBlock face(String texture, Facing ... faces) { + texture = !texture.equals(TextureMap.LOCATION_MISSING_TEXTURE) && texture.indexOf('/') == -1 ? "blocks/" + texture : texture; + this.last = new BlockPartFace[faces.length]; + for(int z = 0; z < faces.length; z++) { + this.lastPart.mapFaces.put(faces[z], this.last[z] = + new BlockPartFace(faces[z], -1, texture, new BlockFaceUV(this.lastPart.getFaceUvs(faces[z]), 0))); + } + return this; + } + + public ModelBlock cull(Facing cull) { + for(BlockPartFace last : this.last) { + last.cull = cull; + } + return this; + } + + public ModelBlock tint() { + for(BlockPartFace last : this.last) { + last.tint = 0; + } + return this; + } + + public ModelBlock rot(int rot) { + for(BlockPartFace last : this.last) { + last.uv = new BlockFaceUV(last.uv.uvs, rot); + } + return this; + } + + public ModelBlock uv(float x1, float y1, float x2, float y2) { + for(BlockPartFace last : this.last) { + last.uv = new BlockFaceUV(new float[] {x1, y1, x2, y2}, last.uv.rotation); + } + return this; + } + + public String getPrimary() { + return this.primary; + } + + + public ModelBlock(String primary) { + this(null, Lists.newArrayList(), primary != null && primary.indexOf('/') == -1 ? "blocks/" + primary : primary, true, true, Transforms.DEFAULT, null); + } + + public ModelBlock(Transforms transform, String ... layers) { + this(ModelBakery.MODEL_GENERATED, ModelBakery.MODEL_GENERATED.elements, + layers[0].indexOf('/') == -1 ? "items/" + layers[0] : layers[0], false, false, transform, layers); + } + + public ModelBlock(ModelBlock parent, Transforms transform) { + this(parent, Lists.newArrayList(), parent.getPrimary(), false, true, transform, null); + } + + public ModelBlock(String primary, Transforms transform, String ... layers) { + this(ModelBakery.MODEL_GENERATED, ModelBakery.MODEL_GENERATED.elements, + primary.indexOf('/') == -1 ? "items/" + primary : primary, false, false, transform, layers); + } + + public ModelBlock(String primary, List elements, Transforms transform, String ... layers) { + this(null, elements, primary, false, false, transform, layers); + } + + private ModelBlock(ModelBlock parent, List elements, String primary, boolean occlude, boolean gui3d, + Transforms transform, String[] layers) { + for(int z = 0; layers != null && z < layers.length; z++) { + layers[z] = layers[z].indexOf('/') == -1 ? "items/" + layers[z] : layers[z]; + } + this.elements = parent == null ? elements : parent.getElements(); + this.occlusion = parent == null ? occlude : parent.isAmbientOcclusion(); + this.gui3d = gui3d; + this.primary = primary == null ? TextureMap.LOCATION_MISSING_TEXTURE : primary; + this.parent = parent; + this.transform = transform; + this.uvLock = false; + this.rotation = ModelRotation.X0_Y0; + this.layers = layers; + } + + public List getElements() { + return this.elements; + } + + public boolean isAmbientOcclusion() { + return this.occlusion; + } + + public boolean isGui3d() { + return this.gui3d; + } + + public String[] getTextures() { + return this.layers; + } + + public int getNumTextures() { + return this.layers == null ? 0 : this.layers.length; + } + + public String getTexture(int layer) { + return this.layers == null || this.layers[layer] == null ? TextureMap.LOCATION_MISSING_TEXTURE : this.layers[layer]; + } + + public ModelBlock getParent() { + return this.parent; + } + + public Transforms getTransform() { + return this.transform; + } + + public ModelRotation getRotation() { + return this.rotation; + } + + public boolean isUvLocked() { + return this.uvLock; + } +} diff --git a/java/src/game/renderer/blockmodel/ModelGenerator.java b/java/src/client/renderer/blockmodel/ModelGenerator.java similarity index 97% rename from java/src/game/renderer/blockmodel/ModelGenerator.java rename to java/src/client/renderer/blockmodel/ModelGenerator.java index 818db2a..60eb36b 100755 --- a/java/src/game/renderer/blockmodel/ModelGenerator.java +++ b/java/src/client/renderer/blockmodel/ModelGenerator.java @@ -1,18 +1,17 @@ -package game.renderer.blockmodel; +package client.renderer.blockmodel; import java.io.FileNotFoundException; import java.util.List; import java.util.Map; +import client.renderer.model.ModelBox; +import client.renderer.texture.TextureAtlasSprite; +import client.renderer.texture.TextureMap; +import client.renderer.texture.TextureUtil; import game.collect.Lists; import game.collect.Maps; - import game.log.Log; -import game.renderer.Vector3f; -import game.renderer.model.ModelBox; -import game.renderer.texture.TextureAtlasSprite; -import game.renderer.texture.TextureMap; -import game.renderer.texture.TextureUtil; +import game.util.Vector3f; import game.world.Facing; public abstract class ModelGenerator { diff --git a/java/src/game/model/ModelManager.java b/java/src/client/renderer/blockmodel/ModelManager.java similarity index 95% rename from java/src/game/model/ModelManager.java rename to java/src/client/renderer/blockmodel/ModelManager.java index 41e86b5..a82aa95 100755 --- a/java/src/game/model/ModelManager.java +++ b/java/src/client/renderer/blockmodel/ModelManager.java @@ -1,24 +1,20 @@ -package game.model; +package client.renderer.blockmodel; import java.util.Collections; import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import game.collect.Maps; - +import client.renderer.texture.TextureAtlasSprite; +import client.renderer.texture.TextureMap; import game.block.Block; import game.block.BlockLiquid; +import game.collect.Maps; import game.init.BlockRegistry; import game.init.Blocks; import game.init.FluidRegistry; import game.init.IRegistry; import game.properties.IProperty; -import game.renderer.blockmodel.MultiStateMap; -import game.renderer.blockmodel.SingleStateMap; -import game.renderer.blockmodel.StateMap; -import game.renderer.texture.TextureAtlasSprite; -import game.renderer.texture.TextureMap; import game.world.State; public class ModelManager diff --git a/java/src/game/renderer/blockmodel/MultiStateMap.java b/java/src/client/renderer/blockmodel/MultiStateMap.java similarity index 98% rename from java/src/game/renderer/blockmodel/MultiStateMap.java rename to java/src/client/renderer/blockmodel/MultiStateMap.java index 17996e3..667d3ad 100755 --- a/java/src/game/renderer/blockmodel/MultiStateMap.java +++ b/java/src/client/renderer/blockmodel/MultiStateMap.java @@ -1,4 +1,4 @@ -package game.renderer.blockmodel; +package client.renderer.blockmodel; import java.util.Collections; import java.util.List; @@ -6,7 +6,6 @@ import java.util.Map; import game.collect.Lists; import game.collect.Maps; - import game.init.BlockRegistry; import game.properties.IProperty; import game.world.State; diff --git a/java/src/game/renderer/blockmodel/SingleStateMap.java b/java/src/client/renderer/blockmodel/SingleStateMap.java similarity index 89% rename from java/src/game/renderer/blockmodel/SingleStateMap.java rename to java/src/client/renderer/blockmodel/SingleStateMap.java index 8d236e4..69c9880 100755 --- a/java/src/game/renderer/blockmodel/SingleStateMap.java +++ b/java/src/client/renderer/blockmodel/SingleStateMap.java @@ -1,4 +1,4 @@ -package game.renderer.blockmodel; +package client.renderer.blockmodel; import game.init.BlockRegistry; import game.world.State; diff --git a/java/src/game/renderer/blockmodel/StateMap.java b/java/src/client/renderer/blockmodel/StateMap.java similarity index 97% rename from java/src/game/renderer/blockmodel/StateMap.java rename to java/src/client/renderer/blockmodel/StateMap.java index caf1a7a..ba64c28 100755 --- a/java/src/game/renderer/blockmodel/StateMap.java +++ b/java/src/client/renderer/blockmodel/StateMap.java @@ -1,11 +1,10 @@ -package game.renderer.blockmodel; +package client.renderer.blockmodel; import java.util.Map; import java.util.Map.Entry; -import game.collect.Maps; - import game.block.Block; +import game.collect.Maps; import game.properties.IProperty; import game.world.State; diff --git a/java/src/game/renderer/chunk/ChunkCompileTaskGenerator.java b/java/src/client/renderer/chunk/ChunkCompileTaskGenerator.java similarity index 97% rename from java/src/game/renderer/chunk/ChunkCompileTaskGenerator.java rename to java/src/client/renderer/chunk/ChunkCompileTaskGenerator.java index f1014f3..fb91119 100755 --- a/java/src/game/renderer/chunk/ChunkCompileTaskGenerator.java +++ b/java/src/client/renderer/chunk/ChunkCompileTaskGenerator.java @@ -1,12 +1,11 @@ -package game.renderer.chunk; +package client.renderer.chunk; import java.util.List; import java.util.concurrent.locks.ReentrantLock; +import client.renderer.RegionRenderCacheBuilder; import game.collect.Lists; -import game.renderer.RegionRenderCacheBuilder; - public class ChunkCompileTaskGenerator { private final RenderChunk renderChunk; diff --git a/java/src/game/renderer/chunk/ChunkRenderDispatcher.java b/java/src/client/renderer/chunk/ChunkRenderDispatcher.java similarity index 97% rename from java/src/game/renderer/chunk/ChunkRenderDispatcher.java rename to java/src/client/renderer/chunk/ChunkRenderDispatcher.java index ff897c0..cf5f759 100755 --- a/java/src/game/renderer/chunk/ChunkRenderDispatcher.java +++ b/java/src/client/renderer/chunk/ChunkRenderDispatcher.java @@ -1,4 +1,4 @@ -package game.renderer.chunk; +package client.renderer.chunk; import java.util.ArrayDeque; import java.util.List; @@ -7,17 +7,16 @@ import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ThreadFactory; +import client.Game; +import client.renderer.RegionRenderCacheBuilder; +import client.renderer.RenderBuffer; +import client.renderer.VertexBuffer; import game.collect.Lists; import game.future.Futures; import game.future.ListenableFuture; import game.future.ListenableFutureTask; import game.future.ThreadFactoryBuilder; - -import game.Game; -import game.renderer.BlockLayer; -import game.renderer.RegionRenderCacheBuilder; -import game.renderer.RenderBuffer; -import game.renderer.VertexBuffer; +import game.model.BlockLayer; public class ChunkRenderDispatcher { diff --git a/java/src/game/renderer/chunk/ChunkRenderWorker.java b/java/src/client/renderer/chunk/ChunkRenderWorker.java similarity index 98% rename from java/src/game/renderer/chunk/ChunkRenderWorker.java rename to java/src/client/renderer/chunk/ChunkRenderWorker.java index fecc36a..6c99786 100755 --- a/java/src/game/renderer/chunk/ChunkRenderWorker.java +++ b/java/src/client/renderer/chunk/ChunkRenderWorker.java @@ -1,19 +1,18 @@ -package game.renderer.chunk; +package client.renderer.chunk; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CancellationException; +import client.Game; +import client.renderer.RegionRenderCacheBuilder; import game.collect.Lists; +import game.entity.Entity; import game.future.FutureCallback; import game.future.Futures; import game.future.ListenableFuture; - -import game.Game; -import game.entity.Entity; import game.log.Log; -import game.renderer.BlockLayer; -import game.renderer.RegionRenderCacheBuilder; +import game.model.BlockLayer; public class ChunkRenderWorker implements Runnable { diff --git a/java/src/game/renderer/chunk/CompiledChunk.java b/java/src/client/renderer/chunk/CompiledChunk.java similarity index 95% rename from java/src/game/renderer/chunk/CompiledChunk.java rename to java/src/client/renderer/chunk/CompiledChunk.java index 947eec7..a9add33 100755 --- a/java/src/game/renderer/chunk/CompiledChunk.java +++ b/java/src/client/renderer/chunk/CompiledChunk.java @@ -1,11 +1,10 @@ -package game.renderer.chunk; +package client.renderer.chunk; import java.util.List; +import client.renderer.RenderBuffer; import game.collect.Lists; - -import game.renderer.BlockLayer; -import game.renderer.RenderBuffer; +import game.model.BlockLayer; import game.tileentity.TileEntity; import game.world.Facing; diff --git a/java/src/game/renderer/chunk/RenderChunk.java b/java/src/client/renderer/chunk/RenderChunk.java similarity index 96% rename from java/src/game/renderer/chunk/RenderChunk.java rename to java/src/client/renderer/chunk/RenderChunk.java index be4673f..b2f8654 100755 --- a/java/src/game/renderer/chunk/RenderChunk.java +++ b/java/src/client/renderer/chunk/RenderChunk.java @@ -1,4 +1,4 @@ -package game.renderer.chunk; +package client.renderer.chunk; import java.nio.ByteBuffer; import java.nio.ByteOrder; @@ -10,20 +10,19 @@ import java.util.concurrent.locks.ReentrantLock; import org.lwjgl.opengl.GL11; +import client.Game; +import client.renderer.BlockRenderer; +import client.renderer.DefaultVertexFormats; +import client.renderer.RegionRenderCache; +import client.renderer.RenderBuffer; +import client.renderer.RenderGlobal; +import client.renderer.VertexBuffer; +import client.renderer.tileentity.TileEntityRendererDispatcher; +import client.renderer.tileentity.TileEntitySpecialRenderer; +import game.block.Block; import game.collect.Maps; import game.collect.Sets; - -import game.Game; -import game.block.Block; -import game.renderer.BlockLayer; -import game.renderer.BlockRenderer; -import game.renderer.DefaultVertexFormats; -import game.renderer.RegionRenderCache; -import game.renderer.RenderBuffer; -import game.renderer.RenderGlobal; -import game.renderer.VertexBuffer; -import game.renderer.tileentity.TileEntityRendererDispatcher; -import game.renderer.tileentity.TileEntitySpecialRenderer; +import game.model.BlockLayer; import game.tileentity.TileEntity; import game.world.BlockPos; import game.world.BoundingBox; diff --git a/java/src/game/renderer/chunk/SetVisibility.java b/java/src/client/renderer/chunk/SetVisibility.java similarity index 98% rename from java/src/game/renderer/chunk/SetVisibility.java rename to java/src/client/renderer/chunk/SetVisibility.java index f927525..9071bb4 100755 --- a/java/src/game/renderer/chunk/SetVisibility.java +++ b/java/src/client/renderer/chunk/SetVisibility.java @@ -1,4 +1,4 @@ -package game.renderer.chunk; +package client.renderer.chunk; import java.util.BitSet; import java.util.Set; diff --git a/java/src/game/renderer/chunk/VisGraph.java b/java/src/client/renderer/chunk/VisGraph.java similarity index 99% rename from java/src/game/renderer/chunk/VisGraph.java rename to java/src/client/renderer/chunk/VisGraph.java index 4bc1de7..8c6c300 100755 --- a/java/src/game/renderer/chunk/VisGraph.java +++ b/java/src/client/renderer/chunk/VisGraph.java @@ -1,4 +1,4 @@ -package game.renderer.chunk; +package client.renderer.chunk; import java.util.BitSet; import java.util.EnumSet; diff --git a/java/src/game/renderer/entity/Render.java b/java/src/client/renderer/entity/Render.java similarity index 98% rename from java/src/game/renderer/entity/Render.java rename to java/src/client/renderer/entity/Render.java index 2d523f0..3553c7a 100755 --- a/java/src/game/renderer/entity/Render.java +++ b/java/src/client/renderer/entity/Render.java @@ -1,18 +1,18 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; -import game.Game; +import client.Game; +import client.renderer.DefaultVertexFormats; +import client.renderer.Drawing; +import client.renderer.Frustum; +import client.renderer.GlState; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; +import client.renderer.texture.TextureAtlasSprite; +import client.renderer.texture.TextureMap; import game.block.Block; import game.entity.Entity; -import game.renderer.DefaultVertexFormats; -import game.renderer.Drawing; -import game.renderer.Frustum; -import game.renderer.GlState; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; -import game.renderer.texture.TextureAtlasSprite; -import game.renderer.texture.TextureMap; import game.world.BlockPos; import game.world.BoundingBox; import game.world.World; diff --git a/java/src/game/renderer/entity/RenderArachnoid.java b/java/src/client/renderer/entity/RenderArachnoid.java similarity index 94% rename from java/src/game/renderer/entity/RenderArachnoid.java rename to java/src/client/renderer/entity/RenderArachnoid.java index 8a59b4b..34d54a2 100755 --- a/java/src/game/renderer/entity/RenderArachnoid.java +++ b/java/src/client/renderer/entity/RenderArachnoid.java @@ -1,10 +1,10 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.layers.LayerArachnoidArmor; +import client.renderer.model.ModelArachnoid; import game.entity.npc.EntityNPC; -import game.renderer.layers.LayerArachnoidArmor; -import game.renderer.model.ModelArachnoid; public class RenderArachnoid extends RenderHumanoid diff --git a/java/src/game/renderer/entity/RenderArrow.java b/java/src/client/renderer/entity/RenderArrow.java similarity index 95% rename from java/src/game/renderer/entity/RenderArrow.java rename to java/src/client/renderer/entity/RenderArrow.java index 4b6ad8b..defe30b 100755 --- a/java/src/game/renderer/entity/RenderArrow.java +++ b/java/src/client/renderer/entity/RenderArrow.java @@ -1,12 +1,12 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.DefaultVertexFormats; +import client.renderer.GlState; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; import game.entity.projectile.EntityArrow; -import game.renderer.DefaultVertexFormats; -import game.renderer.GlState; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; import game.util.ExtMath; diff --git a/java/src/game/renderer/entity/RenderBat.java b/java/src/client/renderer/entity/RenderBat.java similarity index 94% rename from java/src/game/renderer/entity/RenderBat.java rename to java/src/client/renderer/entity/RenderBat.java index 6435569..9aebbeb 100755 --- a/java/src/game/renderer/entity/RenderBat.java +++ b/java/src/client/renderer/entity/RenderBat.java @@ -1,9 +1,9 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.model.ModelBat; import game.entity.animal.EntityBat; -import game.renderer.model.ModelBat; import game.util.ExtMath; diff --git a/java/src/game/renderer/entity/RenderBlockEntity.java b/java/src/client/renderer/entity/RenderBlockEntity.java similarity index 95% rename from java/src/game/renderer/entity/RenderBlockEntity.java rename to java/src/client/renderer/entity/RenderBlockEntity.java index 93308da..d66f02e 100755 --- a/java/src/game/renderer/entity/RenderBlockEntity.java +++ b/java/src/client/renderer/entity/RenderBlockEntity.java @@ -1,11 +1,11 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; -import game.Game; +import client.Game; +import client.renderer.BlockRenderer; +import client.renderer.texture.TextureMap; import game.entity.Entity; -import game.renderer.BlockRenderer; -import game.renderer.texture.TextureMap; import game.world.State; diff --git a/java/src/game/renderer/entity/RenderBoat.java b/java/src/client/renderer/entity/RenderBoat.java similarity index 94% rename from java/src/game/renderer/entity/RenderBoat.java rename to java/src/client/renderer/entity/RenderBoat.java index 515da63..dc07399 100755 --- a/java/src/game/renderer/entity/RenderBoat.java +++ b/java/src/client/renderer/entity/RenderBoat.java @@ -1,10 +1,10 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.model.ModelBase; +import client.renderer.model.ModelBoat; import game.entity.item.EntityBoat; -import game.renderer.model.ModelBase; -import game.renderer.model.ModelBoat; import game.util.ExtMath; diff --git a/java/src/game/renderer/entity/RenderBullet.java b/java/src/client/renderer/entity/RenderBullet.java similarity index 94% rename from java/src/game/renderer/entity/RenderBullet.java rename to java/src/client/renderer/entity/RenderBullet.java index c94042a..db19e7a 100755 --- a/java/src/game/renderer/entity/RenderBullet.java +++ b/java/src/client/renderer/entity/RenderBullet.java @@ -1,12 +1,12 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.DefaultVertexFormats; +import client.renderer.GlState; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; import game.entity.projectile.EntityBullet; -import game.renderer.DefaultVertexFormats; -import game.renderer.GlState; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; public class RenderBullet extends Render diff --git a/java/src/game/renderer/entity/RenderChicken.java b/java/src/client/renderer/entity/RenderChicken.java similarity index 93% rename from java/src/game/renderer/entity/RenderChicken.java rename to java/src/client/renderer/entity/RenderChicken.java index 6757c92..f3ca5bb 100755 --- a/java/src/game/renderer/entity/RenderChicken.java +++ b/java/src/client/renderer/entity/RenderChicken.java @@ -1,7 +1,7 @@ -package game.renderer.entity; +package client.renderer.entity; +import client.renderer.model.ModelBase; import game.entity.animal.EntityChicken; -import game.renderer.model.ModelBase; import game.util.ExtMath; diff --git a/java/src/game/renderer/entity/RenderCow.java b/java/src/client/renderer/entity/RenderCow.java similarity index 88% rename from java/src/game/renderer/entity/RenderCow.java rename to java/src/client/renderer/entity/RenderCow.java index 9fd024e..5fa89d7 100755 --- a/java/src/game/renderer/entity/RenderCow.java +++ b/java/src/client/renderer/entity/RenderCow.java @@ -1,7 +1,7 @@ -package game.renderer.entity; +package client.renderer.entity; +import client.renderer.model.ModelBase; import game.entity.animal.EntityCow; -import game.renderer.model.ModelBase; public class RenderCow extends RenderLiving diff --git a/java/src/game/renderer/entity/RenderCrystal.java b/java/src/client/renderer/entity/RenderCrystal.java similarity index 91% rename from java/src/game/renderer/entity/RenderCrystal.java rename to java/src/client/renderer/entity/RenderCrystal.java index c5bea5d..e2cafd5 100755 --- a/java/src/game/renderer/entity/RenderCrystal.java +++ b/java/src/client/renderer/entity/RenderCrystal.java @@ -1,10 +1,10 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.model.ModelBase; +import client.renderer.model.ModelCrystal; import game.entity.item.EntityCrystal; -import game.renderer.model.ModelBase; -import game.renderer.model.ModelCrystal; import game.util.ExtMath; diff --git a/java/src/game/renderer/entity/RenderDie.java b/java/src/client/renderer/entity/RenderDie.java similarity index 89% rename from java/src/game/renderer/entity/RenderDie.java rename to java/src/client/renderer/entity/RenderDie.java index 2971d80..005243d 100755 --- a/java/src/game/renderer/entity/RenderDie.java +++ b/java/src/client/renderer/entity/RenderDie.java @@ -1,12 +1,12 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; -import game.Game; +import client.Game; +import client.renderer.model.ModelDie; +import client.renderer.texture.TextureMap; import game.entity.projectile.EntityDie; -import game.renderer.blockmodel.Transforms.Camera; -import game.renderer.model.ModelDie; -import game.renderer.texture.TextureMap; +import game.model.Transforms.Camera; public class RenderDie extends Render { diff --git a/java/src/game/renderer/entity/RenderDragon.java b/java/src/client/renderer/entity/RenderDragon.java similarity index 95% rename from java/src/game/renderer/entity/RenderDragon.java rename to java/src/client/renderer/entity/RenderDragon.java index 53453fe..5195eb1 100755 --- a/java/src/game/renderer/entity/RenderDragon.java +++ b/java/src/client/renderer/entity/RenderDragon.java @@ -1,11 +1,11 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.GlState; +import client.renderer.layers.LayerEnderDragonEyes; +import client.renderer.model.ModelDragon; import game.entity.animal.EntityDragon; -import game.renderer.GlState; -import game.renderer.layers.LayerEnderDragonEyes; -import game.renderer.model.ModelDragon; import game.util.ExtMath; diff --git a/java/src/game/renderer/entity/RenderDynamite.java b/java/src/client/renderer/entity/RenderDynamite.java similarity index 93% rename from java/src/game/renderer/entity/RenderDynamite.java rename to java/src/client/renderer/entity/RenderDynamite.java index a7bdebf..095e81c 100755 --- a/java/src/game/renderer/entity/RenderDynamite.java +++ b/java/src/client/renderer/entity/RenderDynamite.java @@ -1,4 +1,4 @@ -package game.renderer.entity; +package client.renderer.entity; import game.entity.projectile.EntityDynamite; import game.item.Item; diff --git a/java/src/game/renderer/entity/RenderEntity.java b/java/src/client/renderer/entity/RenderEntity.java similarity index 96% rename from java/src/game/renderer/entity/RenderEntity.java rename to java/src/client/renderer/entity/RenderEntity.java index 5d8e2cc..35df7e4 100755 --- a/java/src/game/renderer/entity/RenderEntity.java +++ b/java/src/client/renderer/entity/RenderEntity.java @@ -1,4 +1,4 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; diff --git a/java/src/game/renderer/entity/RenderEntityItem.java b/java/src/client/renderer/entity/RenderEntityItem.java similarity index 93% rename from java/src/game/renderer/entity/RenderEntityItem.java rename to java/src/client/renderer/entity/RenderEntityItem.java index 6cb9bf3..4afd417 100755 --- a/java/src/game/renderer/entity/RenderEntityItem.java +++ b/java/src/client/renderer/entity/RenderEntityItem.java @@ -1,14 +1,14 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.GlState; +import client.renderer.blockmodel.IBakedModel; +import client.renderer.texture.TextureMap; import game.entity.item.EntityItem; import game.item.Item; import game.item.ItemStack; -import game.model.IBakedModel; -import game.renderer.GlState; -import game.renderer.blockmodel.Transforms; -import game.renderer.texture.TextureMap; +import game.model.Transforms; import game.rng.Random; import game.util.ExtMath; @@ -126,14 +126,14 @@ public class RenderEntityItem extends Render } GL11.glScalef(0.5F, 0.5F, 0.5F); - ibakedmodel.getItemCameraTransforms().apply(Transforms.Camera.GROUND); + RenderItem.apply(ibakedmodel.getItemCameraTransforms(), Transforms.Camera.GROUND); this.itemRenderer.renderItem(itemstack, ibakedmodel); GL11.glPopMatrix(); } else { GL11.glPushMatrix(); - ibakedmodel.getItemCameraTransforms().apply(Transforms.Camera.GROUND); + RenderItem.apply(ibakedmodel.getItemCameraTransforms(), Transforms.Camera.GROUND); this.itemRenderer.renderItem(itemstack, ibakedmodel); GL11.glPopMatrix(); float f3 = ibakedmodel.getItemCameraTransforms().ground.scale.x; diff --git a/java/src/game/renderer/entity/RenderFallingBlock.java b/java/src/client/renderer/entity/RenderFallingBlock.java similarity index 88% rename from java/src/game/renderer/entity/RenderFallingBlock.java rename to java/src/client/renderer/entity/RenderFallingBlock.java index 25a240f..0693bff 100755 --- a/java/src/game/renderer/entity/RenderFallingBlock.java +++ b/java/src/client/renderer/entity/RenderFallingBlock.java @@ -1,17 +1,17 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; -import game.Game; +import client.Game; +import client.renderer.BlockRenderer; +import client.renderer.DefaultVertexFormats; +import client.renderer.GlState; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; +import client.renderer.blockmodel.IBakedModel; +import client.renderer.texture.TextureMap; import game.block.Block; import game.entity.item.EntityFalling; -import game.model.IBakedModel; -import game.renderer.BlockRenderer; -import game.renderer.DefaultVertexFormats; -import game.renderer.GlState; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; -import game.renderer.texture.TextureMap; import game.world.BlockPos; import game.world.State; import game.world.World; diff --git a/java/src/game/renderer/entity/RenderFireball.java b/java/src/client/renderer/entity/RenderFireball.java similarity index 88% rename from java/src/game/renderer/entity/RenderFireball.java rename to java/src/client/renderer/entity/RenderFireball.java index d4f8768..378780c 100755 --- a/java/src/game/renderer/entity/RenderFireball.java +++ b/java/src/client/renderer/entity/RenderFireball.java @@ -1,16 +1,16 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; -import game.Game; +import client.Game; +import client.renderer.DefaultVertexFormats; +import client.renderer.GlState; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; +import client.renderer.texture.TextureAtlasSprite; +import client.renderer.texture.TextureMap; import game.entity.projectile.EntityProjectile; import game.init.Items; -import game.renderer.DefaultVertexFormats; -import game.renderer.GlState; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; -import game.renderer.texture.TextureAtlasSprite; -import game.renderer.texture.TextureMap; public class RenderFireball extends Render diff --git a/java/src/game/renderer/entity/RenderFish.java b/java/src/client/renderer/entity/RenderFish.java similarity index 95% rename from java/src/game/renderer/entity/RenderFish.java rename to java/src/client/renderer/entity/RenderFish.java index f5ce13a..e2c3b7d 100755 --- a/java/src/game/renderer/entity/RenderFish.java +++ b/java/src/client/renderer/entity/RenderFish.java @@ -1,14 +1,14 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; -import game.Game; +import client.Game; +import client.renderer.DefaultVertexFormats; +import client.renderer.GlState; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; +import client.renderer.particle.EffectRenderer; import game.entity.projectile.EntityHook; -import game.renderer.DefaultVertexFormats; -import game.renderer.GlState; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; -import game.renderer.particle.EffectRenderer; import game.util.ExtMath; import game.world.Vec3; diff --git a/java/src/game/renderer/entity/RenderFlyingBox.java b/java/src/client/renderer/entity/RenderFlyingBox.java similarity index 94% rename from java/src/game/renderer/entity/RenderFlyingBox.java rename to java/src/client/renderer/entity/RenderFlyingBox.java index 7bca700..0b974a0 100755 --- a/java/src/game/renderer/entity/RenderFlyingBox.java +++ b/java/src/client/renderer/entity/RenderFlyingBox.java @@ -1,10 +1,10 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.GlState; +import client.renderer.model.ModelHead; import game.entity.projectile.EntityBox; -import game.renderer.GlState; -import game.renderer.model.ModelHead; public class RenderFlyingBox extends Render diff --git a/java/src/game/renderer/entity/RenderHorse.java b/java/src/client/renderer/entity/RenderHorse.java similarity index 94% rename from java/src/game/renderer/entity/RenderHorse.java rename to java/src/client/renderer/entity/RenderHorse.java index 8763953..2c062fa 100755 --- a/java/src/game/renderer/entity/RenderHorse.java +++ b/java/src/client/renderer/entity/RenderHorse.java @@ -1,15 +1,14 @@ -package game.renderer.entity; +package client.renderer.entity; import java.util.Set; import org.lwjgl.opengl.GL11; +import client.Game; +import client.renderer.model.ModelHorse; +import client.renderer.texture.LayeredTexture; import game.collect.Sets; - -import game.Game; import game.entity.animal.EntityHorse; -import game.renderer.model.ModelHorse; -import game.renderer.texture.LayeredTexture; public class RenderHorse extends RenderLiving { diff --git a/java/src/game/renderer/entity/RenderHumanoid.java b/java/src/client/renderer/entity/RenderHumanoid.java similarity index 96% rename from java/src/game/renderer/entity/RenderHumanoid.java rename to java/src/client/renderer/entity/RenderHumanoid.java index e36c7d9..55748f0 100755 --- a/java/src/game/renderer/entity/RenderHumanoid.java +++ b/java/src/client/renderer/entity/RenderHumanoid.java @@ -1,20 +1,20 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.GlState; +import client.renderer.layers.LayerArmor; +import client.renderer.layers.LayerArrow; +import client.renderer.layers.LayerCape; +import client.renderer.layers.LayerCharge; +import client.renderer.layers.LayerExtra; +import client.renderer.layers.LayerHeldItem; +import client.renderer.layers.LayerPowerRods; +import client.renderer.model.ModelBiped; +import client.renderer.model.ModelHumanoid; import game.entity.npc.EntityNPC; import game.item.ItemAction; import game.item.ItemStack; -import game.renderer.GlState; -import game.renderer.layers.LayerArmor; -import game.renderer.layers.LayerArrow; -import game.renderer.layers.LayerCape; -import game.renderer.layers.LayerCharge; -import game.renderer.layers.LayerExtra; -import game.renderer.layers.LayerHeldItem; -import game.renderer.layers.LayerPowerRods; -import game.renderer.model.ModelBiped; -import game.renderer.model.ModelHumanoid; public class RenderHumanoid extends RenderNpc diff --git a/java/src/game/renderer/entity/RenderItem.java b/java/src/client/renderer/entity/RenderItem.java similarity index 90% rename from java/src/game/renderer/entity/RenderItem.java rename to java/src/client/renderer/entity/RenderItem.java index 418e2f8..336ac19 100755 --- a/java/src/game/renderer/entity/RenderItem.java +++ b/java/src/client/renderer/entity/RenderItem.java @@ -1,27 +1,27 @@ -package game.renderer.entity; +package client.renderer.entity; import java.util.List; import org.lwjgl.opengl.GL11; +import client.renderer.DefaultVertexFormats; +import client.renderer.GlState; +import client.renderer.ItemModelMesher; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; +import client.renderer.blockmodel.BakedQuad; +import client.renderer.blockmodel.IBakedModel; +import client.renderer.blockmodel.ModelManager; +import client.renderer.texture.TextureManager; +import client.renderer.texture.TextureMap; +import client.renderer.tileentity.TileEntityItemStackRenderer; import game.entity.npc.EntityNPC; import game.entity.types.EntityLiving; import game.init.Items; import game.item.Item; import game.item.ItemStack; -import game.model.IBakedModel; -import game.model.ModelManager; -import game.renderer.DefaultVertexFormats; -import game.renderer.GlState; -import game.renderer.ItemModelMesher; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; -import game.renderer.blockmodel.BakedQuad; -import game.renderer.blockmodel.Transform; -import game.renderer.blockmodel.Transforms; -import game.renderer.texture.TextureManager; -import game.renderer.texture.TextureMap; -import game.renderer.tileentity.TileEntityItemStackRenderer; +import game.model.Transform; +import game.model.Transforms; import game.world.Facing; import game.world.Vec3i; @@ -271,7 +271,7 @@ public class RenderItem GlState.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); GL11.glPushMatrix(); Transforms itemcameratransforms = model.getItemCameraTransforms(); - itemcameratransforms.apply(cameraTransformType); + RenderItem.apply(itemcameratransforms, cameraTransformType); if (this.isThereOneNegativeScale(itemcameratransforms.get(cameraTransformType))) { @@ -310,7 +310,7 @@ public class RenderItem GlState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlState.color(1.0F, 1.0F, 1.0F, 1.0F); this.setupGuiTransform(x, y, ibakedmodel.isGui3d()); - ibakedmodel.getItemCameraTransforms().apply(Transforms.Camera.GUI); + RenderItem.apply(ibakedmodel.getItemCameraTransforms(), Transforms.Camera.GUI); this.renderItem(stack, ibakedmodel); GlState.disableAlpha(); GlState.disableRescaleNormal(); @@ -358,4 +358,15 @@ public class RenderItem { this.itemModelMesher.rebuildCache(); } + + public static void apply(Transforms trans, Transforms.Camera type) { + Transform vec = trans.get(type); + if(vec != Transform.IDENTITY) { + GL11.glTranslatef(vec.translation.x, vec.translation.y, vec.translation.z); + GL11.glRotatef(vec.rotation.y, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(vec.rotation.x, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(vec.rotation.z, 0.0F, 0.0F, 1.0F); + GL11.glScalef(vec.scale.x, vec.scale.y, vec.scale.z); + } + } } diff --git a/java/src/game/renderer/entity/RenderItemEntity.java b/java/src/client/renderer/entity/RenderItemEntity.java similarity index 90% rename from java/src/game/renderer/entity/RenderItemEntity.java rename to java/src/client/renderer/entity/RenderItemEntity.java index 1776f47..d7c1108 100755 --- a/java/src/game/renderer/entity/RenderItemEntity.java +++ b/java/src/client/renderer/entity/RenderItemEntity.java @@ -1,13 +1,13 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.GlState; +import client.renderer.texture.TextureMap; import game.entity.Entity; import game.item.Item; import game.item.ItemStack; -import game.renderer.GlState; -import game.renderer.blockmodel.Transforms; -import game.renderer.texture.TextureMap; +import game.model.Transforms; public class RenderItemEntity extends Render diff --git a/java/src/game/renderer/entity/RenderLeashKnot.java b/java/src/client/renderer/entity/RenderLeashKnot.java similarity index 92% rename from java/src/game/renderer/entity/RenderLeashKnot.java rename to java/src/client/renderer/entity/RenderLeashKnot.java index ee7afa0..cd89065 100755 --- a/java/src/game/renderer/entity/RenderLeashKnot.java +++ b/java/src/client/renderer/entity/RenderLeashKnot.java @@ -1,10 +1,10 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.GlState; +import client.renderer.model.ModelLeashKnot; import game.entity.item.EntityLeashKnot; -import game.renderer.GlState; -import game.renderer.model.ModelLeashKnot; public class RenderLeashKnot extends Render diff --git a/java/src/game/renderer/entity/RenderLightning.java b/java/src/client/renderer/entity/RenderLightning.java similarity index 96% rename from java/src/game/renderer/entity/RenderLightning.java rename to java/src/client/renderer/entity/RenderLightning.java index d520f5a..f4a77ec 100755 --- a/java/src/game/renderer/entity/RenderLightning.java +++ b/java/src/client/renderer/entity/RenderLightning.java @@ -1,12 +1,12 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.DefaultVertexFormats; +import client.renderer.GlState; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; import game.entity.effect.EntityLightning; -import game.renderer.DefaultVertexFormats; -import game.renderer.GlState; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; import game.rng.Random; diff --git a/java/src/game/renderer/entity/RenderLiving.java b/java/src/client/renderer/entity/RenderLiving.java similarity index 95% rename from java/src/game/renderer/entity/RenderLiving.java rename to java/src/client/renderer/entity/RenderLiving.java index afb8281..bb75233 100755 --- a/java/src/game/renderer/entity/RenderLiving.java +++ b/java/src/client/renderer/entity/RenderLiving.java @@ -1,17 +1,17 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL13; +import client.renderer.DefaultVertexFormats; +import client.renderer.Frustum; +import client.renderer.GlState; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; +import client.renderer.model.ModelBase; import game.entity.Entity; import game.entity.item.EntityLeashKnot; import game.entity.types.EntityLiving; -import game.renderer.DefaultVertexFormats; -import game.renderer.Frustum; -import game.renderer.GlState; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; -import game.renderer.model.ModelBase; public abstract class RenderLiving extends RendererLivingEntity { public RenderLiving(RenderManager manager, ModelBase model) { diff --git a/java/src/game/renderer/entity/RenderManager.java b/java/src/client/renderer/entity/RenderManager.java similarity index 96% rename from java/src/game/renderer/entity/RenderManager.java rename to java/src/client/renderer/entity/RenderManager.java index 26cf651..3fb1186 100755 --- a/java/src/game/renderer/entity/RenderManager.java +++ b/java/src/client/renderer/entity/RenderManager.java @@ -1,23 +1,22 @@ -package game.renderer.entity; +package client.renderer.entity; import java.util.Map; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL13; +import client.Game; +import client.init.EntityRenderRegistry; +import client.renderer.DefaultVertexFormats; +import client.renderer.GlState; +import client.renderer.RenderBuffer; +import client.renderer.RenderGlobal; +import client.renderer.Tessellator; +import client.renderer.texture.TextureManager; import game.collect.Maps; - -import game.Game; import game.entity.Entity; import game.entity.types.EntityLiving; -import game.init.EntityRegistry; import game.init.SpeciesRegistry.ModelType; -import game.renderer.DefaultVertexFormats; -import game.renderer.GlState; -import game.renderer.RenderBuffer; -import game.renderer.RenderGlobal; -import game.renderer.Tessellator; -import game.renderer.texture.TextureManager; import game.world.BoundingBox; import game.world.Vec3; import game.world.World; @@ -69,7 +68,7 @@ public class RenderManager public RenderManager(TextureManager renderEngineIn, RenderItem itemRendererIn) { this.renderEngine = renderEngineIn; - EntityRegistry.registerRenderers(this.entityRenderMap, this.models, this, itemRendererIn); + EntityRenderRegistry.registerRenderers(this.entityRenderMap, this.models, this, itemRendererIn); for(RenderNpc render : this.models.values()) { render.initSegments(); } diff --git a/java/src/game/renderer/entity/RenderMinecart.java b/java/src/client/renderer/entity/RenderMinecart.java similarity index 95% rename from java/src/game/renderer/entity/RenderMinecart.java rename to java/src/client/renderer/entity/RenderMinecart.java index 88a70fa..c3256d1 100755 --- a/java/src/game/renderer/entity/RenderMinecart.java +++ b/java/src/client/renderer/entity/RenderMinecart.java @@ -1,13 +1,13 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; -import game.Game; +import client.Game; +import client.renderer.GlState; +import client.renderer.model.ModelBase; +import client.renderer.model.ModelMinecart; +import client.renderer.texture.TextureMap; import game.entity.item.EntityCart; -import game.renderer.GlState; -import game.renderer.model.ModelBase; -import game.renderer.model.ModelMinecart; -import game.renderer.texture.TextureMap; import game.util.ExtMath; import game.world.State; import game.world.Vec3; diff --git a/java/src/game/renderer/entity/RenderMooshroom.java b/java/src/client/renderer/entity/RenderMooshroom.java similarity index 83% rename from java/src/game/renderer/entity/RenderMooshroom.java rename to java/src/client/renderer/entity/RenderMooshroom.java index 75701b3..878c203 100755 --- a/java/src/game/renderer/entity/RenderMooshroom.java +++ b/java/src/client/renderer/entity/RenderMooshroom.java @@ -1,8 +1,8 @@ -package game.renderer.entity; +package client.renderer.entity; +import client.renderer.layers.LayerMooshroomMushroom; +import client.renderer.model.ModelBase; import game.entity.animal.EntityMooshroom; -import game.renderer.layers.LayerMooshroomMushroom; -import game.renderer.model.ModelBase; public class RenderMooshroom extends RenderLiving diff --git a/java/src/game/renderer/entity/RenderMouse.java b/java/src/client/renderer/entity/RenderMouse.java similarity index 85% rename from java/src/game/renderer/entity/RenderMouse.java rename to java/src/client/renderer/entity/RenderMouse.java index 5b07a11..3fa6ad3 100755 --- a/java/src/game/renderer/entity/RenderMouse.java +++ b/java/src/client/renderer/entity/RenderMouse.java @@ -1,7 +1,7 @@ -package game.renderer.entity; +package client.renderer.entity; +import client.renderer.model.ModelBase; import game.entity.animal.EntityMouse; -import game.renderer.model.ModelBase; public class RenderMouse extends RenderLiving diff --git a/java/src/game/renderer/entity/RenderNpc.java b/java/src/client/renderer/entity/RenderNpc.java similarity index 97% rename from java/src/game/renderer/entity/RenderNpc.java rename to java/src/client/renderer/entity/RenderNpc.java index 72c4b64..c443ef8 100755 --- a/java/src/game/renderer/entity/RenderNpc.java +++ b/java/src/client/renderer/entity/RenderNpc.java @@ -1,10 +1,10 @@ -package game.renderer.entity; +package client.renderer.entity; import java.util.ArrayList; +import client.renderer.model.ModelBase; +import client.renderer.texture.EntityTexManager; import game.entity.npc.EntityNPC; -import game.renderer.model.ModelBase; -import game.renderer.texture.EntityTexManager; public abstract class RenderNpc extends RenderLiving diff --git a/java/src/game/renderer/entity/RenderOcelot.java b/java/src/client/renderer/entity/RenderOcelot.java similarity index 95% rename from java/src/game/renderer/entity/RenderOcelot.java rename to java/src/client/renderer/entity/RenderOcelot.java index 5b9ce7c..2fd5203 100755 --- a/java/src/game/renderer/entity/RenderOcelot.java +++ b/java/src/client/renderer/entity/RenderOcelot.java @@ -1,9 +1,9 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.model.ModelBase; import game.entity.animal.EntityOcelot; -import game.renderer.model.ModelBase; public class RenderOcelot extends RenderLiving diff --git a/java/src/game/renderer/entity/RenderPig.java b/java/src/client/renderer/entity/RenderPig.java similarity index 83% rename from java/src/game/renderer/entity/RenderPig.java rename to java/src/client/renderer/entity/RenderPig.java index 73d73a6..8b821da 100755 --- a/java/src/game/renderer/entity/RenderPig.java +++ b/java/src/client/renderer/entity/RenderPig.java @@ -1,8 +1,8 @@ -package game.renderer.entity; +package client.renderer.entity; +import client.renderer.layers.LayerSaddle; +import client.renderer.model.ModelBase; import game.entity.animal.EntityPig; -import game.renderer.layers.LayerSaddle; -import game.renderer.model.ModelBase; public class RenderPig extends RenderLiving diff --git a/java/src/game/renderer/entity/RenderPotion.java b/java/src/client/renderer/entity/RenderPotion.java similarity index 93% rename from java/src/game/renderer/entity/RenderPotion.java rename to java/src/client/renderer/entity/RenderPotion.java index 06de9c3..cb574bf 100755 --- a/java/src/game/renderer/entity/RenderPotion.java +++ b/java/src/client/renderer/entity/RenderPotion.java @@ -1,4 +1,4 @@ -package game.renderer.entity; +package client.renderer.entity; import game.entity.projectile.EntityPotion; import game.init.Items; diff --git a/java/src/game/renderer/entity/RenderRabbit.java b/java/src/client/renderer/entity/RenderRabbit.java similarity index 94% rename from java/src/game/renderer/entity/RenderRabbit.java rename to java/src/client/renderer/entity/RenderRabbit.java index 3796049..fbb7c7e 100755 --- a/java/src/game/renderer/entity/RenderRabbit.java +++ b/java/src/client/renderer/entity/RenderRabbit.java @@ -1,8 +1,8 @@ -package game.renderer.entity; +package client.renderer.entity; +import client.renderer.model.ModelBase; import game.color.TextColor; import game.entity.animal.EntityRabbit; -import game.renderer.model.ModelBase; public class RenderRabbit extends RenderLiving { diff --git a/java/src/game/renderer/entity/RenderSheep.java b/java/src/client/renderer/entity/RenderSheep.java similarity index 83% rename from java/src/game/renderer/entity/RenderSheep.java rename to java/src/client/renderer/entity/RenderSheep.java index e6289a0..01cad8d 100755 --- a/java/src/game/renderer/entity/RenderSheep.java +++ b/java/src/client/renderer/entity/RenderSheep.java @@ -1,8 +1,8 @@ -package game.renderer.entity; +package client.renderer.entity; +import client.renderer.layers.LayerSheepWool; +import client.renderer.model.ModelBase; import game.entity.animal.EntitySheep; -import game.renderer.layers.LayerSheepWool; -import game.renderer.model.ModelBase; public class RenderSheep extends RenderLiving diff --git a/java/src/game/renderer/entity/RenderSlime.java b/java/src/client/renderer/entity/RenderSlime.java similarity index 96% rename from java/src/game/renderer/entity/RenderSlime.java rename to java/src/client/renderer/entity/RenderSlime.java index 4cfc046..c3ff29f 100755 --- a/java/src/game/renderer/entity/RenderSlime.java +++ b/java/src/client/renderer/entity/RenderSlime.java @@ -1,11 +1,11 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.layers.LayerSlimeGel; +import client.renderer.model.ModelSlime; import game.entity.npc.EntityNPC; import game.entity.npc.EntitySlime; -import game.renderer.layers.LayerSlimeGel; -import game.renderer.model.ModelSlime; public class RenderSlime extends RenderNpc diff --git a/java/src/game/renderer/entity/RenderSpaceMarine.java b/java/src/client/renderer/entity/RenderSpaceMarine.java similarity index 95% rename from java/src/game/renderer/entity/RenderSpaceMarine.java rename to java/src/client/renderer/entity/RenderSpaceMarine.java index 083ccd8..bad1b01 100755 --- a/java/src/game/renderer/entity/RenderSpaceMarine.java +++ b/java/src/client/renderer/entity/RenderSpaceMarine.java @@ -1,13 +1,13 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.layers.LayerArrow; +import client.renderer.layers.LayerHeldItem; +import client.renderer.model.ModelSpaceMarine; import game.entity.npc.EntityNPC; import game.item.ItemAction; import game.item.ItemStack; -import game.renderer.layers.LayerArrow; -import game.renderer.layers.LayerHeldItem; -import game.renderer.model.ModelSpaceMarine; public class RenderSpaceMarine extends RenderNpc diff --git a/java/src/game/renderer/entity/RenderSquid.java b/java/src/client/renderer/entity/RenderSquid.java similarity index 95% rename from java/src/game/renderer/entity/RenderSquid.java rename to java/src/client/renderer/entity/RenderSquid.java index d122968..c09b1cf 100755 --- a/java/src/game/renderer/entity/RenderSquid.java +++ b/java/src/client/renderer/entity/RenderSquid.java @@ -1,9 +1,9 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; +import client.renderer.model.ModelBase; import game.entity.animal.EntitySquid; -import game.renderer.model.ModelBase; public class RenderSquid extends RenderLiving diff --git a/java/src/game/renderer/entity/RenderTntMinecart.java b/java/src/client/renderer/entity/RenderTntMinecart.java similarity index 92% rename from java/src/game/renderer/entity/RenderTntMinecart.java rename to java/src/client/renderer/entity/RenderTntMinecart.java index f8ac46c..5150ccf 100755 --- a/java/src/game/renderer/entity/RenderTntMinecart.java +++ b/java/src/client/renderer/entity/RenderTntMinecart.java @@ -1,12 +1,12 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; -import game.Game; +import client.Game; +import client.renderer.BlockRenderer; +import client.renderer.GlState; import game.entity.item.EntityTntCart; import game.init.Blocks; -import game.renderer.BlockRenderer; -import game.renderer.GlState; import game.util.ExtMath; import game.world.State; diff --git a/java/src/game/renderer/entity/RenderTntPrimed.java b/java/src/client/renderer/entity/RenderTntPrimed.java similarity index 93% rename from java/src/game/renderer/entity/RenderTntPrimed.java rename to java/src/client/renderer/entity/RenderTntPrimed.java index 9ecee6e..5edf422 100755 --- a/java/src/game/renderer/entity/RenderTntPrimed.java +++ b/java/src/client/renderer/entity/RenderTntPrimed.java @@ -1,14 +1,14 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; -import game.Game; +import client.Game; +import client.renderer.BlockRenderer; +import client.renderer.GlState; +import client.renderer.texture.TextureMap; import game.block.BlockTNT; import game.entity.item.EntityTnt; import game.init.Blocks; -import game.renderer.BlockRenderer; -import game.renderer.GlState; -import game.renderer.texture.TextureMap; import game.util.ExtMath; diff --git a/java/src/game/renderer/entity/RenderWolf.java b/java/src/client/renderer/entity/RenderWolf.java similarity index 90% rename from java/src/game/renderer/entity/RenderWolf.java rename to java/src/client/renderer/entity/RenderWolf.java index f9cae80..8831285 100755 --- a/java/src/game/renderer/entity/RenderWolf.java +++ b/java/src/client/renderer/entity/RenderWolf.java @@ -1,9 +1,9 @@ -package game.renderer.entity; +package client.renderer.entity; +import client.renderer.GlState; +import client.renderer.layers.LayerWolfCollar; +import client.renderer.model.ModelBase; import game.entity.animal.EntityWolf; -import game.renderer.GlState; -import game.renderer.layers.LayerWolfCollar; -import game.renderer.model.ModelBase; public class RenderWolf extends RenderLiving diff --git a/java/src/game/renderer/entity/RenderXpOrb.java b/java/src/client/renderer/entity/RenderXpOrb.java similarity index 94% rename from java/src/game/renderer/entity/RenderXpOrb.java rename to java/src/client/renderer/entity/RenderXpOrb.java index 43252b2..c9e7d69 100755 --- a/java/src/game/renderer/entity/RenderXpOrb.java +++ b/java/src/client/renderer/entity/RenderXpOrb.java @@ -1,13 +1,13 @@ -package game.renderer.entity; +package client.renderer.entity; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL13; +import client.renderer.DefaultVertexFormats; +import client.renderer.GlState; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; import game.entity.item.EntityXp; -import game.renderer.DefaultVertexFormats; -import game.renderer.GlState; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; import game.util.ExtMath; diff --git a/java/src/game/renderer/entity/RendererLivingEntity.java b/java/src/client/renderer/entity/RendererLivingEntity.java similarity index 98% rename from java/src/game/renderer/entity/RendererLivingEntity.java rename to java/src/client/renderer/entity/RendererLivingEntity.java index 3034ba3..880ec72 100755 --- a/java/src/game/renderer/entity/RendererLivingEntity.java +++ b/java/src/client/renderer/entity/RendererLivingEntity.java @@ -1,4 +1,4 @@ -package game.renderer.entity; +package client.renderer.entity; import java.nio.ByteBuffer; import java.nio.ByteOrder; @@ -8,22 +8,21 @@ import java.util.List; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL13; +import client.renderer.DefaultVertexFormats; +import client.renderer.GlState; +import client.renderer.ItemRenderer; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; +import client.renderer.layers.LayerRenderer; +import client.renderer.model.ModelBase; +import client.renderer.texture.DynamicTexture; import game.collect.Lists; - import game.color.TextColor; import game.entity.Entity; import game.entity.item.EntityCrystal; import game.entity.types.EntityAnimal; import game.entity.types.EntityLiving; import game.log.Log; -import game.renderer.DefaultVertexFormats; -import game.renderer.GlState; -import game.renderer.ItemRenderer; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; -import game.renderer.layers.LayerRenderer; -import game.renderer.model.ModelBase; -import game.renderer.texture.DynamicTexture; import game.util.ExtMath; public abstract class RendererLivingEntity extends Render diff --git a/java/src/game/renderer/layers/LayerArachnoidArmor.java b/java/src/client/renderer/layers/LayerArachnoidArmor.java similarity index 80% rename from java/src/game/renderer/layers/LayerArachnoidArmor.java rename to java/src/client/renderer/layers/LayerArachnoidArmor.java index 9673886..52e8ef5 100755 --- a/java/src/game/renderer/layers/LayerArachnoidArmor.java +++ b/java/src/client/renderer/layers/LayerArachnoidArmor.java @@ -1,7 +1,7 @@ -package game.renderer.layers; +package client.renderer.layers; -import game.renderer.entity.RendererLivingEntity; -import game.renderer.model.ModelBiped; +import client.renderer.entity.RendererLivingEntity; +import client.renderer.model.ModelBiped; public class LayerArachnoidArmor extends LayerArmor { diff --git a/java/src/game/renderer/layers/LayerArmor.java b/java/src/client/renderer/layers/LayerArmor.java similarity index 97% rename from java/src/game/renderer/layers/LayerArmor.java rename to java/src/client/renderer/layers/LayerArmor.java index 7780453..98d402b 100755 --- a/java/src/game/renderer/layers/LayerArmor.java +++ b/java/src/client/renderer/layers/LayerArmor.java @@ -1,14 +1,14 @@ -package game.renderer.layers; +package client.renderer.layers; import org.lwjgl.opengl.GL11; +import client.renderer.GlState; +import client.renderer.entity.RendererLivingEntity; +import client.renderer.model.ModelArmor; +import client.renderer.model.ModelBiped; import game.entity.types.EntityLiving; import game.item.ItemArmor; import game.item.ItemStack; -import game.renderer.GlState; -import game.renderer.entity.RendererLivingEntity; -import game.renderer.model.ModelArmor; -import game.renderer.model.ModelBiped; public class LayerArmor implements LayerRenderer { diff --git a/java/src/game/renderer/layers/LayerArrow.java b/java/src/client/renderer/layers/LayerArrow.java similarity index 93% rename from java/src/game/renderer/layers/LayerArrow.java rename to java/src/client/renderer/layers/LayerArrow.java index 8ef39b7..a16d5a4 100755 --- a/java/src/game/renderer/layers/LayerArrow.java +++ b/java/src/client/renderer/layers/LayerArrow.java @@ -1,14 +1,14 @@ -package game.renderer.layers; +package client.renderer.layers; import org.lwjgl.opengl.GL11; +import client.renderer.ItemRenderer; +import client.renderer.entity.RendererLivingEntity; +import client.renderer.model.ModelBox; +import client.renderer.model.ModelRenderer; import game.entity.Entity; import game.entity.projectile.EntityArrow; import game.entity.types.EntityLiving; -import game.renderer.ItemRenderer; -import game.renderer.entity.RendererLivingEntity; -import game.renderer.model.ModelBox; -import game.renderer.model.ModelRenderer; import game.rng.Random; import game.util.ExtMath; diff --git a/java/src/game/renderer/layers/LayerCape.java b/java/src/client/renderer/layers/LayerCape.java similarity index 96% rename from java/src/game/renderer/layers/LayerCape.java rename to java/src/client/renderer/layers/LayerCape.java index 986284d..5191980 100755 --- a/java/src/game/renderer/layers/LayerCape.java +++ b/java/src/client/renderer/layers/LayerCape.java @@ -1,11 +1,11 @@ -package game.renderer.layers; +package client.renderer.layers; import org.lwjgl.opengl.GL11; +import client.renderer.GlState; +import client.renderer.entity.RenderHumanoid; +import client.renderer.model.ModelRenderer; import game.entity.npc.EntityNPC; -import game.renderer.GlState; -import game.renderer.entity.RenderHumanoid; -import game.renderer.model.ModelRenderer; import game.util.ExtMath; public class LayerCape implements LayerRenderer diff --git a/java/src/game/renderer/layers/LayerCharge.java b/java/src/client/renderer/layers/LayerCharge.java similarity index 92% rename from java/src/game/renderer/layers/LayerCharge.java rename to java/src/client/renderer/layers/LayerCharge.java index 80dcb6b..64aa253 100755 --- a/java/src/game/renderer/layers/LayerCharge.java +++ b/java/src/client/renderer/layers/LayerCharge.java @@ -1,11 +1,11 @@ -package game.renderer.layers; +package client.renderer.layers; import org.lwjgl.opengl.GL11; +import client.renderer.GlState; +import client.renderer.entity.RenderHumanoid; +import client.renderer.model.ModelCharge; import game.entity.npc.EntityNPC; -import game.renderer.GlState; -import game.renderer.entity.RenderHumanoid; -import game.renderer.model.ModelCharge; public class LayerCharge implements LayerRenderer diff --git a/java/src/game/renderer/layers/LayerEnderDragonEyes.java b/java/src/client/renderer/layers/LayerEnderDragonEyes.java similarity index 93% rename from java/src/game/renderer/layers/LayerEnderDragonEyes.java rename to java/src/client/renderer/layers/LayerEnderDragonEyes.java index 2b3a528..2fed9da 100755 --- a/java/src/game/renderer/layers/LayerEnderDragonEyes.java +++ b/java/src/client/renderer/layers/LayerEnderDragonEyes.java @@ -1,11 +1,11 @@ -package game.renderer.layers; +package client.renderer.layers; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL13; +import client.renderer.GlState; +import client.renderer.entity.RenderDragon; import game.entity.animal.EntityDragon; -import game.renderer.GlState; -import game.renderer.entity.RenderDragon; public class LayerEnderDragonEyes implements LayerRenderer diff --git a/java/src/game/renderer/layers/LayerEntityBreak.java b/java/src/client/renderer/layers/LayerEntityBreak.java similarity index 93% rename from java/src/game/renderer/layers/LayerEntityBreak.java rename to java/src/client/renderer/layers/LayerEntityBreak.java index 03aa1e1..5d64665 100755 --- a/java/src/game/renderer/layers/LayerEntityBreak.java +++ b/java/src/client/renderer/layers/LayerEntityBreak.java @@ -1,13 +1,13 @@ -package game.renderer.layers; +package client.renderer.layers; import org.lwjgl.opengl.GL11; +import client.renderer.DefaultVertexFormats; +import client.renderer.GlState; +import client.renderer.ItemRenderer; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; import game.entity.animal.EntityDragon; -import game.renderer.DefaultVertexFormats; -import game.renderer.GlState; -import game.renderer.ItemRenderer; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; import game.rng.Random; public class LayerEntityBreak implements LayerRenderer diff --git a/java/src/game/renderer/layers/LayerExtra.java b/java/src/client/renderer/layers/LayerExtra.java similarity index 96% rename from java/src/game/renderer/layers/LayerExtra.java rename to java/src/client/renderer/layers/LayerExtra.java index ff91870..d51a79c 100755 --- a/java/src/game/renderer/layers/LayerExtra.java +++ b/java/src/client/renderer/layers/LayerExtra.java @@ -1,19 +1,18 @@ -package game.renderer.layers; +package client.renderer.layers; import java.util.List; import org.lwjgl.opengl.GL11; +import client.Game; +import client.renderer.GlState; +import client.renderer.blockmodel.ModelGenerator; +import client.renderer.model.ModelBox; +import client.renderer.model.ModelHumanoid; +import client.renderer.model.ModelRenderer; import game.collect.Lists; - -import game.Game; import game.entity.npc.EntityNPC; import game.init.SpeciesRegistry.ModelType; -import game.renderer.GlState; -import game.renderer.blockmodel.ModelGenerator; -import game.renderer.model.ModelBox; -import game.renderer.model.ModelHumanoid; -import game.renderer.model.ModelRenderer; public class LayerExtra implements LayerRenderer { diff --git a/java/src/game/renderer/layers/LayerHeldItem.java b/java/src/client/renderer/layers/LayerHeldItem.java similarity index 93% rename from java/src/game/renderer/layers/LayerHeldItem.java rename to java/src/client/renderer/layers/LayerHeldItem.java index 3282fe6..0c46471 100755 --- a/java/src/game/renderer/layers/LayerHeldItem.java +++ b/java/src/client/renderer/layers/LayerHeldItem.java @@ -1,17 +1,17 @@ -package game.renderer.layers; +package client.renderer.layers; import org.lwjgl.opengl.GL11; -import game.Game; +import client.Game; +import client.renderer.entity.RendererLivingEntity; +import client.renderer.model.ModelBiped; import game.entity.npc.EntityNPC; import game.entity.types.EntityLiving; import game.init.Items; import game.item.Item; import game.item.ItemBlock; import game.item.ItemStack; -import game.renderer.blockmodel.Transforms; -import game.renderer.entity.RendererLivingEntity; -import game.renderer.model.ModelBiped; +import game.model.Transforms; public class LayerHeldItem implements LayerRenderer { diff --git a/java/src/game/renderer/layers/LayerMooshroomMushroom.java b/java/src/client/renderer/layers/LayerMooshroomMushroom.java similarity index 89% rename from java/src/game/renderer/layers/LayerMooshroomMushroom.java rename to java/src/client/renderer/layers/LayerMooshroomMushroom.java index e6e421e..dd45eab 100755 --- a/java/src/game/renderer/layers/LayerMooshroomMushroom.java +++ b/java/src/client/renderer/layers/LayerMooshroomMushroom.java @@ -1,15 +1,15 @@ -package game.renderer.layers; +package client.renderer.layers; import org.lwjgl.opengl.GL11; -import game.Game; +import client.Game; +import client.renderer.BlockRenderer; +import client.renderer.GlState; +import client.renderer.entity.RenderMooshroom; +import client.renderer.model.ModelQuadruped; +import client.renderer.texture.TextureMap; import game.entity.animal.EntityMooshroom; import game.init.Blocks; -import game.renderer.BlockRenderer; -import game.renderer.GlState; -import game.renderer.entity.RenderMooshroom; -import game.renderer.model.ModelQuadruped; -import game.renderer.texture.TextureMap; public class LayerMooshroomMushroom implements LayerRenderer { diff --git a/java/src/game/renderer/layers/LayerPowerRods.java b/java/src/client/renderer/layers/LayerPowerRods.java similarity index 94% rename from java/src/game/renderer/layers/LayerPowerRods.java rename to java/src/client/renderer/layers/LayerPowerRods.java index 6e641df..dae23aa 100755 --- a/java/src/game/renderer/layers/LayerPowerRods.java +++ b/java/src/client/renderer/layers/LayerPowerRods.java @@ -1,9 +1,9 @@ -package game.renderer.layers; +package client.renderer.layers; +import client.renderer.GlState; +import client.renderer.entity.RenderHumanoid; +import client.renderer.model.ModelRenderer; import game.entity.npc.EntityNPC; -import game.renderer.GlState; -import game.renderer.entity.RenderHumanoid; -import game.renderer.model.ModelRenderer; import game.util.ExtMath; public class LayerPowerRods implements LayerRenderer diff --git a/java/src/game/renderer/layers/LayerRenderer.java b/java/src/client/renderer/layers/LayerRenderer.java similarity index 90% rename from java/src/game/renderer/layers/LayerRenderer.java rename to java/src/client/renderer/layers/LayerRenderer.java index 2ae4c8e..6a5c439 100755 --- a/java/src/game/renderer/layers/LayerRenderer.java +++ b/java/src/client/renderer/layers/LayerRenderer.java @@ -1,4 +1,4 @@ -package game.renderer.layers; +package client.renderer.layers; import game.entity.types.EntityLiving; diff --git a/java/src/game/renderer/layers/LayerSaddle.java b/java/src/client/renderer/layers/LayerSaddle.java similarity index 89% rename from java/src/game/renderer/layers/LayerSaddle.java rename to java/src/client/renderer/layers/LayerSaddle.java index 20893ac..4432dc8 100755 --- a/java/src/game/renderer/layers/LayerSaddle.java +++ b/java/src/client/renderer/layers/LayerSaddle.java @@ -1,8 +1,8 @@ -package game.renderer.layers; +package client.renderer.layers; +import client.renderer.entity.RenderPig; +import client.renderer.model.ModelPig; import game.entity.animal.EntityPig; -import game.renderer.entity.RenderPig; -import game.renderer.model.ModelPig; public class LayerSaddle implements LayerRenderer diff --git a/java/src/game/renderer/layers/LayerSheepWool.java b/java/src/client/renderer/layers/LayerSheepWool.java similarity index 93% rename from java/src/game/renderer/layers/LayerSheepWool.java rename to java/src/client/renderer/layers/LayerSheepWool.java index 1dd3f87..5f2efeb 100755 --- a/java/src/game/renderer/layers/LayerSheepWool.java +++ b/java/src/client/renderer/layers/LayerSheepWool.java @@ -1,9 +1,9 @@ -package game.renderer.layers; +package client.renderer.layers; +import client.renderer.GlState; +import client.renderer.entity.RenderSheep; +import client.renderer.model.ModelSheep1; import game.entity.animal.EntitySheep; -import game.renderer.GlState; -import game.renderer.entity.RenderSheep; -import game.renderer.model.ModelSheep1; public class LayerSheepWool implements LayerRenderer diff --git a/java/src/game/renderer/layers/LayerSlimeGel.java b/java/src/client/renderer/layers/LayerSlimeGel.java similarity index 86% rename from java/src/game/renderer/layers/LayerSlimeGel.java rename to java/src/client/renderer/layers/LayerSlimeGel.java index aceaaf3..9e16e9f 100755 --- a/java/src/game/renderer/layers/LayerSlimeGel.java +++ b/java/src/client/renderer/layers/LayerSlimeGel.java @@ -1,12 +1,12 @@ -package game.renderer.layers; +package client.renderer.layers; import org.lwjgl.opengl.GL11; +import client.renderer.GlState; +import client.renderer.entity.RenderSlime; +import client.renderer.model.ModelBase; +import client.renderer.model.ModelSlime; import game.entity.npc.EntityNPC; -import game.renderer.GlState; -import game.renderer.entity.RenderSlime; -import game.renderer.model.ModelBase; -import game.renderer.model.ModelSlime; public class LayerSlimeGel implements LayerRenderer { diff --git a/java/src/game/renderer/layers/LayerWolfCollar.java b/java/src/client/renderer/layers/LayerWolfCollar.java similarity index 92% rename from java/src/game/renderer/layers/LayerWolfCollar.java rename to java/src/client/renderer/layers/LayerWolfCollar.java index 2777896..42301f8 100755 --- a/java/src/game/renderer/layers/LayerWolfCollar.java +++ b/java/src/client/renderer/layers/LayerWolfCollar.java @@ -1,10 +1,10 @@ -package game.renderer.layers; +package client.renderer.layers; +import client.renderer.GlState; +import client.renderer.entity.RenderWolf; import game.color.DyeColor; import game.entity.animal.EntitySheep; import game.entity.animal.EntityWolf; -import game.renderer.GlState; -import game.renderer.entity.RenderWolf; public class LayerWolfCollar implements LayerRenderer diff --git a/java/src/game/renderer/model/ModelArachnoid.java b/java/src/client/renderer/model/ModelArachnoid.java similarity index 99% rename from java/src/game/renderer/model/ModelArachnoid.java rename to java/src/client/renderer/model/ModelArachnoid.java index 27b8c24..609be74 100755 --- a/java/src/game/renderer/model/ModelArachnoid.java +++ b/java/src/client/renderer/model/ModelArachnoid.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import org.lwjgl.opengl.GL11; diff --git a/java/src/game/renderer/model/ModelArmor.java b/java/src/client/renderer/model/ModelArmor.java similarity index 98% rename from java/src/game/renderer/model/ModelArmor.java rename to java/src/client/renderer/model/ModelArmor.java index edc71cc..69c970a 100755 --- a/java/src/game/renderer/model/ModelArmor.java +++ b/java/src/client/renderer/model/ModelArmor.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; public class ModelArmor extends ModelBiped { public ModelArmor(float size, int arms, int legs) diff --git a/java/src/game/renderer/model/ModelBanner.java b/java/src/client/renderer/model/ModelBanner.java similarity index 96% rename from java/src/game/renderer/model/ModelBanner.java rename to java/src/client/renderer/model/ModelBanner.java index 7e9bc2b..bd7157e 100755 --- a/java/src/game/renderer/model/ModelBanner.java +++ b/java/src/client/renderer/model/ModelBanner.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; public class ModelBanner extends ModelBase { diff --git a/java/src/game/renderer/model/ModelBase.java b/java/src/client/renderer/model/ModelBase.java similarity index 98% rename from java/src/game/renderer/model/ModelBase.java rename to java/src/client/renderer/model/ModelBase.java index 0793e10..bb98213 100755 --- a/java/src/game/renderer/model/ModelBase.java +++ b/java/src/client/renderer/model/ModelBase.java @@ -1,11 +1,10 @@ -package game.renderer.model; +package client.renderer.model; import java.util.List; import java.util.Map; import game.collect.Lists; import game.collect.Maps; - import game.entity.Entity; import game.entity.types.EntityLiving; import game.rng.Random; diff --git a/java/src/game/renderer/model/ModelBat.java b/java/src/client/renderer/model/ModelBat.java similarity index 99% rename from java/src/game/renderer/model/ModelBat.java rename to java/src/client/renderer/model/ModelBat.java index 69a398c..43edc45 100755 --- a/java/src/game/renderer/model/ModelBat.java +++ b/java/src/client/renderer/model/ModelBat.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import game.entity.Entity; import game.entity.animal.EntityBat; diff --git a/java/src/game/renderer/model/ModelBiped.java b/java/src/client/renderer/model/ModelBiped.java similarity index 99% rename from java/src/game/renderer/model/ModelBiped.java rename to java/src/client/renderer/model/ModelBiped.java index ca9876d..fc2e8ee 100755 --- a/java/src/game/renderer/model/ModelBiped.java +++ b/java/src/client/renderer/model/ModelBiped.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import org.lwjgl.opengl.GL11; diff --git a/java/src/game/renderer/model/ModelBoat.java b/java/src/client/renderer/model/ModelBoat.java similarity index 98% rename from java/src/game/renderer/model/ModelBoat.java rename to java/src/client/renderer/model/ModelBoat.java index 7d5ff91..0d18951 100755 --- a/java/src/game/renderer/model/ModelBoat.java +++ b/java/src/client/renderer/model/ModelBoat.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import game.entity.Entity; diff --git a/java/src/game/renderer/model/ModelBox.java b/java/src/client/renderer/model/ModelBox.java similarity index 99% rename from java/src/game/renderer/model/ModelBox.java rename to java/src/client/renderer/model/ModelBox.java index 22d2846..5e3c4c5 100755 --- a/java/src/game/renderer/model/ModelBox.java +++ b/java/src/client/renderer/model/ModelBox.java @@ -1,6 +1,6 @@ -package game.renderer.model; +package client.renderer.model; -import game.renderer.RenderBuffer; +import client.renderer.RenderBuffer; import game.world.Facing; import game.world.Vec3; diff --git a/java/src/game/renderer/model/ModelCharge.java b/java/src/client/renderer/model/ModelCharge.java similarity index 94% rename from java/src/game/renderer/model/ModelCharge.java rename to java/src/client/renderer/model/ModelCharge.java index 77c507c..c0bf14d 100755 --- a/java/src/game/renderer/model/ModelCharge.java +++ b/java/src/client/renderer/model/ModelCharge.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import game.entity.Entity; diff --git a/java/src/game/renderer/model/ModelChest.java b/java/src/client/renderer/model/ModelChest.java similarity index 97% rename from java/src/game/renderer/model/ModelChest.java rename to java/src/client/renderer/model/ModelChest.java index b3aafa0..bfb5ffe 100755 --- a/java/src/game/renderer/model/ModelChest.java +++ b/java/src/client/renderer/model/ModelChest.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; public class ModelChest extends ModelBase { diff --git a/java/src/game/renderer/model/ModelChicken.java b/java/src/client/renderer/model/ModelChicken.java similarity index 99% rename from java/src/game/renderer/model/ModelChicken.java rename to java/src/client/renderer/model/ModelChicken.java index 7fce604..736fe95 100755 --- a/java/src/game/renderer/model/ModelChicken.java +++ b/java/src/client/renderer/model/ModelChicken.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import org.lwjgl.opengl.GL11; diff --git a/java/src/game/renderer/model/ModelCow.java b/java/src/client/renderer/model/ModelCow.java similarity index 97% rename from java/src/game/renderer/model/ModelCow.java rename to java/src/client/renderer/model/ModelCow.java index ac19109..3c1f360 100755 --- a/java/src/game/renderer/model/ModelCow.java +++ b/java/src/client/renderer/model/ModelCow.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; public class ModelCow extends ModelQuadruped { diff --git a/java/src/game/renderer/model/ModelCrystal.java b/java/src/client/renderer/model/ModelCrystal.java similarity index 98% rename from java/src/game/renderer/model/ModelCrystal.java rename to java/src/client/renderer/model/ModelCrystal.java index 6688da6..3dc7814 100755 --- a/java/src/game/renderer/model/ModelCrystal.java +++ b/java/src/client/renderer/model/ModelCrystal.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import org.lwjgl.opengl.GL11; diff --git a/java/src/game/renderer/model/ModelDie.java b/java/src/client/renderer/model/ModelDie.java similarity index 96% rename from java/src/game/renderer/model/ModelDie.java rename to java/src/client/renderer/model/ModelDie.java index d8f3d03..32c8838 100755 --- a/java/src/game/renderer/model/ModelDie.java +++ b/java/src/client/renderer/model/ModelDie.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import org.lwjgl.opengl.GL11; diff --git a/java/src/game/renderer/model/ModelDragon.java b/java/src/client/renderer/model/ModelDragon.java similarity index 99% rename from java/src/game/renderer/model/ModelDragon.java rename to java/src/client/renderer/model/ModelDragon.java index 45fb3b0..6da7183 100755 --- a/java/src/game/renderer/model/ModelDragon.java +++ b/java/src/client/renderer/model/ModelDragon.java @@ -1,11 +1,11 @@ -package game.renderer.model; +package client.renderer.model; import org.lwjgl.opengl.GL11; +import client.renderer.GlState; import game.entity.Entity; import game.entity.animal.EntityDragon; import game.entity.types.EntityLiving; -import game.renderer.GlState; public class ModelDragon extends ModelBase { diff --git a/java/src/game/renderer/model/ModelHead.java b/java/src/client/renderer/model/ModelHead.java similarity index 98% rename from java/src/game/renderer/model/ModelHead.java rename to java/src/client/renderer/model/ModelHead.java index 3a48d0f..457e44c 100755 --- a/java/src/game/renderer/model/ModelHead.java +++ b/java/src/client/renderer/model/ModelHead.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import game.entity.Entity; diff --git a/java/src/game/renderer/model/ModelHorse.java b/java/src/client/renderer/model/ModelHorse.java similarity index 99% rename from java/src/game/renderer/model/ModelHorse.java rename to java/src/client/renderer/model/ModelHorse.java index af28039..36035bb 100755 --- a/java/src/game/renderer/model/ModelHorse.java +++ b/java/src/client/renderer/model/ModelHorse.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import org.lwjgl.opengl.GL11; diff --git a/java/src/game/renderer/model/ModelHumanoid.java b/java/src/client/renderer/model/ModelHumanoid.java similarity index 99% rename from java/src/game/renderer/model/ModelHumanoid.java rename to java/src/client/renderer/model/ModelHumanoid.java index d7333d0..73a6c39 100755 --- a/java/src/game/renderer/model/ModelHumanoid.java +++ b/java/src/client/renderer/model/ModelHumanoid.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import org.lwjgl.opengl.GL11; diff --git a/java/src/game/renderer/model/ModelHumanoidHead.java b/java/src/client/renderer/model/ModelHumanoidHead.java similarity index 97% rename from java/src/game/renderer/model/ModelHumanoidHead.java rename to java/src/client/renderer/model/ModelHumanoidHead.java index 4950f71..e7ae14e 100755 --- a/java/src/game/renderer/model/ModelHumanoidHead.java +++ b/java/src/client/renderer/model/ModelHumanoidHead.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import game.entity.Entity; diff --git a/java/src/game/renderer/model/ModelLargeChest.java b/java/src/client/renderer/model/ModelLargeChest.java similarity index 96% rename from java/src/game/renderer/model/ModelLargeChest.java rename to java/src/client/renderer/model/ModelLargeChest.java index a037d0c..0c585ac 100755 --- a/java/src/game/renderer/model/ModelLargeChest.java +++ b/java/src/client/renderer/model/ModelLargeChest.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; public class ModelLargeChest extends ModelChest { diff --git a/java/src/game/renderer/model/ModelLeashKnot.java b/java/src/client/renderer/model/ModelLeashKnot.java similarity index 98% rename from java/src/game/renderer/model/ModelLeashKnot.java rename to java/src/client/renderer/model/ModelLeashKnot.java index 583988e..3a9e4bb 100755 --- a/java/src/game/renderer/model/ModelLeashKnot.java +++ b/java/src/client/renderer/model/ModelLeashKnot.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import game.entity.Entity; diff --git a/java/src/game/renderer/model/ModelMinecart.java b/java/src/client/renderer/model/ModelMinecart.java similarity index 98% rename from java/src/game/renderer/model/ModelMinecart.java rename to java/src/client/renderer/model/ModelMinecart.java index 13aced3..ffef2fd 100755 --- a/java/src/game/renderer/model/ModelMinecart.java +++ b/java/src/client/renderer/model/ModelMinecart.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import game.entity.Entity; diff --git a/java/src/game/renderer/model/ModelMouse.java b/java/src/client/renderer/model/ModelMouse.java similarity index 99% rename from java/src/game/renderer/model/ModelMouse.java rename to java/src/client/renderer/model/ModelMouse.java index 0693896..0671240 100755 --- a/java/src/game/renderer/model/ModelMouse.java +++ b/java/src/client/renderer/model/ModelMouse.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import org.lwjgl.opengl.GL11; diff --git a/java/src/game/renderer/model/ModelOcelot.java b/java/src/client/renderer/model/ModelOcelot.java similarity index 99% rename from java/src/game/renderer/model/ModelOcelot.java rename to java/src/client/renderer/model/ModelOcelot.java index 3f289c1..82f27aa 100755 --- a/java/src/game/renderer/model/ModelOcelot.java +++ b/java/src/client/renderer/model/ModelOcelot.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import org.lwjgl.opengl.GL11; diff --git a/java/src/game/renderer/model/ModelPig.java b/java/src/client/renderer/model/ModelPig.java similarity index 90% rename from java/src/game/renderer/model/ModelPig.java rename to java/src/client/renderer/model/ModelPig.java index 476512b..7bf7a8e 100755 --- a/java/src/game/renderer/model/ModelPig.java +++ b/java/src/client/renderer/model/ModelPig.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; public class ModelPig extends ModelQuadruped { diff --git a/java/src/game/renderer/model/ModelQuadruped.java b/java/src/client/renderer/model/ModelQuadruped.java similarity index 99% rename from java/src/game/renderer/model/ModelQuadruped.java rename to java/src/client/renderer/model/ModelQuadruped.java index c287c1e..e8be36c 100755 --- a/java/src/game/renderer/model/ModelQuadruped.java +++ b/java/src/client/renderer/model/ModelQuadruped.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import org.lwjgl.opengl.GL11; diff --git a/java/src/game/renderer/model/ModelRabbit.java b/java/src/client/renderer/model/ModelRabbit.java similarity index 99% rename from java/src/game/renderer/model/ModelRabbit.java rename to java/src/client/renderer/model/ModelRabbit.java index f4efe68..3b383c0 100755 --- a/java/src/game/renderer/model/ModelRabbit.java +++ b/java/src/client/renderer/model/ModelRabbit.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import org.lwjgl.opengl.GL11; diff --git a/java/src/game/renderer/model/ModelRenderer.java b/java/src/client/renderer/model/ModelRenderer.java similarity index 99% rename from java/src/game/renderer/model/ModelRenderer.java rename to java/src/client/renderer/model/ModelRenderer.java index 0c0123b..3931a59 100755 --- a/java/src/game/renderer/model/ModelRenderer.java +++ b/java/src/client/renderer/model/ModelRenderer.java @@ -1,14 +1,13 @@ -package game.renderer.model; +package client.renderer.model; import java.util.List; import org.lwjgl.opengl.GL11; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; import game.collect.Lists; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; - public class ModelRenderer { /** The size of the texture file's width in pixels. */ diff --git a/java/src/game/renderer/model/ModelSheep1.java b/java/src/client/renderer/model/ModelSheep1.java similarity index 98% rename from java/src/game/renderer/model/ModelSheep1.java rename to java/src/client/renderer/model/ModelSheep1.java index b6b2075..fda7fb9 100755 --- a/java/src/game/renderer/model/ModelSheep1.java +++ b/java/src/client/renderer/model/ModelSheep1.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import game.entity.Entity; import game.entity.animal.EntitySheep; diff --git a/java/src/game/renderer/model/ModelSheep2.java b/java/src/client/renderer/model/ModelSheep2.java similarity index 98% rename from java/src/game/renderer/model/ModelSheep2.java rename to java/src/client/renderer/model/ModelSheep2.java index 4db5e7a..3ac1c98 100755 --- a/java/src/game/renderer/model/ModelSheep2.java +++ b/java/src/client/renderer/model/ModelSheep2.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import game.entity.Entity; import game.entity.animal.EntitySheep; diff --git a/java/src/game/renderer/model/ModelSign.java b/java/src/client/renderer/model/ModelSign.java similarity index 95% rename from java/src/game/renderer/model/ModelSign.java rename to java/src/client/renderer/model/ModelSign.java index 85fc809..3685860 100755 --- a/java/src/game/renderer/model/ModelSign.java +++ b/java/src/client/renderer/model/ModelSign.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; public class ModelSign extends ModelBase { diff --git a/java/src/game/renderer/model/ModelSlime.java b/java/src/client/renderer/model/ModelSlime.java similarity index 98% rename from java/src/game/renderer/model/ModelSlime.java rename to java/src/client/renderer/model/ModelSlime.java index 51165cc..8994594 100755 --- a/java/src/game/renderer/model/ModelSlime.java +++ b/java/src/client/renderer/model/ModelSlime.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import game.entity.Entity; diff --git a/java/src/game/renderer/model/ModelSpaceMarine.java b/java/src/client/renderer/model/ModelSpaceMarine.java similarity index 99% rename from java/src/game/renderer/model/ModelSpaceMarine.java rename to java/src/client/renderer/model/ModelSpaceMarine.java index 1464753..7fb4c55 100755 --- a/java/src/game/renderer/model/ModelSpaceMarine.java +++ b/java/src/client/renderer/model/ModelSpaceMarine.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; public class ModelSpaceMarine extends ModelBiped { public ModelSpaceMarine() diff --git a/java/src/game/renderer/model/ModelSquid.java b/java/src/client/renderer/model/ModelSquid.java similarity index 98% rename from java/src/game/renderer/model/ModelSquid.java rename to java/src/client/renderer/model/ModelSquid.java index ccc0841..22242f9 100755 --- a/java/src/game/renderer/model/ModelSquid.java +++ b/java/src/client/renderer/model/ModelSquid.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import game.entity.Entity; diff --git a/java/src/game/renderer/model/ModelWolf.java b/java/src/client/renderer/model/ModelWolf.java similarity index 99% rename from java/src/game/renderer/model/ModelWolf.java rename to java/src/client/renderer/model/ModelWolf.java index adde16b..efa86d1 100755 --- a/java/src/game/renderer/model/ModelWolf.java +++ b/java/src/client/renderer/model/ModelWolf.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import org.lwjgl.opengl.GL11; diff --git a/java/src/game/renderer/model/PositionTextureVertex.java b/java/src/client/renderer/model/PositionTextureVertex.java similarity index 90% rename from java/src/game/renderer/model/PositionTextureVertex.java rename to java/src/client/renderer/model/PositionTextureVertex.java index df29489..f18ca99 100755 --- a/java/src/game/renderer/model/PositionTextureVertex.java +++ b/java/src/client/renderer/model/PositionTextureVertex.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; import game.world.Vec3; diff --git a/java/src/game/renderer/model/TextureOffset.java b/java/src/client/renderer/model/TextureOffset.java similarity index 92% rename from java/src/game/renderer/model/TextureOffset.java rename to java/src/client/renderer/model/TextureOffset.java index 8668dfa..535d70b 100755 --- a/java/src/game/renderer/model/TextureOffset.java +++ b/java/src/client/renderer/model/TextureOffset.java @@ -1,4 +1,4 @@ -package game.renderer.model; +package client.renderer.model; public class TextureOffset { diff --git a/java/src/game/renderer/model/TexturedQuad.java b/java/src/client/renderer/model/TexturedQuad.java similarity index 84% rename from java/src/game/renderer/model/TexturedQuad.java rename to java/src/client/renderer/model/TexturedQuad.java index d72d146..b3b012d 100755 --- a/java/src/game/renderer/model/TexturedQuad.java +++ b/java/src/client/renderer/model/TexturedQuad.java @@ -1,10 +1,10 @@ -package game.renderer.model; +package client.renderer.model; import org.lwjgl.opengl.GL11; -import game.renderer.DefaultVertexFormats; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; +import client.renderer.DefaultVertexFormats; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; import game.world.Vec3; public class TexturedQuad @@ -19,10 +19,10 @@ public class TexturedQuad // this.vertices[1] = u1v1.toTextureVertex(u1 / tw + ax, v1 / th + ay); // this.vertices[2] = u1v2.toTextureVertex(u1 / tw + ax, v2 / th - ay); // this.vertices[3] = u2v2.toTextureVertex(u2 / tw - ax, v2 / th - ay); - this.vertices[0] = u2v1.toTextureVertex(u2 / tw, v1 / th); - this.vertices[1] = u1v1.toTextureVertex(u1 / tw, v1 / th); - this.vertices[2] = u1v2.toTextureVertex(u1 / tw, v2 / th); - this.vertices[3] = u2v2.toTextureVertex(u2 / tw, v2 / th); + this.vertices[0] = new PositionTextureVertex(u2v1, u2 / tw, v1 / th); + this.vertices[1] = new PositionTextureVertex(u1v1, u1 / tw, v1 / th); + this.vertices[2] = new PositionTextureVertex(u1v2, u1 / tw, v2 / th); + this.vertices[3] = new PositionTextureVertex(u2v2, u2 / tw, v2 / th); } public TexturedQuad(Vec3[] verts, int[] uvs, float tw, float th) diff --git a/java/src/game/renderer/particle/EffectRenderer.java b/java/src/client/renderer/particle/EffectRenderer.java similarity index 97% rename from java/src/game/renderer/particle/EffectRenderer.java rename to java/src/client/renderer/particle/EffectRenderer.java index 0431ab0..ac369e3 100755 --- a/java/src/game/renderer/particle/EffectRenderer.java +++ b/java/src/client/renderer/particle/EffectRenderer.java @@ -1,23 +1,23 @@ -package game.renderer.particle; +package client.renderer.particle; import java.util.List; import java.util.Map; import org.lwjgl.opengl.GL11; +import client.renderer.ActiveRenderInfo; +import client.renderer.DefaultVertexFormats; +import client.renderer.GlState; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; +import client.renderer.texture.TextureManager; +import client.renderer.texture.TextureMap; +import game.block.Block; import game.collect.Lists; import game.collect.Maps; - -import game.block.Block; import game.entity.Entity; import game.material.Material; -import game.renderer.ActiveRenderInfo; -import game.renderer.DefaultVertexFormats; -import game.renderer.GlState; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; -import game.renderer.texture.TextureManager; -import game.renderer.texture.TextureMap; +import game.model.ParticleType; import game.rng.Random; import game.util.ExtMath; import game.world.BlockPos; diff --git a/java/src/game/renderer/particle/EntityAuraFX.java b/java/src/client/renderer/particle/EntityAuraFX.java similarity index 98% rename from java/src/game/renderer/particle/EntityAuraFX.java rename to java/src/client/renderer/particle/EntityAuraFX.java index 183a805..d69be96 100755 --- a/java/src/game/renderer/particle/EntityAuraFX.java +++ b/java/src/client/renderer/particle/EntityAuraFX.java @@ -1,4 +1,4 @@ -package game.renderer.particle; +package client.renderer.particle; import game.world.World; diff --git a/java/src/game/renderer/particle/EntityBlockDustFX.java b/java/src/client/renderer/particle/EntityBlockDustFX.java similarity index 96% rename from java/src/game/renderer/particle/EntityBlockDustFX.java rename to java/src/client/renderer/particle/EntityBlockDustFX.java index 963aee9..f1fdce7 100755 --- a/java/src/game/renderer/particle/EntityBlockDustFX.java +++ b/java/src/client/renderer/particle/EntityBlockDustFX.java @@ -1,4 +1,4 @@ -package game.renderer.particle; +package client.renderer.particle; import game.init.BlockRegistry; import game.world.State; diff --git a/java/src/game/renderer/particle/EntityBreakingFX.java b/java/src/client/renderer/particle/EntityBreakingFX.java similarity index 98% rename from java/src/game/renderer/particle/EntityBreakingFX.java rename to java/src/client/renderer/particle/EntityBreakingFX.java index c27924a..1982a28 100755 --- a/java/src/game/renderer/particle/EntityBreakingFX.java +++ b/java/src/client/renderer/particle/EntityBreakingFX.java @@ -1,11 +1,11 @@ -package game.renderer.particle; +package client.renderer.particle; -import game.Game; +import client.Game; +import client.renderer.RenderBuffer; import game.entity.Entity; import game.init.ItemRegistry; import game.init.Items; import game.item.Item; -import game.renderer.RenderBuffer; import game.world.World; public class EntityBreakingFX extends EntityFX diff --git a/java/src/game/renderer/particle/EntityBubbleFX.java b/java/src/client/renderer/particle/EntityBubbleFX.java similarity index 98% rename from java/src/game/renderer/particle/EntityBubbleFX.java rename to java/src/client/renderer/particle/EntityBubbleFX.java index 2ace7d8..072304b 100755 --- a/java/src/game/renderer/particle/EntityBubbleFX.java +++ b/java/src/client/renderer/particle/EntityBubbleFX.java @@ -1,4 +1,4 @@ -package game.renderer.particle; +package client.renderer.particle; import game.material.Material; import game.world.BlockPos; diff --git a/java/src/game/renderer/particle/EntityCloudFX.java b/java/src/client/renderer/particle/EntityCloudFX.java similarity index 97% rename from java/src/game/renderer/particle/EntityCloudFX.java rename to java/src/client/renderer/particle/EntityCloudFX.java index f76aed3..39baf00 100755 --- a/java/src/game/renderer/particle/EntityCloudFX.java +++ b/java/src/client/renderer/particle/EntityCloudFX.java @@ -1,8 +1,8 @@ -package game.renderer.particle; +package client.renderer.particle; +import client.renderer.RenderBuffer; import game.entity.Entity; import game.entity.npc.EntityNPC; -import game.renderer.RenderBuffer; import game.util.ExtMath; import game.world.World; diff --git a/java/src/game/renderer/particle/EntityCrit2FX.java b/java/src/client/renderer/particle/EntityCrit2FX.java similarity index 98% rename from java/src/game/renderer/particle/EntityCrit2FX.java rename to java/src/client/renderer/particle/EntityCrit2FX.java index 644fb2c..49a03c0 100755 --- a/java/src/game/renderer/particle/EntityCrit2FX.java +++ b/java/src/client/renderer/particle/EntityCrit2FX.java @@ -1,7 +1,7 @@ -package game.renderer.particle; +package client.renderer.particle; +import client.renderer.RenderBuffer; import game.entity.Entity; -import game.renderer.RenderBuffer; import game.util.ExtMath; import game.world.World; diff --git a/java/src/game/renderer/particle/EntityCritFX.java b/java/src/client/renderer/particle/EntityCritFX.java similarity index 95% rename from java/src/game/renderer/particle/EntityCritFX.java rename to java/src/client/renderer/particle/EntityCritFX.java index 4c039a8..743c0b3 100755 --- a/java/src/game/renderer/particle/EntityCritFX.java +++ b/java/src/client/renderer/particle/EntityCritFX.java @@ -1,4 +1,4 @@ -package game.renderer.particle; +package client.renderer.particle; import game.world.World; diff --git a/java/src/game/renderer/particle/EntityDiggingFX.java b/java/src/client/renderer/particle/EntityDiggingFX.java similarity index 98% rename from java/src/game/renderer/particle/EntityDiggingFX.java rename to java/src/client/renderer/particle/EntityDiggingFX.java index 291692e..ace9f1b 100755 --- a/java/src/game/renderer/particle/EntityDiggingFX.java +++ b/java/src/client/renderer/particle/EntityDiggingFX.java @@ -1,11 +1,11 @@ -package game.renderer.particle; +package client.renderer.particle; -import game.Game; +import client.Game; +import client.renderer.RenderBuffer; import game.block.Block; import game.entity.Entity; import game.init.BlockRegistry; import game.init.Blocks; -import game.renderer.RenderBuffer; import game.world.BlockPos; import game.world.State; import game.world.World; diff --git a/java/src/game/renderer/particle/EntityDownfallFX.java b/java/src/client/renderer/particle/EntityDownfallFX.java similarity index 99% rename from java/src/game/renderer/particle/EntityDownfallFX.java rename to java/src/client/renderer/particle/EntityDownfallFX.java index 9a66aaa..8da5ea6 100755 --- a/java/src/game/renderer/particle/EntityDownfallFX.java +++ b/java/src/client/renderer/particle/EntityDownfallFX.java @@ -1,4 +1,4 @@ -package game.renderer.particle; +package client.renderer.particle; import game.block.Block; import game.block.BlockLiquid; diff --git a/java/src/game/renderer/particle/EntityDropParticleFX.java b/java/src/client/renderer/particle/EntityDropParticleFX.java similarity index 98% rename from java/src/game/renderer/particle/EntityDropParticleFX.java rename to java/src/client/renderer/particle/EntityDropParticleFX.java index 3c49a61..0b47971 100755 --- a/java/src/game/renderer/particle/EntityDropParticleFX.java +++ b/java/src/client/renderer/particle/EntityDropParticleFX.java @@ -1,7 +1,8 @@ -package game.renderer.particle; +package client.renderer.particle; import game.block.BlockLiquid; import game.material.Material; +import game.model.ParticleType; import game.util.ExtMath; import game.world.BlockPos; import game.world.State; diff --git a/java/src/game/renderer/particle/EntityEnchantmentTableParticleFX.java b/java/src/client/renderer/particle/EntityEnchantmentTableParticleFX.java similarity index 98% rename from java/src/game/renderer/particle/EntityEnchantmentTableParticleFX.java rename to java/src/client/renderer/particle/EntityEnchantmentTableParticleFX.java index 7fd3b52..b50ae80 100755 --- a/java/src/game/renderer/particle/EntityEnchantmentTableParticleFX.java +++ b/java/src/client/renderer/particle/EntityEnchantmentTableParticleFX.java @@ -1,4 +1,4 @@ -package game.renderer.particle; +package client.renderer.particle; import game.world.World; diff --git a/java/src/game/renderer/particle/EntityExplodeFX.java b/java/src/client/renderer/particle/EntityExplodeFX.java similarity index 98% rename from java/src/game/renderer/particle/EntityExplodeFX.java rename to java/src/client/renderer/particle/EntityExplodeFX.java index dbac18e..d12c6cf 100755 --- a/java/src/game/renderer/particle/EntityExplodeFX.java +++ b/java/src/client/renderer/particle/EntityExplodeFX.java @@ -1,4 +1,4 @@ -package game.renderer.particle; +package client.renderer.particle; import game.world.World; diff --git a/java/src/game/renderer/particle/EntityFX.java b/java/src/client/renderer/particle/EntityFX.java similarity index 98% rename from java/src/game/renderer/particle/EntityFX.java rename to java/src/client/renderer/particle/EntityFX.java index 963a872..c9a61f2 100755 --- a/java/src/game/renderer/particle/EntityFX.java +++ b/java/src/client/renderer/particle/EntityFX.java @@ -1,11 +1,11 @@ -package game.renderer.particle; +package client.renderer.particle; -import game.Game; +import client.Game; +import client.renderer.RenderBuffer; +import client.renderer.texture.TextureAtlasSprite; import game.entity.Entity; import game.entity.EntityType; import game.nbt.NBTTagCompound; -import game.renderer.RenderBuffer; -import game.renderer.texture.TextureAtlasSprite; import game.util.ExtMath; import game.world.World; diff --git a/java/src/game/renderer/particle/EntityFirework.java b/java/src/client/renderer/particle/EntityFirework.java similarity index 99% rename from java/src/game/renderer/particle/EntityFirework.java rename to java/src/client/renderer/particle/EntityFirework.java index 24f483b..042242e 100755 --- a/java/src/game/renderer/particle/EntityFirework.java +++ b/java/src/client/renderer/particle/EntityFirework.java @@ -1,12 +1,12 @@ -package game.renderer.particle; +package client.renderer.particle; -import game.Game; +import client.Game; +import client.renderer.RenderBuffer; import game.entity.Entity; import game.init.SoundEvent; import game.item.ItemDye; import game.nbt.NBTTagCompound; import game.nbt.NBTTagList; -import game.renderer.RenderBuffer; import game.util.ExtMath; import game.world.BoundingBox; import game.world.World; diff --git a/java/src/game/renderer/particle/EntityFishWakeFX.java b/java/src/client/renderer/particle/EntityFishWakeFX.java similarity index 98% rename from java/src/game/renderer/particle/EntityFishWakeFX.java rename to java/src/client/renderer/particle/EntityFishWakeFX.java index 93ea151..35207c5 100755 --- a/java/src/game/renderer/particle/EntityFishWakeFX.java +++ b/java/src/client/renderer/particle/EntityFishWakeFX.java @@ -1,4 +1,4 @@ -package game.renderer.particle; +package client.renderer.particle; import game.world.World; diff --git a/java/src/game/renderer/particle/EntityFlameFX.java b/java/src/client/renderer/particle/EntityFlameFX.java similarity index 98% rename from java/src/game/renderer/particle/EntityFlameFX.java rename to java/src/client/renderer/particle/EntityFlameFX.java index 0f72184..6ad5901 100755 --- a/java/src/game/renderer/particle/EntityFlameFX.java +++ b/java/src/client/renderer/particle/EntityFlameFX.java @@ -1,7 +1,7 @@ -package game.renderer.particle; +package client.renderer.particle; +import client.renderer.RenderBuffer; import game.entity.Entity; -import game.renderer.RenderBuffer; import game.util.ExtMath; import game.world.World; diff --git a/java/src/game/renderer/particle/EntityFootStepFX.java b/java/src/client/renderer/particle/EntityFootStepFX.java similarity index 92% rename from java/src/game/renderer/particle/EntityFootStepFX.java rename to java/src/client/renderer/particle/EntityFootStepFX.java index 887fdf7..9fc77a5 100755 --- a/java/src/game/renderer/particle/EntityFootStepFX.java +++ b/java/src/client/renderer/particle/EntityFootStepFX.java @@ -1,14 +1,14 @@ -package game.renderer.particle; +package client.renderer.particle; import org.lwjgl.opengl.GL11; -import game.Game; +import client.Game; +import client.renderer.DefaultVertexFormats; +import client.renderer.GlState; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; +import client.renderer.texture.TextureManager; import game.entity.Entity; -import game.renderer.DefaultVertexFormats; -import game.renderer.GlState; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; -import game.renderer.texture.TextureManager; import game.world.BlockPos; import game.world.World; diff --git a/java/src/game/renderer/particle/EntityHeartFX.java b/java/src/client/renderer/particle/EntityHeartFX.java similarity index 97% rename from java/src/game/renderer/particle/EntityHeartFX.java rename to java/src/client/renderer/particle/EntityHeartFX.java index c9d14be..45effe6 100755 --- a/java/src/game/renderer/particle/EntityHeartFX.java +++ b/java/src/client/renderer/particle/EntityHeartFX.java @@ -1,7 +1,7 @@ -package game.renderer.particle; +package client.renderer.particle; +import client.renderer.RenderBuffer; import game.entity.Entity; -import game.renderer.RenderBuffer; import game.util.ExtMath; import game.world.World; diff --git a/java/src/game/renderer/particle/EntityHugeExplodeFX.java b/java/src/client/renderer/particle/EntityHugeExplodeFX.java similarity index 94% rename from java/src/game/renderer/particle/EntityHugeExplodeFX.java rename to java/src/client/renderer/particle/EntityHugeExplodeFX.java index 2956853..42cd4a8 100755 --- a/java/src/game/renderer/particle/EntityHugeExplodeFX.java +++ b/java/src/client/renderer/particle/EntityHugeExplodeFX.java @@ -1,7 +1,8 @@ -package game.renderer.particle; +package client.renderer.particle; +import client.renderer.RenderBuffer; import game.entity.Entity; -import game.renderer.RenderBuffer; +import game.model.ParticleType; import game.world.World; public class EntityHugeExplodeFX extends EntityFX diff --git a/java/src/game/renderer/particle/EntityLargeExplodeFX.java b/java/src/client/renderer/particle/EntityLargeExplodeFX.java similarity index 93% rename from java/src/game/renderer/particle/EntityLargeExplodeFX.java rename to java/src/client/renderer/particle/EntityLargeExplodeFX.java index 21020a8..04a509a 100755 --- a/java/src/game/renderer/particle/EntityLargeExplodeFX.java +++ b/java/src/client/renderer/particle/EntityLargeExplodeFX.java @@ -1,16 +1,16 @@ -package game.renderer.particle; +package client.renderer.particle; import org.lwjgl.opengl.GL11; -import game.Game; +import client.Game; +import client.renderer.DefaultVertexFormats; +import client.renderer.GlState; +import client.renderer.ItemRenderer; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; +import client.renderer.VertexFormat; +import client.renderer.texture.TextureManager; import game.entity.Entity; -import game.renderer.DefaultVertexFormats; -import game.renderer.GlState; -import game.renderer.ItemRenderer; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; -import game.renderer.VertexFormat; -import game.renderer.texture.TextureManager; import game.world.World; public class EntityLargeExplodeFX extends EntityFX diff --git a/java/src/game/renderer/particle/EntityLavaFX.java b/java/src/client/renderer/particle/EntityLavaFX.java similarity index 96% rename from java/src/game/renderer/particle/EntityLavaFX.java rename to java/src/client/renderer/particle/EntityLavaFX.java index b187423..869b753 100755 --- a/java/src/game/renderer/particle/EntityLavaFX.java +++ b/java/src/client/renderer/particle/EntityLavaFX.java @@ -1,7 +1,8 @@ -package game.renderer.particle; +package client.renderer.particle; +import client.renderer.RenderBuffer; import game.entity.Entity; -import game.renderer.RenderBuffer; +import game.model.ParticleType; import game.util.ExtMath; import game.world.World; diff --git a/java/src/game/renderer/particle/EntityNoteFX.java b/java/src/client/renderer/particle/EntityNoteFX.java similarity index 97% rename from java/src/game/renderer/particle/EntityNoteFX.java rename to java/src/client/renderer/particle/EntityNoteFX.java index 0517d0c..cdb1373 100755 --- a/java/src/game/renderer/particle/EntityNoteFX.java +++ b/java/src/client/renderer/particle/EntityNoteFX.java @@ -1,7 +1,7 @@ -package game.renderer.particle; +package client.renderer.particle; +import client.renderer.RenderBuffer; import game.entity.Entity; -import game.renderer.RenderBuffer; import game.util.ExtMath; import game.world.World; diff --git a/java/src/game/renderer/particle/EntityParticleEmitter.java b/java/src/client/renderer/particle/EntityParticleEmitter.java similarity index 95% rename from java/src/game/renderer/particle/EntityParticleEmitter.java rename to java/src/client/renderer/particle/EntityParticleEmitter.java index 3f7e957..8a19ef4 100755 --- a/java/src/game/renderer/particle/EntityParticleEmitter.java +++ b/java/src/client/renderer/particle/EntityParticleEmitter.java @@ -1,7 +1,8 @@ -package game.renderer.particle; +package client.renderer.particle; +import client.renderer.RenderBuffer; import game.entity.Entity; -import game.renderer.RenderBuffer; +import game.model.ParticleType; import game.world.World; import game.world.WorldClient; diff --git a/java/src/game/renderer/particle/EntityPickupFX.java b/java/src/client/renderer/particle/EntityPickupFX.java similarity index 93% rename from java/src/game/renderer/particle/EntityPickupFX.java rename to java/src/client/renderer/particle/EntityPickupFX.java index 05f5153..9ff6b8b 100755 --- a/java/src/game/renderer/particle/EntityPickupFX.java +++ b/java/src/client/renderer/particle/EntityPickupFX.java @@ -1,12 +1,12 @@ -package game.renderer.particle; +package client.renderer.particle; import org.lwjgl.opengl.GL13; -import game.Game; +import client.Game; +import client.renderer.GlState; +import client.renderer.RenderBuffer; +import client.renderer.entity.RenderManager; import game.entity.Entity; -import game.renderer.GlState; -import game.renderer.RenderBuffer; -import game.renderer.entity.RenderManager; import game.world.World; public class EntityPickupFX extends EntityFX diff --git a/java/src/game/renderer/particle/EntityPortalFX.java b/java/src/client/renderer/particle/EntityPortalFX.java similarity index 98% rename from java/src/game/renderer/particle/EntityPortalFX.java rename to java/src/client/renderer/particle/EntityPortalFX.java index 5b07ac2..712f4d9 100755 --- a/java/src/game/renderer/particle/EntityPortalFX.java +++ b/java/src/client/renderer/particle/EntityPortalFX.java @@ -1,7 +1,7 @@ -package game.renderer.particle; +package client.renderer.particle; +import client.renderer.RenderBuffer; import game.entity.Entity; -import game.renderer.RenderBuffer; import game.world.World; public class EntityPortalFX extends EntityFX diff --git a/java/src/game/renderer/particle/EntityReddustFX.java b/java/src/client/renderer/particle/EntityReddustFX.java similarity index 97% rename from java/src/game/renderer/particle/EntityReddustFX.java rename to java/src/client/renderer/particle/EntityReddustFX.java index 8a0e278..c88dece 100755 --- a/java/src/game/renderer/particle/EntityReddustFX.java +++ b/java/src/client/renderer/particle/EntityReddustFX.java @@ -1,7 +1,7 @@ -package game.renderer.particle; +package client.renderer.particle; +import client.renderer.RenderBuffer; import game.entity.Entity; -import game.renderer.RenderBuffer; import game.util.ExtMath; import game.world.World; diff --git a/java/src/game/renderer/particle/EntitySmokeFX.java b/java/src/client/renderer/particle/EntitySmokeFX.java similarity index 97% rename from java/src/game/renderer/particle/EntitySmokeFX.java rename to java/src/client/renderer/particle/EntitySmokeFX.java index ed2acaf..63f85dd 100755 --- a/java/src/game/renderer/particle/EntitySmokeFX.java +++ b/java/src/client/renderer/particle/EntitySmokeFX.java @@ -1,7 +1,7 @@ -package game.renderer.particle; +package client.renderer.particle; +import client.renderer.RenderBuffer; import game.entity.Entity; -import game.renderer.RenderBuffer; import game.util.ExtMath; import game.world.World; diff --git a/java/src/game/renderer/particle/EntitySnowShovelFX.java b/java/src/client/renderer/particle/EntitySnowShovelFX.java similarity index 97% rename from java/src/game/renderer/particle/EntitySnowShovelFX.java rename to java/src/client/renderer/particle/EntitySnowShovelFX.java index 31acfdf..5d83213 100755 --- a/java/src/game/renderer/particle/EntitySnowShovelFX.java +++ b/java/src/client/renderer/particle/EntitySnowShovelFX.java @@ -1,7 +1,7 @@ -package game.renderer.particle; +package client.renderer.particle; +import client.renderer.RenderBuffer; import game.entity.Entity; -import game.renderer.RenderBuffer; import game.util.ExtMath; import game.world.World; diff --git a/java/src/game/renderer/particle/EntitySpellParticleFX.java b/java/src/client/renderer/particle/EntitySpellParticleFX.java similarity index 98% rename from java/src/game/renderer/particle/EntitySpellParticleFX.java rename to java/src/client/renderer/particle/EntitySpellParticleFX.java index 55b7a9a..bdc8765 100755 --- a/java/src/game/renderer/particle/EntitySpellParticleFX.java +++ b/java/src/client/renderer/particle/EntitySpellParticleFX.java @@ -1,7 +1,7 @@ -package game.renderer.particle; +package client.renderer.particle; +import client.renderer.RenderBuffer; import game.entity.Entity; -import game.renderer.RenderBuffer; import game.rng.Random; import game.util.ExtMath; import game.world.World; diff --git a/java/src/game/renderer/particle/EntitySplashFX.java b/java/src/client/renderer/particle/EntitySplashFX.java similarity index 96% rename from java/src/game/renderer/particle/EntitySplashFX.java rename to java/src/client/renderer/particle/EntitySplashFX.java index 7a18588..411b5ba 100755 --- a/java/src/game/renderer/particle/EntitySplashFX.java +++ b/java/src/client/renderer/particle/EntitySplashFX.java @@ -1,4 +1,4 @@ -package game.renderer.particle; +package client.renderer.particle; import game.world.World; diff --git a/java/src/game/renderer/particle/EntitySuspendFX.java b/java/src/client/renderer/particle/EntitySuspendFX.java similarity index 98% rename from java/src/game/renderer/particle/EntitySuspendFX.java rename to java/src/client/renderer/particle/EntitySuspendFX.java index ae02469..18c0d9e 100755 --- a/java/src/game/renderer/particle/EntitySuspendFX.java +++ b/java/src/client/renderer/particle/EntitySuspendFX.java @@ -1,4 +1,4 @@ -package game.renderer.particle; +package client.renderer.particle; import game.material.Material; import game.world.BlockPos; diff --git a/java/src/game/renderer/particle/IParticleFactory.java b/java/src/client/renderer/particle/IParticleFactory.java similarity index 87% rename from java/src/game/renderer/particle/IParticleFactory.java rename to java/src/client/renderer/particle/IParticleFactory.java index dfef805..06a5b62 100755 --- a/java/src/game/renderer/particle/IParticleFactory.java +++ b/java/src/client/renderer/particle/IParticleFactory.java @@ -1,4 +1,4 @@ -package game.renderer.particle; +package client.renderer.particle; import game.world.World; diff --git a/java/src/game/renderer/texture/DynamicTexture.java b/java/src/client/renderer/texture/DynamicTexture.java similarity index 95% rename from java/src/game/renderer/texture/DynamicTexture.java rename to java/src/client/renderer/texture/DynamicTexture.java index 8067614..1d82fcd 100755 --- a/java/src/game/renderer/texture/DynamicTexture.java +++ b/java/src/client/renderer/texture/DynamicTexture.java @@ -1,9 +1,9 @@ -package game.renderer.texture; +package client.renderer.texture; import java.awt.image.BufferedImage; import java.io.IOException; -import game.renderer.GlState; +import client.renderer.GlState; public class DynamicTexture extends Texture { diff --git a/java/src/game/renderer/texture/EntityTexManager.java b/java/src/client/renderer/texture/EntityTexManager.java similarity index 98% rename from java/src/game/renderer/texture/EntityTexManager.java rename to java/src/client/renderer/texture/EntityTexManager.java index bc52a92..d2f0146 100755 --- a/java/src/game/renderer/texture/EntityTexManager.java +++ b/java/src/client/renderer/texture/EntityTexManager.java @@ -1,4 +1,4 @@ -package game.renderer.texture; +package client.renderer.texture; import java.awt.Color; import java.awt.Graphics2D; @@ -10,17 +10,16 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import client.Game; +import client.renderer.entity.RenderNpc; +import client.renderer.layers.LayerExtra; import game.collect.Lists; import game.collect.Maps; import game.collect.Sets; - -import game.Game; import game.entity.npc.EntityNPC; import game.init.SpeciesRegistry; import game.init.SpeciesRegistry.ModelType; import game.log.Log; -import game.renderer.entity.RenderNpc; -import game.renderer.layers.LayerExtra; import game.util.FileUtils; public abstract class EntityTexManager diff --git a/java/src/game/renderer/texture/IIconCreator.java b/java/src/client/renderer/texture/IIconCreator.java similarity index 72% rename from java/src/game/renderer/texture/IIconCreator.java rename to java/src/client/renderer/texture/IIconCreator.java index 3b6c142..ed1f0aa 100755 --- a/java/src/game/renderer/texture/IIconCreator.java +++ b/java/src/client/renderer/texture/IIconCreator.java @@ -1,4 +1,4 @@ -package game.renderer.texture; +package client.renderer.texture; public interface IIconCreator { diff --git a/java/src/game/renderer/texture/LayeredColorMaskTexture.java b/java/src/client/renderer/texture/LayeredColorMaskTexture.java similarity index 99% rename from java/src/game/renderer/texture/LayeredColorMaskTexture.java rename to java/src/client/renderer/texture/LayeredColorMaskTexture.java index 14aff6b..5920829 100755 --- a/java/src/game/renderer/texture/LayeredColorMaskTexture.java +++ b/java/src/client/renderer/texture/LayeredColorMaskTexture.java @@ -1,4 +1,4 @@ -package game.renderer.texture; +package client.renderer.texture; import java.awt.Graphics; import java.awt.image.BufferedImage; diff --git a/java/src/game/renderer/texture/LayeredTexture.java b/java/src/client/renderer/texture/LayeredTexture.java similarity index 97% rename from java/src/game/renderer/texture/LayeredTexture.java rename to java/src/client/renderer/texture/LayeredTexture.java index cda67c9..6f9102f 100755 --- a/java/src/game/renderer/texture/LayeredTexture.java +++ b/java/src/client/renderer/texture/LayeredTexture.java @@ -1,4 +1,4 @@ -package game.renderer.texture; +package client.renderer.texture; import java.awt.image.BufferedImage; import java.awt.image.ImageObserver; @@ -7,7 +7,6 @@ import java.io.InputStream; import java.util.List; import game.collect.Lists; - import game.log.Log; import game.util.FileUtils; diff --git a/java/src/game/renderer/texture/SimpleTexture.java b/java/src/client/renderer/texture/SimpleTexture.java similarity index 95% rename from java/src/game/renderer/texture/SimpleTexture.java rename to java/src/client/renderer/texture/SimpleTexture.java index 0af92ec..8a142b6 100755 --- a/java/src/game/renderer/texture/SimpleTexture.java +++ b/java/src/client/renderer/texture/SimpleTexture.java @@ -1,4 +1,4 @@ -package game.renderer.texture; +package client.renderer.texture; import java.awt.image.BufferedImage; import java.io.IOException; diff --git a/java/src/game/renderer/texture/Stitcher.java b/java/src/client/renderer/texture/Stitcher.java similarity index 99% rename from java/src/game/renderer/texture/Stitcher.java rename to java/src/client/renderer/texture/Stitcher.java index e2b827d..008e615 100755 --- a/java/src/game/renderer/texture/Stitcher.java +++ b/java/src/client/renderer/texture/Stitcher.java @@ -1,4 +1,4 @@ -package game.renderer.texture; +package client.renderer.texture; import java.util.ArrayList; import java.util.Arrays; diff --git a/java/src/game/renderer/texture/Texture.java b/java/src/client/renderer/texture/Texture.java similarity index 90% rename from java/src/game/renderer/texture/Texture.java rename to java/src/client/renderer/texture/Texture.java index b98cdfd..4c0ab84 100755 --- a/java/src/game/renderer/texture/Texture.java +++ b/java/src/client/renderer/texture/Texture.java @@ -1,10 +1,10 @@ -package game.renderer.texture; +package client.renderer.texture; import java.io.IOException; import org.lwjgl.opengl.GL11; -import game.renderer.GlState; +import client.renderer.GlState; public abstract class Texture { diff --git a/java/src/game/renderer/texture/TextureAtlasSprite.java b/java/src/client/renderer/texture/TextureAtlasSprite.java similarity index 99% rename from java/src/game/renderer/texture/TextureAtlasSprite.java rename to java/src/client/renderer/texture/TextureAtlasSprite.java index d7ac2d9..d75b3fa 100755 --- a/java/src/game/renderer/texture/TextureAtlasSprite.java +++ b/java/src/client/renderer/texture/TextureAtlasSprite.java @@ -1,4 +1,4 @@ -package game.renderer.texture; +package client.renderer.texture; import java.awt.image.BufferedImage; import java.io.IOException; diff --git a/java/src/game/renderer/texture/TextureManager.java b/java/src/client/renderer/texture/TextureManager.java similarity index 95% rename from java/src/game/renderer/texture/TextureManager.java rename to java/src/client/renderer/texture/TextureManager.java index 313f5cc..06de1dd 100755 --- a/java/src/game/renderer/texture/TextureManager.java +++ b/java/src/client/renderer/texture/TextureManager.java @@ -1,14 +1,13 @@ -package game.renderer.texture; +package client.renderer.texture; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Map; import java.util.Map.Entry; +import client.renderer.GlState; import game.collect.Maps; - import game.log.Log; -import game.renderer.GlState; public class TextureManager { private final Map textures = Maps.newHashMap(); diff --git a/java/src/game/renderer/texture/TextureMap.java b/java/src/client/renderer/texture/TextureMap.java similarity index 99% rename from java/src/game/renderer/texture/TextureMap.java rename to java/src/client/renderer/texture/TextureMap.java index d0a89b6..51a6936 100755 --- a/java/src/game/renderer/texture/TextureMap.java +++ b/java/src/client/renderer/texture/TextureMap.java @@ -1,4 +1,4 @@ -package game.renderer.texture; +package client.renderer.texture; import java.awt.image.BufferedImage; import java.io.FileNotFoundException; @@ -7,14 +7,13 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; +import client.renderer.GlState; +import game.block.Block; import game.collect.Lists; import game.collect.Maps; - -import game.block.Block; import game.init.BlockRegistry; import game.init.FluidRegistry; import game.log.Log; -import game.renderer.GlState; import game.util.FileUtils; public class TextureMap extends Texture diff --git a/java/src/game/renderer/texture/TextureTicked.java b/java/src/client/renderer/texture/TextureTicked.java similarity index 79% rename from java/src/game/renderer/texture/TextureTicked.java rename to java/src/client/renderer/texture/TextureTicked.java index 5520aed..b2f0fa6 100755 --- a/java/src/game/renderer/texture/TextureTicked.java +++ b/java/src/client/renderer/texture/TextureTicked.java @@ -1,4 +1,4 @@ -package game.renderer.texture; +package client.renderer.texture; public abstract class TextureTicked { public abstract void renderStep(int[] data); diff --git a/java/src/game/renderer/texture/TextureUtil.java b/java/src/client/renderer/texture/TextureUtil.java similarity index 98% rename from java/src/game/renderer/texture/TextureUtil.java rename to java/src/client/renderer/texture/TextureUtil.java index 2baadf3..61f517d 100755 --- a/java/src/game/renderer/texture/TextureUtil.java +++ b/java/src/client/renderer/texture/TextureUtil.java @@ -1,4 +1,4 @@ -package game.renderer.texture; +package client.renderer.texture; import static org.lwjgl.system.MemoryUtil.NULL; @@ -14,7 +14,7 @@ import javax.imageio.ImageIO; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; -import game.renderer.GlState; +import client.renderer.GlState; import game.util.FileUtils; public class TextureUtil diff --git a/java/src/game/renderer/ticked/TextureFlamesFX1.java b/java/src/client/renderer/ticked/TextureFlamesFX1.java similarity index 93% rename from java/src/game/renderer/ticked/TextureFlamesFX1.java rename to java/src/client/renderer/ticked/TextureFlamesFX1.java index adac8b8..6b07093 100755 --- a/java/src/game/renderer/ticked/TextureFlamesFX1.java +++ b/java/src/client/renderer/ticked/TextureFlamesFX1.java @@ -1,6 +1,6 @@ -package game.renderer.ticked; +package client.renderer.ticked; -import game.renderer.texture.TextureTicked; +import client.renderer.texture.TextureTicked; public class TextureFlamesFX1 extends TextureTicked diff --git a/java/src/game/renderer/ticked/TextureFlamesFX2.java b/java/src/client/renderer/ticked/TextureFlamesFX2.java similarity index 85% rename from java/src/game/renderer/ticked/TextureFlamesFX2.java rename to java/src/client/renderer/ticked/TextureFlamesFX2.java index 2328e07..615af67 100755 --- a/java/src/game/renderer/ticked/TextureFlamesFX2.java +++ b/java/src/client/renderer/ticked/TextureFlamesFX2.java @@ -1,4 +1,4 @@ -package game.renderer.ticked; +package client.renderer.ticked; public class TextureFlamesFX2 extends TextureFlamesFX1 { public TextureFlamesFX2() diff --git a/java/src/game/renderer/ticked/TextureLavaFX.java b/java/src/client/renderer/ticked/TextureLavaFX.java similarity index 94% rename from java/src/game/renderer/ticked/TextureLavaFX.java rename to java/src/client/renderer/ticked/TextureLavaFX.java index d7a95eb..b862970 100755 --- a/java/src/game/renderer/ticked/TextureLavaFX.java +++ b/java/src/client/renderer/ticked/TextureLavaFX.java @@ -1,6 +1,6 @@ -package game.renderer.ticked; +package client.renderer.ticked; -import game.renderer.texture.TextureTicked; +import client.renderer.texture.TextureTicked; import game.util.ExtMath; public class TextureLavaFX extends TextureTicked diff --git a/java/src/game/renderer/ticked/TextureLavaFlowFX.java b/java/src/client/renderer/ticked/TextureLavaFlowFX.java similarity index 95% rename from java/src/game/renderer/ticked/TextureLavaFlowFX.java rename to java/src/client/renderer/ticked/TextureLavaFlowFX.java index e9028af..d6494a9 100755 --- a/java/src/game/renderer/ticked/TextureLavaFlowFX.java +++ b/java/src/client/renderer/ticked/TextureLavaFlowFX.java @@ -1,6 +1,6 @@ -package game.renderer.ticked; +package client.renderer.ticked; -import game.renderer.texture.TextureTicked; +import client.renderer.texture.TextureTicked; import game.util.ExtMath; public class TextureLavaFlowFX extends TextureTicked diff --git a/java/src/game/renderer/ticked/TextureWaterFX.java b/java/src/client/renderer/ticked/TextureWaterFX.java similarity index 93% rename from java/src/game/renderer/ticked/TextureWaterFX.java rename to java/src/client/renderer/ticked/TextureWaterFX.java index 0493dd1..be5a276 100755 --- a/java/src/game/renderer/ticked/TextureWaterFX.java +++ b/java/src/client/renderer/ticked/TextureWaterFX.java @@ -1,6 +1,6 @@ -package game.renderer.ticked; +package client.renderer.ticked; -import game.renderer.texture.TextureTicked; +import client.renderer.texture.TextureTicked; public class TextureWaterFX extends TextureTicked diff --git a/java/src/game/renderer/ticked/TextureWaterFlowFX.java b/java/src/client/renderer/ticked/TextureWaterFlowFX.java similarity index 94% rename from java/src/game/renderer/ticked/TextureWaterFlowFX.java rename to java/src/client/renderer/ticked/TextureWaterFlowFX.java index bdbe153..ebf64ef 100755 --- a/java/src/game/renderer/ticked/TextureWaterFlowFX.java +++ b/java/src/client/renderer/ticked/TextureWaterFlowFX.java @@ -1,6 +1,6 @@ -package game.renderer.ticked; +package client.renderer.ticked; -import game.renderer.texture.TextureTicked; +import client.renderer.texture.TextureTicked; public class TextureWaterFlowFX extends TextureTicked diff --git a/java/src/game/renderer/tileentity/TileEntityBannerRenderer.java b/java/src/client/renderer/tileentity/TileEntityBannerRenderer.java similarity index 96% rename from java/src/game/renderer/tileentity/TileEntityBannerRenderer.java rename to java/src/client/renderer/tileentity/TileEntityBannerRenderer.java index 939bd81..d968685 100755 --- a/java/src/game/renderer/tileentity/TileEntityBannerRenderer.java +++ b/java/src/client/renderer/tileentity/TileEntityBannerRenderer.java @@ -1,4 +1,4 @@ -package game.renderer.tileentity; +package client.renderer.tileentity; import java.util.Iterator; import java.util.List; @@ -6,15 +6,14 @@ import java.util.Map; import org.lwjgl.opengl.GL11; +import client.Game; +import client.renderer.GlState; +import client.renderer.model.ModelBanner; +import client.renderer.texture.LayeredColorMaskTexture; import game.collect.Lists; import game.collect.Maps; - -import game.Game; import game.color.DyeColor; import game.init.Blocks; -import game.renderer.GlState; -import game.renderer.model.ModelBanner; -import game.renderer.texture.LayeredColorMaskTexture; import game.tileentity.TileEntityBanner; import game.util.ExtMath; import game.world.BlockPos; diff --git a/java/src/game/renderer/tileentity/TileEntityChestRenderer.java b/java/src/client/renderer/tileentity/TileEntityChestRenderer.java similarity index 97% rename from java/src/game/renderer/tileentity/TileEntityChestRenderer.java rename to java/src/client/renderer/tileentity/TileEntityChestRenderer.java index 0e1ca98..9d83257 100755 --- a/java/src/game/renderer/tileentity/TileEntityChestRenderer.java +++ b/java/src/client/renderer/tileentity/TileEntityChestRenderer.java @@ -1,12 +1,12 @@ -package game.renderer.tileentity; +package client.renderer.tileentity; import org.lwjgl.opengl.GL11; +import client.renderer.GlState; +import client.renderer.model.ModelChest; +import client.renderer.model.ModelLargeChest; import game.block.Block; import game.block.BlockChest; -import game.renderer.GlState; -import game.renderer.model.ModelChest; -import game.renderer.model.ModelLargeChest; import game.tileentity.TileEntityChest; diff --git a/java/src/game/renderer/tileentity/TileEntityItemStackRenderer.java b/java/src/client/renderer/tileentity/TileEntityItemStackRenderer.java similarity index 97% rename from java/src/game/renderer/tileentity/TileEntityItemStackRenderer.java rename to java/src/client/renderer/tileentity/TileEntityItemStackRenderer.java index 08829fb..72702f5 100755 --- a/java/src/game/renderer/tileentity/TileEntityItemStackRenderer.java +++ b/java/src/client/renderer/tileentity/TileEntityItemStackRenderer.java @@ -1,12 +1,12 @@ -package game.renderer.tileentity; +package client.renderer.tileentity; import org.lwjgl.opengl.GL11; +import client.renderer.GlState; import game.block.Block; import game.init.Blocks; import game.init.Items; import game.item.ItemStack; -import game.renderer.GlState; import game.tileentity.TileEntityBanner; import game.tileentity.TileEntityChest; import game.tileentity.TileEntitySkull; diff --git a/java/src/game/renderer/tileentity/TileEntityMobSpawnerRenderer.java b/java/src/client/renderer/tileentity/TileEntityMobSpawnerRenderer.java similarity index 96% rename from java/src/game/renderer/tileentity/TileEntityMobSpawnerRenderer.java rename to java/src/client/renderer/tileentity/TileEntityMobSpawnerRenderer.java index 96aa199..e31dca2 100755 --- a/java/src/game/renderer/tileentity/TileEntityMobSpawnerRenderer.java +++ b/java/src/client/renderer/tileentity/TileEntityMobSpawnerRenderer.java @@ -1,8 +1,8 @@ -package game.renderer.tileentity; +package client.renderer.tileentity; import org.lwjgl.opengl.GL11; -import game.Game; +import client.Game; import game.entity.Entity; import game.tileentity.TileEntityMobSpawner; diff --git a/java/src/game/renderer/tileentity/TileEntityPistonRenderer.java b/java/src/client/renderer/tileentity/TileEntityPistonRenderer.java similarity index 92% rename from java/src/game/renderer/tileentity/TileEntityPistonRenderer.java rename to java/src/client/renderer/tileentity/TileEntityPistonRenderer.java index 201fbad..651f015 100755 --- a/java/src/game/renderer/tileentity/TileEntityPistonRenderer.java +++ b/java/src/client/renderer/tileentity/TileEntityPistonRenderer.java @@ -1,20 +1,20 @@ -package game.renderer.tileentity; +package client.renderer.tileentity; import org.lwjgl.opengl.GL11; -import game.Game; +import client.Game; +import client.renderer.BlockRenderer; +import client.renderer.DefaultVertexFormats; +import client.renderer.GlState; +import client.renderer.ItemRenderer; +import client.renderer.RenderBuffer; +import client.renderer.Tessellator; +import client.renderer.texture.TextureMap; import game.block.Block; import game.block.BlockPistonBase; import game.block.BlockPistonHead; import game.init.Blocks; import game.material.Material; -import game.renderer.BlockRenderer; -import game.renderer.DefaultVertexFormats; -import game.renderer.GlState; -import game.renderer.ItemRenderer; -import game.renderer.RenderBuffer; -import game.renderer.Tessellator; -import game.renderer.texture.TextureMap; import game.tileentity.TileEntityPiston; import game.world.BlockPos; import game.world.State; diff --git a/java/src/game/renderer/tileentity/TileEntityRendererDispatcher.java b/java/src/client/renderer/tileentity/TileEntityRendererDispatcher.java similarity index 98% rename from java/src/game/renderer/tileentity/TileEntityRendererDispatcher.java rename to java/src/client/renderer/tileentity/TileEntityRendererDispatcher.java index a28a185..3fb7166 100755 --- a/java/src/game/renderer/tileentity/TileEntityRendererDispatcher.java +++ b/java/src/client/renderer/tileentity/TileEntityRendererDispatcher.java @@ -1,14 +1,13 @@ -package game.renderer.tileentity; +package client.renderer.tileentity; import java.util.Map; import org.lwjgl.opengl.GL13; +import client.renderer.GlState; +import client.renderer.texture.TextureManager; import game.collect.Maps; - import game.entity.Entity; -import game.renderer.GlState; -import game.renderer.texture.TextureManager; import game.tileentity.TileEntity; import game.tileentity.TileEntityBanner; import game.tileentity.TileEntityChest; diff --git a/java/src/game/renderer/tileentity/TileEntitySignRenderer.java b/java/src/client/renderer/tileentity/TileEntitySignRenderer.java similarity index 96% rename from java/src/game/renderer/tileentity/TileEntitySignRenderer.java rename to java/src/client/renderer/tileentity/TileEntitySignRenderer.java index 0d20bab..b5d3117 100755 --- a/java/src/game/renderer/tileentity/TileEntitySignRenderer.java +++ b/java/src/client/renderer/tileentity/TileEntitySignRenderer.java @@ -1,13 +1,13 @@ -package game.renderer.tileentity; +package client.renderer.tileentity; import org.lwjgl.opengl.GL11; +import client.gui.Font; +import client.renderer.Drawing; +import client.renderer.GlState; +import client.renderer.model.ModelSign; import game.block.Block; -import game.gui.Font; import game.init.Blocks; -import game.renderer.Drawing; -import game.renderer.GlState; -import game.renderer.model.ModelSign; import game.tileentity.TileEntitySign; diff --git a/java/src/game/renderer/tileentity/TileEntitySkullRenderer.java b/java/src/client/renderer/tileentity/TileEntitySkullRenderer.java similarity index 96% rename from java/src/game/renderer/tileentity/TileEntitySkullRenderer.java rename to java/src/client/renderer/tileentity/TileEntitySkullRenderer.java index 7a6ef45..577b18a 100755 --- a/java/src/game/renderer/tileentity/TileEntitySkullRenderer.java +++ b/java/src/client/renderer/tileentity/TileEntitySkullRenderer.java @@ -1,9 +1,9 @@ -package game.renderer.tileentity; +package client.renderer.tileentity; import org.lwjgl.opengl.GL11; -import game.renderer.GlState; -import game.renderer.model.ModelHumanoidHead; +import client.renderer.GlState; +import client.renderer.model.ModelHumanoidHead; import game.tileentity.TileEntitySkull; import game.world.Facing; diff --git a/java/src/game/renderer/tileentity/TileEntitySpecialRenderer.java b/java/src/client/renderer/tileentity/TileEntitySpecialRenderer.java similarity index 95% rename from java/src/game/renderer/tileentity/TileEntitySpecialRenderer.java rename to java/src/client/renderer/tileentity/TileEntitySpecialRenderer.java index 68bd7c3..8903943 100755 --- a/java/src/game/renderer/tileentity/TileEntitySpecialRenderer.java +++ b/java/src/client/renderer/tileentity/TileEntitySpecialRenderer.java @@ -1,6 +1,6 @@ -package game.renderer.tileentity; +package client.renderer.tileentity; -import game.renderer.texture.TextureManager; +import client.renderer.texture.TextureManager; import game.tileentity.TileEntity; import game.world.World; diff --git a/java/src/game/window/Bind.java b/java/src/client/window/Bind.java similarity index 96% rename from java/src/game/window/Bind.java rename to java/src/client/window/Bind.java index 5cf89db..040ea95 100644 --- a/java/src/game/window/Bind.java +++ b/java/src/client/window/Bind.java @@ -1,14 +1,14 @@ -package game.window; +package client.window; -import game.Game; +import client.Game; +import client.gui.element.Element; import game.color.TextColor; -import game.gui.element.Element; -import game.properties.IStringSerializable; +import game.util.Identifyable; import game.util.Util; import game.vars.CVar; import game.vars.CVarCategory; -public enum Bind implements IStringSerializable, CVar { +public enum Bind implements Identifyable, CVar { FORWARD("forward", "Vorwärts", Keysym.W), LEFT("left", "Nach links", Keysym.A), BACKWARD("backward", "Rückwärts", Keysym.S), diff --git a/java/src/game/window/Button.java b/java/src/client/window/Button.java similarity index 95% rename from java/src/game/window/Button.java rename to java/src/client/window/Button.java index 89cd8f8..c5809e2 100644 --- a/java/src/game/window/Button.java +++ b/java/src/client/window/Button.java @@ -1,6 +1,6 @@ -package game.window; +package client.window; -import game.Game; +import client.Game; public enum Button implements Input { MOUSE_LEFT("lmb", "Linke Maustaste"), diff --git a/java/src/game/window/DisplayMode.java b/java/src/client/window/DisplayMode.java similarity index 96% rename from java/src/game/window/DisplayMode.java rename to java/src/client/window/DisplayMode.java index c734e4d..9ab016f 100644 --- a/java/src/game/window/DisplayMode.java +++ b/java/src/client/window/DisplayMode.java @@ -1,4 +1,4 @@ -package game.window; +package client.window; public class DisplayMode { public static final int VID_MODES = 28; diff --git a/java/src/client/window/Input.java b/java/src/client/window/Input.java new file mode 100644 index 0000000..b4700a4 --- /dev/null +++ b/java/src/client/window/Input.java @@ -0,0 +1,8 @@ +package client.window; + +import game.util.Displayable; +import game.util.Identifyable; + +public interface Input extends Identifyable, Displayable { + public boolean read(); +} diff --git a/java/src/game/window/KeyEvent.java b/java/src/client/window/KeyEvent.java similarity index 69% rename from java/src/game/window/KeyEvent.java rename to java/src/client/window/KeyEvent.java index d4101ae..87ed04d 100644 --- a/java/src/game/window/KeyEvent.java +++ b/java/src/client/window/KeyEvent.java @@ -1,4 +1,4 @@ -package game.window; +package client.window; public enum KeyEvent { RELEASE, diff --git a/java/src/game/window/Keysym.java b/java/src/client/window/Keysym.java similarity index 99% rename from java/src/game/window/Keysym.java rename to java/src/client/window/Keysym.java index 0e9ffe8..0660f91 100644 --- a/java/src/game/window/Keysym.java +++ b/java/src/client/window/Keysym.java @@ -1,4 +1,4 @@ -package game.window; +package client.window; import static org.lwjgl.glfw.GLFW.*; diff --git a/java/src/game/window/Wheel.java b/java/src/client/window/Wheel.java similarity index 93% rename from java/src/game/window/Wheel.java rename to java/src/client/window/Wheel.java index fff8d68..50cd5c3 100644 --- a/java/src/game/window/Wheel.java +++ b/java/src/client/window/Wheel.java @@ -1,6 +1,6 @@ -package game.window; +package client.window; -import game.Game; +import client.Game; public enum Wheel implements Input { SCROLL_UP("scrup", "Mausrad aufwärts"), diff --git a/java/src/game/window/Window.java b/java/src/client/window/Window.java similarity index 77% rename from java/src/game/window/Window.java rename to java/src/client/window/Window.java index a3e8d30..5356abe 100644 --- a/java/src/game/window/Window.java +++ b/java/src/client/window/Window.java @@ -1,7 +1,54 @@ -package game.window; +package client.window; import static org.lwjgl.glfw.Callbacks.glfwFreeCallbacks; -import static org.lwjgl.glfw.GLFW.*; +import static org.lwjgl.glfw.GLFW.GLFW_CONTEXT_DEBUG; +import static org.lwjgl.glfw.GLFW.GLFW_CURSOR; +import static org.lwjgl.glfw.GLFW.GLFW_CURSOR_DISABLED; +import static org.lwjgl.glfw.GLFW.GLFW_CURSOR_NORMAL; +import static org.lwjgl.glfw.GLFW.GLFW_DONT_CARE; +import static org.lwjgl.glfw.GLFW.GLFW_FALSE; +import static org.lwjgl.glfw.GLFW.GLFW_PRESS; +import static org.lwjgl.glfw.GLFW.GLFW_RELEASE; +import static org.lwjgl.glfw.GLFW.GLFW_REPEAT; +import static org.lwjgl.glfw.GLFW.GLFW_RESIZABLE; +import static org.lwjgl.glfw.GLFW.GLFW_TRUE; +import static org.lwjgl.glfw.GLFW.GLFW_VISIBLE; +import static org.lwjgl.glfw.GLFW.glfwCreateWindow; +import static org.lwjgl.glfw.GLFW.glfwDefaultWindowHints; +import static org.lwjgl.glfw.GLFW.glfwDestroyWindow; +import static org.lwjgl.glfw.GLFW.glfwGetClipboardString; +import static org.lwjgl.glfw.GLFW.glfwGetKey; +import static org.lwjgl.glfw.GLFW.glfwGetMonitorPos; +import static org.lwjgl.glfw.GLFW.glfwGetPrimaryMonitor; +import static org.lwjgl.glfw.GLFW.glfwGetTimerFrequency; +import static org.lwjgl.glfw.GLFW.glfwGetVideoMode; +import static org.lwjgl.glfw.GLFW.glfwGetVideoModes; +import static org.lwjgl.glfw.GLFW.glfwInit; +import static org.lwjgl.glfw.GLFW.glfwMakeContextCurrent; +import static org.lwjgl.glfw.GLFW.glfwPollEvents; +import static org.lwjgl.glfw.GLFW.glfwSetCharCallback; +import static org.lwjgl.glfw.GLFW.glfwSetClipboardString; +import static org.lwjgl.glfw.GLFW.glfwSetCursorPosCallback; +import static org.lwjgl.glfw.GLFW.glfwSetErrorCallback; +import static org.lwjgl.glfw.GLFW.glfwSetFramebufferSizeCallback; +import static org.lwjgl.glfw.GLFW.glfwSetInputMode; +import static org.lwjgl.glfw.GLFW.glfwSetKeyCallback; +import static org.lwjgl.glfw.GLFW.glfwSetMouseButtonCallback; +import static org.lwjgl.glfw.GLFW.glfwSetScrollCallback; +import static org.lwjgl.glfw.GLFW.glfwSetWindowCloseCallback; +import static org.lwjgl.glfw.GLFW.glfwSetWindowFocusCallback; +import static org.lwjgl.glfw.GLFW.glfwSetWindowIcon; +import static org.lwjgl.glfw.GLFW.glfwSetWindowMonitor; +import static org.lwjgl.glfw.GLFW.glfwSetWindowPos; +import static org.lwjgl.glfw.GLFW.glfwSetWindowPosCallback; +import static org.lwjgl.glfw.GLFW.glfwSetWindowRefreshCallback; +import static org.lwjgl.glfw.GLFW.glfwSetWindowSize; +import static org.lwjgl.glfw.GLFW.glfwSetWindowTitle; +import static org.lwjgl.glfw.GLFW.glfwShowWindow; +import static org.lwjgl.glfw.GLFW.glfwSwapBuffers; +import static org.lwjgl.glfw.GLFW.glfwSwapInterval; +import static org.lwjgl.glfw.GLFW.glfwTerminate; +import static org.lwjgl.glfw.GLFW.glfwWindowHint; import static org.lwjgl.system.MemoryUtil.NULL; import java.util.ArrayList; diff --git a/java/src/game/window/WindowAction.java b/java/src/client/window/WindowAction.java similarity index 84% rename from java/src/game/window/WindowAction.java rename to java/src/client/window/WindowAction.java index e775b65..cdba867 100644 --- a/java/src/game/window/WindowAction.java +++ b/java/src/client/window/WindowAction.java @@ -1,4 +1,4 @@ -package game.window; +package client.window; public enum WindowAction { RESIZE, diff --git a/java/src/game/window/WindowEvent.java b/java/src/client/window/WindowEvent.java similarity index 91% rename from java/src/game/window/WindowEvent.java rename to java/src/client/window/WindowEvent.java index d370a06..294b005 100644 --- a/java/src/game/window/WindowEvent.java +++ b/java/src/client/window/WindowEvent.java @@ -1,4 +1,4 @@ -package game.window; +package client.window; public class WindowEvent { public final WindowAction action; diff --git a/java/src/game/ai/EntityAIAvoidEntity.java b/java/src/game/ai/EntityAIAvoidEntity.java index 79e15c4..8fe4468 100755 --- a/java/src/game/ai/EntityAIAvoidEntity.java +++ b/java/src/game/ai/EntityAIAvoidEntity.java @@ -1,14 +1,13 @@ package game.ai; import java.util.List; - import java.util.function.Predicate; -import game.util.Predicates; import game.entity.Entity; import game.entity.types.EntityLiving; import game.pathfinding.PathEntity; import game.pathfinding.PathNavigate; +import game.util.Predicates; import game.world.Vec3; public class EntityAIAvoidEntity extends EntityAIBase diff --git a/java/src/game/ai/EntityAIEatGrass.java b/java/src/game/ai/EntityAIEatGrass.java index 9886e91..4996966 100755 --- a/java/src/game/ai/EntityAIEatGrass.java +++ b/java/src/game/ai/EntityAIEatGrass.java @@ -1,7 +1,6 @@ package game.ai; import java.util.function.Predicate; -import game.util.Predicates; import game.block.BlockTallGrass; import game.entity.animal.EntitySheep; @@ -9,6 +8,7 @@ import game.init.BlockRegistry; import game.init.Blocks; import game.init.Config; import game.pattern.BlockStateHelper; +import game.util.Predicates; import game.world.BlockPos; import game.world.State; import game.world.World; diff --git a/java/src/game/ai/EntityAIFindEntityNearest.java b/java/src/game/ai/EntityAIFindEntityNearest.java index 99ee83e..5d9af13 100755 --- a/java/src/game/ai/EntityAIFindEntityNearest.java +++ b/java/src/game/ai/EntityAIFindEntityNearest.java @@ -2,7 +2,6 @@ package game.ai; import java.util.Collections; import java.util.List; - import java.util.function.Predicate; import game.entity.attributes.AttributeInstance; diff --git a/java/src/game/ai/EntityAIMate.java b/java/src/game/ai/EntityAIMate.java index cbe3146..ec0c071 100755 --- a/java/src/game/ai/EntityAIMate.java +++ b/java/src/game/ai/EntityAIMate.java @@ -7,7 +7,7 @@ import game.entity.npc.EntityNPC; import game.entity.types.EntityAnimal; import game.entity.types.EntityLiving; import game.init.Config; -import game.renderer.particle.ParticleType; +import game.model.ParticleType; import game.rng.Random; import game.world.World; diff --git a/java/src/game/ai/EntityAIMoveThroughVillage.java b/java/src/game/ai/EntityAIMoveThroughVillage.java index 2085b57..fa7b075 100755 --- a/java/src/game/ai/EntityAIMoveThroughVillage.java +++ b/java/src/game/ai/EntityAIMoveThroughVillage.java @@ -3,7 +3,6 @@ package game.ai; import java.util.List; import game.collect.Lists; - import game.entity.types.EntityLiving; import game.pathfinding.PathEntity; import game.pathfinding.PathNavigateGround; diff --git a/java/src/game/ai/EntityAINearestAttackableTarget.java b/java/src/game/ai/EntityAINearestAttackableTarget.java index 1ffbcf6..3e7ed3b 100755 --- a/java/src/game/ai/EntityAINearestAttackableTarget.java +++ b/java/src/game/ai/EntityAINearestAttackableTarget.java @@ -3,7 +3,6 @@ package game.ai; import java.util.Collections; import java.util.Comparator; import java.util.List; - import java.util.function.Predicate; import game.entity.Entity; diff --git a/java/src/game/ai/EntityAITakePlace.java b/java/src/game/ai/EntityAITakePlace.java index 564c713..597bf01 100755 --- a/java/src/game/ai/EntityAITakePlace.java +++ b/java/src/game/ai/EntityAITakePlace.java @@ -2,9 +2,8 @@ package game.ai; import java.util.Map; -import game.collect.Maps; - import game.block.Block; +import game.collect.Maps; import game.entity.npc.EntityNPC; import game.init.Blocks; import game.init.Config; diff --git a/java/src/game/ai/EntitySenses.java b/java/src/game/ai/EntitySenses.java index e9c257d..245cafb 100755 --- a/java/src/game/ai/EntitySenses.java +++ b/java/src/game/ai/EntitySenses.java @@ -3,7 +3,6 @@ package game.ai; import java.util.List; import game.collect.Lists; - import game.entity.Entity; import game.entity.types.EntityLiving; diff --git a/java/src/game/biome/Biome.java b/java/src/game/biome/Biome.java index b5269e3..b7a60d3 100755 --- a/java/src/game/biome/Biome.java +++ b/java/src/game/biome/Biome.java @@ -3,14 +3,13 @@ package game.biome; import java.util.List; import java.util.Map; -import game.collect.Lists; -import game.collect.Maps; - import game.block.Block; import game.block.BlockColored; import game.block.BlockFlower; import game.block.BlockSand; import game.block.BlockTallGrass; +import game.collect.Lists; +import game.collect.Maps; import game.color.Colorizer; import game.color.DyeColor; import game.entity.animal.EntityBat; diff --git a/java/src/game/block/Block.java b/java/src/game/block/Block.java index 78aab88..16e974a 100755 --- a/java/src/game/block/Block.java +++ b/java/src/game/block/Block.java @@ -9,16 +9,14 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.NoSuchElementException; - import java.util.function.Function; + import game.collect.ImmutableList; import game.collect.ImmutableMap; import game.collect.Iterables; import game.collect.Lists; import game.collect.Maps; import game.collect.UnmodifiableIterator; - -import game.audio.SoundType; import game.enchantment.EnchantmentHelper; import game.entity.Entity; import game.entity.item.EntityItem; @@ -31,10 +29,11 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; +import game.model.Transforms; import game.properties.IProperty; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; import game.rng.Random; import game.tileentity.TileEntity; import game.util.ExtMath; @@ -1427,8 +1426,8 @@ public class Block return Transforms.BLOCK; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock(name).add().all(); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel(name).add().all(); } public IProperty[] getIgnoredProperties() { diff --git a/java/src/game/block/BlockAnvil.java b/java/src/game/block/BlockAnvil.java index ef79ee3..cfca9f7 100755 --- a/java/src/game/block/BlockAnvil.java +++ b/java/src/game/block/BlockAnvil.java @@ -12,12 +12,13 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; +import game.model.Transforms; import game.properties.IProperty; import game.properties.PropertyDirection; import game.properties.PropertyInteger; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; import game.tileentity.IInteractionObject; import game.world.BlockPos; import game.world.Facing; @@ -155,8 +156,8 @@ public class BlockAnvil extends BlockFalling return Transforms.ANVIL; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("anvil_base") + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("anvil_base") .add(2, 0, 2, 14, 4, 14).d().uv(2, 2, 14, 14).rot(180).u().uv(2, 2, 14, 14).rot(180).noCull() .ns().uv(2, 12, 14, 16).noCull().w().uv(0, 2, 4, 14).rot(90).noCull().e().uv(4, 2, 0, 14).rot(270).noCull() .add(4, 4, 3, 12, 5, 13).du().uv(4, 3, 12, 13).rot(180).noCull() diff --git a/java/src/game/block/BlockBanner.java b/java/src/game/block/BlockBanner.java index 4136f50..889a8f0 100755 --- a/java/src/game/block/BlockBanner.java +++ b/java/src/game/block/BlockBanner.java @@ -5,11 +5,11 @@ import game.init.Items; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Transforms; import game.nbt.NBTTagCompound; import game.properties.IProperty; import game.properties.PropertyDirection; import game.properties.PropertyInteger; -import game.renderer.blockmodel.Transforms; import game.rng.Random; import game.tileentity.TileEntity; import game.tileentity.TileEntityBanner; diff --git a/java/src/game/block/BlockBasePressurePlate.java b/java/src/game/block/BlockBasePressurePlate.java index 38057fd..1e60e30 100755 --- a/java/src/game/block/BlockBasePressurePlate.java +++ b/java/src/game/block/BlockBasePressurePlate.java @@ -4,7 +4,8 @@ import game.entity.Entity; import game.init.SoundEvent; import game.item.CheatTab; import game.material.Material; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; @@ -235,9 +236,9 @@ public abstract class BlockBasePressurePlate extends Block return 1; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { if(this.getRedstoneStrength(state) > 0) - return new ModelBlock(this.getTexture()) + return provider.getModel(this.getTexture()) .add(1, 0, 1, 15, 0.5f, 15) .d().uv(1, 1, 15, 15) .u().uv(1, 1, 15, 15).noCull() @@ -246,7 +247,7 @@ public abstract class BlockBasePressurePlate extends Block .w().uv(1, 15.5f, 15, 16).noCull() .e().uv(1, 15.5f, 15, 16).noCull(); else - return new ModelBlock(this.getTexture()) + return provider.getModel(this.getTexture()) .add(1, 0, 1, 15, 1, 15) .d().uv(1, 1, 15, 15) .u().uv(1, 1, 15, 15).noCull() diff --git a/java/src/game/block/BlockBeacon.java b/java/src/game/block/BlockBeacon.java index 000cd97..48bf1a1 100755 --- a/java/src/game/block/BlockBeacon.java +++ b/java/src/game/block/BlockBeacon.java @@ -3,8 +3,9 @@ package game.block; import game.entity.npc.EntityNPC; import game.item.CheatTab; import game.material.Material; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.tileentity.TileEntity; import game.tileentity.TileEntityBeacon; import game.world.BlockPos; @@ -14,7 +15,7 @@ import game.world.World; public class BlockBeacon extends BlockContainer { - private static final ModelBlock beacon = new ModelBlock("glass").noOcclude() + private static final Model beacon = ModelProvider.getModelProvider().getModel("glass").noOcclude() .add(0, 0, 0, 16, 16, 16) .d().uv(0, 0, 16, 16).noCull() .u().uv(0, 0, 16, 16).noCull() @@ -131,7 +132,7 @@ public class BlockBeacon extends BlockContainer return BlockLayer.CUTOUT; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { return beacon; } } diff --git a/java/src/game/block/BlockBed.java b/java/src/game/block/BlockBed.java index bfb2ac0..9ed32a2 100755 --- a/java/src/game/block/BlockBed.java +++ b/java/src/game/block/BlockBed.java @@ -6,13 +6,14 @@ import game.entity.npc.EntityNPC; import game.init.ItemRegistry; import game.item.Item; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyEnum; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; +import game.util.Identifyable; import game.world.BlockPos; import game.world.Facing; import game.world.IWorldAccess; @@ -21,7 +22,7 @@ import game.world.World; import game.world.WorldPos; public class BlockBed extends BlockDirectional { - public static enum EnumPartType implements IStringSerializable { + public static enum EnumPartType implements Identifyable { HEAD("head"), FOOT("foot"); private final String name; @@ -189,15 +190,15 @@ public class BlockBed extends BlockDirectional { return new IProperty[] {FACING, PART}; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { if(state.getValue(PART) == EnumPartType.HEAD) - return new ModelBlock(this.color + "_bed_head_top").add(0, 0, 0, 16, 9, 16) + return provider.getModel(this.color + "_bed_head_top").add(0, 0, 0, 16, 9, 16) .u().rot(90).noCull().s(this.color + "_bed_head_end").noCull() .w(this.color + "_bed_head_side").uv(0, 7, 16, 16).noCull().e(this.color + "_bed_head_side").uv(16, 7, 0, 16).noCull() .add(0, 3, 0, 16, 3, 16) .d("oak_planks").noCull().rotate(ModelRotation.getNorthRot(state.getValue(FACING).getOpposite())); else - return new ModelBlock(this.color + "_bed_foot_top").add(0, 0, 0, 16, 9, 16) + return provider.getModel(this.color + "_bed_foot_top").add(0, 0, 0, 16, 9, 16) .u().rot(90).noCull().n(this.color + "_bed_foot_end").noCull() .w(this.color + "_bed_foot_side").uv(0, 7, 16, 16).noCull().e(this.color + "_bed_foot_side").uv(16, 7, 0, 16).noCull() .add(0, 3, 0, 16, 3, 16) diff --git a/java/src/game/block/BlockBedrock.java b/java/src/game/block/BlockBedrock.java index c5abe11..42c60eb 100755 --- a/java/src/game/block/BlockBedrock.java +++ b/java/src/game/block/BlockBedrock.java @@ -1,7 +1,7 @@ package game.block; import game.material.Material; -import game.renderer.particle.ParticleType; +import game.model.ParticleType; import game.rng.Random; import game.world.BlockPos; import game.world.State; diff --git a/java/src/game/block/BlockBlackenedSoil.java b/java/src/game/block/BlockBlackenedSoil.java index 7b3026a..d1427ba 100644 --- a/java/src/game/block/BlockBlackenedSoil.java +++ b/java/src/game/block/BlockBlackenedSoil.java @@ -5,7 +5,8 @@ import game.init.Config; import game.item.CheatTab; import game.item.Item; import game.material.Material; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; import game.rng.Random; import game.world.BlockPos; import game.world.State; @@ -48,7 +49,7 @@ public class BlockBlackenedSoil extends Block return Blocks.blackened_dirt.getItemDropped(Blocks.blackened_dirt.getState(), rand, fortune); } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("blackened_dirt").add().d().u("blackened_soil_top").nswe("blackened_soil_side"); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("blackened_dirt").add().d().u("blackened_soil_top").nswe("blackened_soil_side"); } } diff --git a/java/src/game/block/BlockBlueShroom.java b/java/src/game/block/BlockBlueShroom.java index ff95349..d8b7ffe 100755 --- a/java/src/game/block/BlockBlueShroom.java +++ b/java/src/game/block/BlockBlueShroom.java @@ -2,7 +2,8 @@ package game.block; import game.init.Blocks; import game.init.Config; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; import game.rng.Random; import game.world.BlockPos; import game.world.State; @@ -80,7 +81,7 @@ public class BlockBlueShroom extends BlockBush } } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("blue_mushroom").cross(); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("blue_mushroom").cross(); } } diff --git a/java/src/game/block/BlockBookshelf.java b/java/src/game/block/BlockBookshelf.java index bd4761a..7d871f4 100755 --- a/java/src/game/block/BlockBookshelf.java +++ b/java/src/game/block/BlockBookshelf.java @@ -4,7 +4,8 @@ import game.init.Items; import game.item.CheatTab; import game.item.Item; import game.material.Material; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; import game.rng.Random; import game.world.State; @@ -32,7 +33,7 @@ public class BlockBookshelf extends Block return Items.book; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("bookshelf").add().nswe().du("oak_planks"); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("bookshelf").add().nswe().du("oak_planks"); } } diff --git a/java/src/game/block/BlockBrewingStand.java b/java/src/game/block/BlockBrewingStand.java index 7fafe33..5a51b4b 100755 --- a/java/src/game/block/BlockBrewingStand.java +++ b/java/src/game/block/BlockBrewingStand.java @@ -11,11 +11,12 @@ import game.inventory.InventoryHelper; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; +import game.model.ParticleType; import game.properties.IProperty; import game.properties.PropertyBool; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.particle.ParticleType; import game.rng.Random; import game.tileentity.TileEntity; import game.tileentity.TileEntityBrewingStand; @@ -29,7 +30,7 @@ import game.world.WorldServer; public class BlockBrewingStand extends BlockContainer { - private static final ModelBlock brewing_stand_bottles_2 = new ModelBlock("brewing_stand") + private static final Model brewing_stand_bottles_2 = ModelProvider.getModelProvider().getModel("brewing_stand") .add(7, 0, 7, 9, 14, 9) .d().uv(7, 7, 9, 9).noCull() .u().uv(7, 7, 9, 9).noCull() @@ -68,7 +69,7 @@ public class BlockBrewingStand extends BlockContainer .n().uv(8, 0, 0, 16).noCull() .s().uv(0, 0, 8, 16).noCull() ; - private static final ModelBlock brewing_stand_bottles_123 = new ModelBlock("brewing_stand") + private static final Model brewing_stand_bottles_123 = ModelProvider.getModelProvider().getModel("brewing_stand") .add(7, 0, 7, 9, 14, 9) .d().uv(7, 7, 9, 9).noCull() .u().uv(7, 7, 9, 9).noCull() @@ -107,7 +108,7 @@ public class BlockBrewingStand extends BlockContainer .n().uv(8, 0, 0, 16).noCull() .s().uv(0, 0, 8, 16).noCull() ; - private static final ModelBlock brewing_stand_empty = new ModelBlock("brewing_stand") + private static final Model brewing_stand_empty = ModelProvider.getModelProvider().getModel("brewing_stand") .add(7, 0, 7, 9, 14, 9) .d().uv(7, 7, 9, 9).noCull() .u().uv(7, 7, 9, 9).noCull() @@ -146,7 +147,7 @@ public class BlockBrewingStand extends BlockContainer .n().uv(8, 0, 16, 16).noCull() .s().uv(16, 0, 8, 16).noCull() ; - private static final ModelBlock brewing_stand_bottles_3 = new ModelBlock("brewing_stand") + private static final Model brewing_stand_bottles_3 = ModelProvider.getModelProvider().getModel("brewing_stand") .add(7, 0, 7, 9, 14, 9) .d().uv(7, 7, 9, 9).noCull() .u().uv(7, 7, 9, 9).noCull() @@ -185,7 +186,7 @@ public class BlockBrewingStand extends BlockContainer .n().uv(8, 0, 16, 16).noCull() .s().uv(16, 0, 8, 16).noCull() ; - private static final ModelBlock brewing_stand_bottles_13 = new ModelBlock("brewing_stand") + private static final Model brewing_stand_bottles_13 = ModelProvider.getModelProvider().getModel("brewing_stand") .add(7, 0, 7, 9, 14, 9) .d().uv(7, 7, 9, 9).noCull() .u().uv(7, 7, 9, 9).noCull() @@ -224,7 +225,7 @@ public class BlockBrewingStand extends BlockContainer .n().uv(8, 0, 16, 16).noCull() .s().uv(16, 0, 8, 16).noCull() ; - private static final ModelBlock brewing_stand_bottles_12 = new ModelBlock("brewing_stand") + private static final Model brewing_stand_bottles_12 = ModelProvider.getModelProvider().getModel("brewing_stand") .add(7, 0, 7, 9, 14, 9) .d().uv(7, 7, 9, 9).noCull() .u().uv(7, 7, 9, 9).noCull() @@ -263,7 +264,7 @@ public class BlockBrewingStand extends BlockContainer .n().uv(8, 0, 0, 16).noCull() .s().uv(0, 0, 8, 16).noCull() ; - private static final ModelBlock brewing_stand_bottles_23 = new ModelBlock("brewing_stand") + private static final Model brewing_stand_bottles_23 = ModelProvider.getModelProvider().getModel("brewing_stand") .add(7, 0, 7, 9, 14, 9) .d().uv(7, 7, 9, 9).noCull() .u().uv(7, 7, 9, 9).noCull() @@ -302,7 +303,7 @@ public class BlockBrewingStand extends BlockContainer .n().uv(8, 0, 0, 16).noCull() .s().uv(0, 0, 8, 16).noCull() ; - private static final ModelBlock brewing_stand_bottles_1 = new ModelBlock("brewing_stand") + private static final Model brewing_stand_bottles_1 = ModelProvider.getModelProvider().getModel("brewing_stand") .add(7, 0, 7, 9, 14, 9) .d().uv(7, 7, 9, 9).noCull() .u().uv(7, 7, 9, 9).noCull() @@ -341,7 +342,7 @@ public class BlockBrewingStand extends BlockContainer .n().uv(8, 0, 16, 16).noCull() .s().uv(16, 0, 8, 16).noCull() ; - private static final ModelBlock[] brewing_stand_bottles = new ModelBlock[] { + private static final Model[] brewing_stand_bottles = new Model[] { brewing_stand_empty, brewing_stand_bottles_1, brewing_stand_bottles_2, brewing_stand_bottles_12, brewing_stand_bottles_3, brewing_stand_bottles_13, brewing_stand_bottles_23, brewing_stand_bottles_123 }; @@ -536,7 +537,7 @@ public class BlockBrewingStand extends BlockContainer return true; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { return brewing_stand_bottles[(state.getValue(HAS_BOTTLE[0]) ? 1 : 0) | (state.getValue(HAS_BOTTLE[1]) ? 2 : 0) | (state.getValue(HAS_BOTTLE[2]) ? 4 : 0)]; } diff --git a/java/src/game/block/BlockBush.java b/java/src/game/block/BlockBush.java index a24495d..efc7592 100755 --- a/java/src/game/block/BlockBush.java +++ b/java/src/game/block/BlockBush.java @@ -3,7 +3,7 @@ package game.block; import game.init.Blocks; import game.item.CheatTab; import game.material.Material; -import game.renderer.BlockLayer; +import game.model.BlockLayer; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; diff --git a/java/src/game/block/BlockButton.java b/java/src/game/block/BlockButton.java index f98c869..982d1a6 100755 --- a/java/src/game/block/BlockButton.java +++ b/java/src/game/block/BlockButton.java @@ -3,7 +3,6 @@ package game.block; import java.util.List; import game.collect.Lists; - import game.entity.Entity; import game.entity.npc.EntityNPC; import game.entity.projectile.EntityArrow; @@ -11,12 +10,13 @@ import game.entity.types.EntityLiving; import game.init.SoundEvent; import game.item.CheatTab; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; +import game.model.Transforms; import game.properties.IProperty; import game.properties.PropertyBool; import game.properties.PropertyDirection; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; @@ -428,9 +428,9 @@ public class BlockButton extends Block return this.texture; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { boolean pressed = state.getValue(POWERED); - return new ModelBlock(this.texture).add(5, 0, 6, 11, pressed ? 1 : 2, 10) + return provider.getModel(this.texture).add(5, 0, 6, 11, pressed ? 1 : 2, 10) .d().uv(5, 6, 11, 10).u().uv(5, 10, 11, 6).noCull() .ns().uv(5, pressed ? 15 : 14, 11, 16).noCull().we().uv(6, pressed ? 15 : 14, 10, 16).noCull() .rotate(getRotation(state.getValue(FACING))); diff --git a/java/src/game/block/BlockCactus.java b/java/src/game/block/BlockCactus.java index 1ab1259..fa0cf2a 100755 --- a/java/src/game/block/BlockCactus.java +++ b/java/src/game/block/BlockCactus.java @@ -6,10 +6,11 @@ import game.init.Blocks; import game.init.Config; import game.item.CheatTab; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyInteger; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; @@ -20,7 +21,7 @@ import game.world.WorldServer; public class BlockCactus extends Block { - private static final ModelBlock cactus = new ModelBlock("cactus_side").noOcclude() + private static final Model cactus = ModelProvider.getModelProvider().getModel("cactus_side").noOcclude() .add(0, 0, 0, 16, 16, 16) .d("cactus_bottom").uv(0, 0, 16, 16) .u("cactus_top").uv(0, 0, 16, 16) @@ -164,7 +165,7 @@ public class BlockCactus extends Block return new IProperty[] {AGE}; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { return cactus; } diff --git a/java/src/game/block/BlockCake.java b/java/src/game/block/BlockCake.java index c71cee1..bf8995d 100755 --- a/java/src/game/block/BlockCake.java +++ b/java/src/game/block/BlockCake.java @@ -4,10 +4,11 @@ import game.entity.npc.EntityNPC; import game.init.Items; import game.item.Item; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyInteger; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; @@ -18,7 +19,7 @@ import game.world.World; public class BlockCake extends Block { - private static final ModelBlock cake_slice3 = new ModelBlock("cake_side") + private static final Model cake_slice3 = ModelProvider.getModelProvider().getModel("cake_side") .add(7, 0, 1, 15, 8, 15) .d("cake_bottom").uv(7, 1, 15, 15) .u("cake_top").uv(7, 1, 15, 15).noCull() @@ -27,7 +28,7 @@ public class BlockCake extends Block .w("cake_inner").uv(1, 8, 15, 16).noCull() .e().uv(1, 8, 15, 16).noCull() ; - private static final ModelBlock cake_slice1 = new ModelBlock("cake_side") + private static final Model cake_slice1 = ModelProvider.getModelProvider().getModel("cake_side") .add(3, 0, 1, 15, 8, 15) .d("cake_bottom").uv(3, 1, 15, 15) .u("cake_top").uv(3, 1, 15, 15).noCull() @@ -36,7 +37,7 @@ public class BlockCake extends Block .w("cake_inner").uv(1, 8, 15, 16).noCull() .e().uv(1, 8, 15, 16).noCull() ; - private static final ModelBlock cake_slice2 = new ModelBlock("cake_side") + private static final Model cake_slice2 = ModelProvider.getModelProvider().getModel("cake_side") .add(5, 0, 1, 15, 8, 15) .d("cake_bottom").uv(5, 1, 15, 15) .u("cake_top").uv(5, 1, 15, 15).noCull() @@ -45,7 +46,7 @@ public class BlockCake extends Block .w("cake_inner").uv(1, 8, 15, 16).noCull() .e().uv(1, 8, 15, 16).noCull() ; - private static final ModelBlock cake_slice5 = new ModelBlock("cake_side") + private static final Model cake_slice5 = ModelProvider.getModelProvider().getModel("cake_side") .add(11, 0, 1, 15, 8, 15) .d("cake_bottom").uv(11, 1, 15, 15) .u("cake_top").uv(11, 1, 15, 15).noCull() @@ -54,7 +55,7 @@ public class BlockCake extends Block .w("cake_inner").uv(1, 8, 15, 16).noCull() .e().uv(1, 8, 15, 16).noCull() ; - private static final ModelBlock cake_slice4 = new ModelBlock("cake_side") + private static final Model cake_slice4 = ModelProvider.getModelProvider().getModel("cake_side") .add(9, 0, 1, 15, 8, 15) .d("cake_bottom").uv(9, 1, 15, 15) .u("cake_top").uv(9, 1, 15, 15).noCull() @@ -63,7 +64,7 @@ public class BlockCake extends Block .w("cake_inner").uv(1, 8, 15, 16).noCull() .e().uv(1, 8, 15, 16).noCull() ; - private static final ModelBlock cake_uneaten = new ModelBlock("cake_side") + private static final Model cake_uneaten = ModelProvider.getModelProvider().getModel("cake_side") .add(1, 0, 1, 15, 8, 15) .d("cake_bottom").uv(1, 1, 15, 15) .u("cake_top").uv(1, 1, 15, 15).noCull() @@ -72,7 +73,7 @@ public class BlockCake extends Block .w().uv(1, 8, 15, 16).noCull() .e().uv(1, 8, 15, 16).noCull() ; - private static final ModelBlock cake_slice6 = new ModelBlock("cake_side") + private static final Model cake_slice6 = ModelProvider.getModelProvider().getModel("cake_side") .add(13, 0, 1, 15, 8, 15) .d("cake_bottom").uv(13, 1, 15, 15) .u("cake_top").uv(13, 1, 15, 15).noCull() @@ -81,8 +82,8 @@ public class BlockCake extends Block .w("cake_inner").uv(1, 8, 15, 16).noCull() .e().uv(1, 8, 15, 16).noCull() ; - private static final ModelBlock[] cake_slices = - new ModelBlock[] {cake_uneaten, cake_slice1, cake_slice2, cake_slice3, cake_slice4, cake_slice5, cake_slice6}; + private static final Model[] cake_slices = + new Model[] {cake_uneaten, cake_slice1, cake_slice2, cake_slice3, cake_slice4, cake_slice5, cake_slice6}; public static final PropertyInteger BITES = PropertyInteger.create("bites", 0, 6); @@ -241,7 +242,7 @@ public class BlockCake extends Block return true; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { return cake_slices[state.getValue(BITES)]; } } diff --git a/java/src/game/block/BlockCarpet.java b/java/src/game/block/BlockCarpet.java index a5a7c00..a54cc4d 100755 --- a/java/src/game/block/BlockCarpet.java +++ b/java/src/game/block/BlockCarpet.java @@ -7,10 +7,11 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; +import game.model.Transforms; import game.properties.IProperty; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; import game.world.BlockPos; import game.world.Facing; import game.world.IWorldAccess; @@ -154,7 +155,7 @@ public class BlockCarpet extends Block return Transforms.LAYER; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock(state.getValue(COLOR).getName() + "_wool").add(0, 0, 0, 16, 1, 16).nswe().uv(0, 15, 16, 16).d().u().noCull(); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel(state.getValue(COLOR).getName() + "_wool").add(0, 0, 0, 16, 1, 16).nswe().uv(0, 15, 16, 16).d().u().noCull(); } } diff --git a/java/src/game/block/BlockCarrot.java b/java/src/game/block/BlockCarrot.java index 0339480..54088e8 100755 --- a/java/src/game/block/BlockCarrot.java +++ b/java/src/game/block/BlockCarrot.java @@ -2,7 +2,8 @@ package game.block; import game.init.Items; import game.item.Item; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; import game.world.State; public class BlockCarrot extends BlockCrops @@ -17,8 +18,8 @@ public class BlockCarrot extends BlockCrops return Items.carrot; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { int age = state.getValue(AGE); - return crop(name + "_" + (age == 6 ? 2 : (age / 2))); + return crop(provider, name + "_" + (age == 6 ? 2 : (age / 2))); } } diff --git a/java/src/game/block/BlockCauldron.java b/java/src/game/block/BlockCauldron.java index aa8d2c6..37296d8 100755 --- a/java/src/game/block/BlockCauldron.java +++ b/java/src/game/block/BlockCauldron.java @@ -13,9 +13,10 @@ import game.item.ItemArmor; import game.item.ItemBanner; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyInteger; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.tileentity.TileEntityBanner; import game.util.ExtMath; @@ -27,7 +28,7 @@ import game.world.World; public class BlockCauldron extends Block { - private static final ModelBlock cauldron_empty = new ModelBlock("cauldron_side").noOcclude() + private static final Model cauldron_empty = ModelProvider.getModelProvider().getModel("cauldron_side").noOcclude() .add(0, 3, 0, 2, 16, 16) .d("cauldron_inner").uv(0, 0, 2, 16) .u("cauldron_top").uv(0, 0, 2, 16) @@ -120,7 +121,7 @@ public class BlockCauldron extends Block .w().uv(14, 13, 12, 16).noCull() .e().uv(14, 13, 12, 16).noCull() ; - private static final ModelBlock cauldron_level1 = new ModelBlock("cauldron_side").noOcclude() + private static final Model cauldron_level1 = ModelProvider.getModelProvider().getModel("cauldron_side").noOcclude() .add(0, 3, 0, 2, 16, 16) .d("cauldron_inner").uv(0, 0, 2, 16) .u("cauldron_top").uv(0, 0, 2, 16) @@ -215,7 +216,7 @@ public class BlockCauldron extends Block .add(2, 9, 2, 14, 9, 14) .u("water_still").uv(2, 2, 14, 14).noCull() ; - private static final ModelBlock cauldron_level2 = new ModelBlock("cauldron_side").noOcclude() + private static final Model cauldron_level2 = ModelProvider.getModelProvider().getModel("cauldron_side").noOcclude() .add(0, 3, 0, 2, 16, 16) .d("cauldron_inner").uv(0, 0, 2, 16) .u("cauldron_top").uv(0, 0, 2, 16) @@ -310,7 +311,7 @@ public class BlockCauldron extends Block .add(2, 12, 2, 14, 12, 14) .u("water_still").uv(2, 2, 14, 14).noCull() ; - private static final ModelBlock cauldron_level3 = new ModelBlock("cauldron_side").noOcclude() + private static final Model cauldron_level3 = ModelProvider.getModelProvider().getModel("cauldron_side").noOcclude() .add(0, 3, 0, 2, 16, 16) .d("cauldron_inner").uv(0, 0, 2, 16) .u("cauldron_top").uv(0, 0, 2, 16) @@ -405,8 +406,8 @@ public class BlockCauldron extends Block .add(2, 15, 2, 14, 15, 14) .u("water_still").uv(2, 2, 14, 14).noCull() ; - private static final ModelBlock[] cauldron_levels = - new ModelBlock[] {cauldron_empty, cauldron_level1, cauldron_level2, cauldron_level3}; + private static final Model[] cauldron_levels = + new Model[] {cauldron_empty, cauldron_level1, cauldron_level2, cauldron_level3}; public static final PropertyInteger LEVEL = PropertyInteger.create("level", 0, 3); @@ -666,7 +667,7 @@ public class BlockCauldron extends Block return true; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { return cauldron_levels[state.getValue(LEVEL)]; } } diff --git a/java/src/game/block/BlockCocoa.java b/java/src/game/block/BlockCocoa.java index d24cbe3..0f24db0 100755 --- a/java/src/game/block/BlockCocoa.java +++ b/java/src/game/block/BlockCocoa.java @@ -8,11 +8,12 @@ import game.init.Items; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; import game.properties.PropertyInteger; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; @@ -230,11 +231,11 @@ public class BlockCocoa extends BlockDirectional implements IGrowable return new IProperty[] {FACING, AGE}; } - public ModelBlock getModel(String name, State state) { - ModelBlock model; + public Model getModel(ModelProvider provider, String name, State state) { + Model model; switch(state.getValue(AGE)) { case 0: - model = new ModelBlock("cocoa_0").noOcclude() + model = provider.getModel("cocoa_0").noOcclude() .add(6, 7, 11, 10, 12, 15) .d().uv(0, 0, 4, 4).noCull() .u().uv(0, 0, 4, 4).noCull() @@ -247,7 +248,7 @@ public class BlockCocoa extends BlockDirectional implements IGrowable .e().uv(16, 0, 12, 4).noCull(); break; case 1: - model = new ModelBlock("cocoa_1").noOcclude() + model = provider.getModel("cocoa_1").noOcclude() .add(5, 5, 9, 11, 12, 15) .d().uv(0, 0, 6, 6).noCull() .u().uv(0, 0, 6, 6).noCull() @@ -261,7 +262,7 @@ public class BlockCocoa extends BlockDirectional implements IGrowable break; case 2: default: - model = new ModelBlock("cocoa_2").noOcclude() + model = provider.getModel("cocoa_2").noOcclude() .add(4, 3, 7, 12, 12, 15) .d().uv(0, 0, 7, 7).noCull() .u().uv(0, 0, 7, 7).noCull() diff --git a/java/src/game/block/BlockColored.java b/java/src/game/block/BlockColored.java index 3b3aafc..9aee9e4 100755 --- a/java/src/game/block/BlockColored.java +++ b/java/src/game/block/BlockColored.java @@ -7,9 +7,10 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; import game.world.State; public class BlockColored extends Block @@ -72,7 +73,7 @@ public class BlockColored extends Block return new IProperty[] {COLOR}; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock(state.getValue(COLOR).getName() + "_" + name).add().all(); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel(state.getValue(COLOR).getName() + "_" + name).add().all(); } } diff --git a/java/src/game/block/BlockCrops.java b/java/src/game/block/BlockCrops.java index 9b5d17a..cb052a9 100755 --- a/java/src/game/block/BlockCrops.java +++ b/java/src/game/block/BlockCrops.java @@ -1,15 +1,15 @@ package game.block; -import game.audio.SoundType; import game.init.Blocks; import game.init.Config; import game.init.Items; import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyInteger; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.BlockPos; import game.world.State; @@ -220,12 +220,12 @@ public class BlockCrops extends BlockBush implements IGrowable return new IProperty[] {AGE}; } - public ModelBlock getModel(String name, State state) { - return crop(name + "_" + state.getValue(AGE)); + public Model getModel(ModelProvider provider, String name, State state) { + return crop(provider, name + "_" + state.getValue(AGE)); } - public static ModelBlock crop(String crop) { - return new ModelBlock(crop).noOcclude() + public static Model crop(ModelProvider provider, String crop) { + return provider.getModel(crop).noOcclude() .add(4, -1, 0, 4, 15, 16).noShade() .w().uv(0, 0, 16, 16).noCull() .e().uv(0, 0, 16, 16).noCull() diff --git a/java/src/game/block/BlockDaylightDetector.java b/java/src/game/block/BlockDaylightDetector.java index ca7d156..5ce1ee7 100755 --- a/java/src/game/block/BlockDaylightDetector.java +++ b/java/src/game/block/BlockDaylightDetector.java @@ -2,7 +2,6 @@ package game.block; import java.util.List; -import game.audio.SoundType; import game.entity.npc.EntityNPC; import game.init.Blocks; import game.init.ItemRegistry; @@ -10,10 +9,11 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; +import game.model.Transforms; import game.properties.IProperty; import game.properties.PropertyInteger; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; import game.rng.Random; import game.tileentity.TileEntity; import game.tileentity.TileEntityDaylightDetector; @@ -193,8 +193,8 @@ public class BlockDaylightDetector extends BlockContainer return Transforms.FLAT; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock(this.inverted ? "daylight_detector_inverted_top" : "daylight_detector_top") + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel(this.inverted ? "daylight_detector_inverted_top" : "daylight_detector_top") .add(0, 0, 0, 16, 6, 16) .d("daylight_detector_side").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() diff --git a/java/src/game/block/BlockDeadBush.java b/java/src/game/block/BlockDeadBush.java index 1cfc441..0badc17 100755 --- a/java/src/game/block/BlockDeadBush.java +++ b/java/src/game/block/BlockDeadBush.java @@ -7,7 +7,8 @@ import game.item.Item; import game.item.ItemShears; import game.item.ItemStack; import game.material.Material; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; import game.rng.Random; import game.tileentity.TileEntity; import game.world.BlockPos; @@ -68,7 +69,7 @@ public class BlockDeadBush extends BlockBush } } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("deadbush").cross(); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("deadbush").cross(); } } diff --git a/java/src/game/block/BlockDirt.java b/java/src/game/block/BlockDirt.java index f77e481..159bbda 100755 --- a/java/src/game/block/BlockDirt.java +++ b/java/src/game/block/BlockDirt.java @@ -7,11 +7,12 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyBool; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; +import game.util.Identifyable; import game.world.BlockPos; import game.world.IWorldAccess; import game.world.State; @@ -108,20 +109,20 @@ public class BlockDirt extends Block return blockdirt$dirttype.getMetadata(); } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { switch(state.getValue(VARIANT)) { case DIRT: default: - return new ModelBlock("dirt").add().all(); + return provider.getModel("dirt").add().all(); case COARSE_DIRT: - return new ModelBlock("coarse_dirt").add().all(); + return provider.getModel("coarse_dirt").add().all(); case PODZOL: - return state.getValue(SNOWY) ? new ModelBlock("grass_side_snowed").add().nswe().d("dirt").u("grass_top") : - new ModelBlock("dirt_podzol_side").add().nswe().d("dirt").u("dirt_podzol_top"); + return state.getValue(SNOWY) ? provider.getModel("grass_side_snowed").add().nswe().d("dirt").u("grass_top") : + provider.getModel("dirt_podzol_side").add().nswe().d("dirt").u("dirt_podzol_top"); } } - public static enum DirtType implements IStringSerializable + public static enum DirtType implements Identifyable { DIRT(0, "dirt", "Erde"), COARSE_DIRT(1, "coarse_dirt", "Grobe Erde"), diff --git a/java/src/game/block/BlockDispenser.java b/java/src/game/block/BlockDispenser.java index 2cce3ee..f4f6e51 100755 --- a/java/src/game/block/BlockDispenser.java +++ b/java/src/game/block/BlockDispenser.java @@ -15,11 +15,12 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; import game.properties.PropertyBool; import game.properties.PropertyDirection; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.tileentity.TileEntity; import game.tileentity.TileEntityDispenser; @@ -306,12 +307,12 @@ public class BlockDispenser extends BlockContainer return true; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { if(state.getValue(FACING) == Facing.DOWN || state.getValue(FACING) == Facing.UP) - return new ModelBlock("furnace_top").add().dnswe().u(name + "_front_vertical") + return provider.getModel("furnace_top").add().dnswe().u(name + "_front_vertical") .rotate(state.getValue(FACING) == Facing.DOWN ? ModelRotation.X180_Y0 : ModelRotation.X0_Y0); else - return new ModelBlock(name + "_front_horizontal").add().du("furnace_top").n() + return provider.getModel(name + "_front_horizontal").add().du("furnace_top").n() .s("furnace_side").we("furnace_side").rotate(ModelRotation.getNorthRot(state.getValue(FACING))); } diff --git a/java/src/game/block/BlockDoor.java b/java/src/game/block/BlockDoor.java index 64f33c7..8addee0 100755 --- a/java/src/game/block/BlockDoor.java +++ b/java/src/game/block/BlockDoor.java @@ -3,21 +3,21 @@ package game.block; import java.util.List; import game.collect.Lists; - import game.entity.npc.EntityNPC; import game.init.Blocks; import game.init.Items; import game.item.Item; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyBool; import game.properties.PropertyDirection; import game.properties.PropertyEnum; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; +import game.util.Identifyable; import game.world.BlockPos; import game.world.BoundingBox; import game.world.Facing; @@ -454,12 +454,12 @@ public class BlockDoor extends Block return ModelRotation.getEastRot(Facing.getHorizontal(rot.getHorizontalIndex() + offset), false); } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { String bottom = name + "_bottom"; String top = name + "_top"; if(state.getValue(HALF) == EnumDoorHalf.LOWER) { if(state.getValue(HINGE) == EnumHingePosition.LEFT == state.getValue(OPEN)) - return new ModelBlock(bottom).noOcclude() + return provider.getModel(bottom).noOcclude() .add(0, 0, 0, 3, 16, 16) .d().uv(13, 0, 16, 16) .n().uv(3, 0, 0, 16) @@ -468,7 +468,7 @@ public class BlockDoor extends Block .e().uv(0, 0, 16, 16).noCull() .rotate(getRotation(state.getValue(FACING), state.getValue(OPEN) ? 1 : 0)); else - return new ModelBlock(bottom).noOcclude() + return provider.getModel(bottom).noOcclude() .add(0, 0, 0, 3, 16, 16) .d().uv(13, 0, 16, 16) .n().uv(3, 0, 0, 16) @@ -479,7 +479,7 @@ public class BlockDoor extends Block } else { if(state.getValue(HINGE) == EnumHingePosition.LEFT == state.getValue(OPEN)) - return new ModelBlock(top).noOcclude() + return provider.getModel(top).noOcclude() .add(0, 0, 0, 3, 16, 16) .u(bottom).uv(13, 0, 16, 16) .n().uv(3, 0, 0, 16) @@ -488,7 +488,7 @@ public class BlockDoor extends Block .e().uv(0, 0, 16, 16).noCull() .rotate(getRotation(state.getValue(FACING), state.getValue(OPEN) ? 1 : 0)); else - return new ModelBlock(top).noOcclude() + return provider.getModel(top).noOcclude() .add(0, 0, 0, 3, 16, 16) .u(bottom).uv(13, 0, 16, 16) .n().uv(3, 0, 0, 16) @@ -503,7 +503,7 @@ public class BlockDoor extends Block return new IProperty[] {POWERED}; } - public static enum EnumDoorHalf implements IStringSerializable + public static enum EnumDoorHalf implements Identifyable { UPPER, LOWER; @@ -519,7 +519,7 @@ public class BlockDoor extends Block } } - public static enum EnumHingePosition implements IStringSerializable + public static enum EnumHingePosition implements Identifyable { LEFT, RIGHT; diff --git a/java/src/game/block/BlockDoublePlant.java b/java/src/game/block/BlockDoublePlant.java index a54fe1f..ce68511 100755 --- a/java/src/game/block/BlockDoublePlant.java +++ b/java/src/game/block/BlockDoublePlant.java @@ -2,7 +2,6 @@ package game.block; import java.util.List; -import game.audio.SoundType; import game.color.Colorizer; import game.entity.npc.EntityNPC; import game.entity.types.EntityLiving; @@ -15,12 +14,13 @@ import game.item.Item; import game.item.ItemShears; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.tileentity.TileEntity; +import game.util.Identifyable; import game.world.BlockPos; import game.world.Facing; import game.world.Facing.Axis; @@ -345,9 +345,9 @@ public class BlockDoublePlant extends BlockBush implements IGrowable // return EnumOffsetType.XZ; // } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { if(state.getValue(VARIANT) == EnumPlantType.SUNFLOWER && state.getValue(HALF) == EnumBlockHalf.UPPER) - return new ModelBlock("sunflower_front").noOcclude() + return provider.getModel("sunflower_front").noOcclude() .add(0.8f, 0f, 8f, 15.2f, 8f, 8f).noShade().rotate(8, 8, 8, Axis.Y, 45, true).ns("sunflower_top") .uv(0, 8, 16, 16).noCull() .add(8f, 0f, 0.8f, 8f, 8f, 15.2f).noShade().rotate(8, 8, 8, Axis.Y, 45, true).we("sunflower_top") @@ -355,10 +355,10 @@ public class BlockDoublePlant extends BlockBush implements IGrowable .add(9.6f, -1f, 1f, 9.6f, 15f, 15f).noShade().rotate(8, 8, 8, Axis.Z, 22.5f, true).w("sunflower_back") .uv(0, 0, 16, 16).noCull().e().uv(0, 0, 16, 16).noCull(); else if(state.getValue(VARIANT) == EnumPlantType.FERN || state.getValue(VARIANT) == EnumPlantType.GRASS) - return new ModelBlock(state.getValue(VARIANT).getName() + "_" + (state.getValue(HALF) == EnumBlockHalf.UPPER + return provider.getModel(state.getValue(VARIANT).getName() + "_" + (state.getValue(HALF) == EnumBlockHalf.UPPER ? "top" : "bottom")).crossTint(); else - return new ModelBlock(state.getValue(VARIANT).getName() + "_" + (state.getValue(HALF) == EnumBlockHalf.UPPER + return provider.getModel(state.getValue(VARIANT).getName() + "_" + (state.getValue(HALF) == EnumBlockHalf.UPPER ? "top" : "bottom")).cross(); } @@ -366,7 +366,7 @@ public class BlockDoublePlant extends BlockBush implements IGrowable return new IProperty[] {FACING}; } - public static enum EnumBlockHalf implements IStringSerializable + public static enum EnumBlockHalf implements Identifyable { UPPER, LOWER; @@ -382,7 +382,7 @@ public class BlockDoublePlant extends BlockBush implements IGrowable } } - public static enum EnumPlantType implements IStringSerializable + public static enum EnumPlantType implements Identifyable { SUNFLOWER(0, "sunflower", "Sonnenblume"), SYRINGA(1, "syringa", "Flieder"), diff --git a/java/src/game/block/BlockDragonEgg.java b/java/src/game/block/BlockDragonEgg.java index 057e2b6..e343fa7 100755 --- a/java/src/game/block/BlockDragonEgg.java +++ b/java/src/game/block/BlockDragonEgg.java @@ -4,8 +4,9 @@ import game.entity.item.EntityFalling; import game.entity.npc.EntityNPC; import game.init.Config; import game.material.Material; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.particle.ParticleType; +import game.model.Model; +import game.model.ModelProvider; +import game.model.ParticleType; import game.rng.Random; import game.world.BlockPos; import game.world.Facing; @@ -16,7 +17,7 @@ import game.world.WorldServer; public class BlockDragonEgg extends Block { - private static final ModelBlock dragon_egg = new ModelBlock("dragon_egg").noOcclude() + private static final Model dragon_egg = ModelProvider.getModelProvider().getModel("dragon_egg").noOcclude() .add(6, 15, 6, 10, 16, 10) .d().uv(6, 6, 10, 10).noCull() .u().uv(6, 6, 10, 10).noCull() @@ -211,7 +212,7 @@ public class BlockDragonEgg extends Block // return null; // } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { return dragon_egg; } } diff --git a/java/src/game/block/BlockDryLeaves.java b/java/src/game/block/BlockDryLeaves.java index 532086e..2cfd685 100755 --- a/java/src/game/block/BlockDryLeaves.java +++ b/java/src/game/block/BlockDryLeaves.java @@ -1,6 +1,5 @@ package game.block; -import game.audio.SoundType; import game.init.Items; import game.item.CheatTab; import game.item.Item; diff --git a/java/src/game/block/BlockEnchantmentTable.java b/java/src/game/block/BlockEnchantmentTable.java index 161c254..1f0bd32 100755 --- a/java/src/game/block/BlockEnchantmentTable.java +++ b/java/src/game/block/BlockEnchantmentTable.java @@ -6,8 +6,9 @@ import game.init.Blocks; import game.item.CheatTab; import game.item.ItemStack; import game.material.Material; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.particle.ParticleType; +import game.model.Model; +import game.model.ModelProvider; +import game.model.ParticleType; import game.rng.Random; import game.tileentity.TileEntity; import game.tileentity.TileEntityEnchantmentTable; @@ -19,7 +20,7 @@ import game.world.WorldClient; public class BlockEnchantmentTable extends BlockContainer { - private static final ModelBlock enchanting_table_base = new ModelBlock("enchanting_table_bottom") + private static final Model enchanting_table_base = ModelProvider.getModelProvider().getModel("enchanting_table_bottom") .add(0, 0, 0, 16, 12, 16) .d().uv(0, 0, 16, 16) .u("enchanting_table_top").uv(0, 0, 16, 16).noCull() @@ -137,7 +138,7 @@ public class BlockEnchantmentTable extends BlockContainer } } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { return enchanting_table_base; } } diff --git a/java/src/game/block/BlockFarmland.java b/java/src/game/block/BlockFarmland.java index a3c476c..1885e73 100755 --- a/java/src/game/block/BlockFarmland.java +++ b/java/src/game/block/BlockFarmland.java @@ -7,9 +7,10 @@ import game.init.Config; import game.init.ItemRegistry; import game.item.Item; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyInteger; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; @@ -175,7 +176,7 @@ public class BlockFarmland extends Block return new IProperty[] {MOISTURE}; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("dirt").add(0, 0, 0, 16, 15, 16).dnswe().u("farmland_" + state.getValue(MOISTURE)).noCull(); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("dirt").add(0, 0, 0, 16, 15, 16).dnswe().u("farmland_" + state.getValue(MOISTURE)).noCull(); } } diff --git a/java/src/game/block/BlockFence.java b/java/src/game/block/BlockFence.java index 8b8530a..715bfcc 100755 --- a/java/src/game/block/BlockFence.java +++ b/java/src/game/block/BlockFence.java @@ -3,17 +3,17 @@ package game.block; import java.util.List; import game.collect.Lists; - import game.entity.Entity; import game.entity.npc.EntityNPC; import game.item.CheatTab; import game.item.ItemLead; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; +import game.model.Transforms; import game.properties.IProperty; import game.properties.PropertyBool; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; import game.world.BlockPos; import game.world.BoundingBox; import game.world.Facing; @@ -208,14 +208,14 @@ public class BlockFence extends Block return this.texture; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { boolean n = state.getValue(NORTH); boolean s = state.getValue(SOUTH); boolean w = state.getValue(WEST); boolean e = state.getValue(EAST); int sides = (n ? 1 : 0) + (s ? 1 : 0) + (w ? 1 : 0) + (e ? 1 : 0); if(sides == 0) - return new ModelBlock(this.texture) + return provider.getModel(this.texture) .add(6, 0, 6, 10, 16, 10) .d().uv(6, 6, 10, 10) .u().uv(6, 6, 10, 10) @@ -224,7 +224,7 @@ public class BlockFence extends Block .w().uv(6, 0, 10, 16).noCull() .e().uv(6, 0, 10, 16).noCull(); else if(sides == 4) - return new ModelBlock(this.texture).uvLock() + return provider.getModel(this.texture).uvLock() .add(6, 0, 6, 10, 16, 10) .d().uv(6, 6, 10, 10) .u().uv(6, 6, 10, 10) @@ -261,7 +261,7 @@ public class BlockFence extends Block .w().uv(7, 7, 9, 10) .e().uv(7, 7, 9, 10); else if(sides == 1) - return new ModelBlock(this.texture).uvLock() + return provider.getModel(this.texture).uvLock() .add(6, 0, 6, 10, 16, 10) .d().uv(6, 6, 10, 10) .u().uv(6, 6, 10, 10) @@ -283,7 +283,7 @@ public class BlockFence extends Block .e().uv(0, 7, 9, 10).noCull() .rotate(n ? ModelRotation.X0_Y0 : (s ? ModelRotation.X0_Y180 : (w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else if(sides == 2 && ((e != w) || (n != s))) - return new ModelBlock(this.texture).uvLock() + return provider.getModel(this.texture).uvLock() .add(6, 0, 6, 10, 16, 10) .d().uv(6, 6, 10, 10) .u().uv(6, 6, 10, 10) @@ -318,7 +318,7 @@ public class BlockFence extends Block .rotate(n && e ? ModelRotation.X0_Y0 : (s && w ? ModelRotation.X0_Y180 : (n && w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else if(sides == 2) - return new ModelBlock(this.texture).uvLock() + return provider.getModel(this.texture).uvLock() .add(6, 0, 6, 10, 16, 10) .d().uv(6, 6, 10, 10) .u().uv(6, 6, 10, 10) @@ -342,7 +342,7 @@ public class BlockFence extends Block .e().uv(0, 7, 16, 10).noCull() .rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90); else - return new ModelBlock(this.texture).uvLock() + return provider.getModel(this.texture).uvLock() .add(6, 0, 6, 10, 16, 10) .d().uv(6, 6, 10, 10) .u().uv(6, 6, 10, 10) diff --git a/java/src/game/block/BlockFenceGate.java b/java/src/game/block/BlockFenceGate.java index ffc78cb..1d5d2a1 100755 --- a/java/src/game/block/BlockFenceGate.java +++ b/java/src/game/block/BlockFenceGate.java @@ -6,11 +6,12 @@ import game.init.Blocks; import game.init.WoodType; import game.item.CheatTab; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; +import game.model.Transforms; import game.properties.IProperty; import game.properties.PropertyBool; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; import game.world.BlockPos; import game.world.BoundingBox; import game.world.Facing; @@ -206,8 +207,8 @@ public class BlockFenceGate extends BlockDirectional return Transforms.GATE; } - public ModelBlock getModel(String name, State state) { - return (state.getValue(IN_WALL) ? (state.getValue(OPEN) ? new ModelBlock(this.texture).noOcclude().uvLock() + public Model getModel(ModelProvider provider, String name, State state) { + return (state.getValue(IN_WALL) ? (state.getValue(OPEN) ? provider.getModel(this.texture).noOcclude().uvLock() .add(0, 2, 7, 2, 13, 9) .d().uv(0, 7, 2, 9).noCull() .u().uv(0, 7, 2, 9).noCull() @@ -255,7 +256,7 @@ public class BlockFenceGate extends BlockDirectional .d().uv(14, 9, 16, 13).noCull() .u().uv(14, 9, 16, 13).noCull() .w().uv(13, 1, 15, 4).noCull() - .e().uv(13, 1, 15, 4).noCull() : new ModelBlock(this.texture).noOcclude().uvLock() + .e().uv(13, 1, 15, 4).noCull() : provider.getModel(this.texture).noOcclude().uvLock() .add(0, 2, 7, 2, 13, 9) .d().uv(0, 7, 2, 9).noCull() .u().uv(0, 7, 2, 9).noCull() @@ -303,7 +304,7 @@ public class BlockFenceGate extends BlockDirectional .d().uv(10, 7, 14, 9).noCull() .u().uv(10, 7, 14, 9).noCull() .n().uv(10, 1, 14, 4).noCull() - .s().uv(10, 1, 14, 4).noCull()) : (state.getValue(OPEN) ? new ModelBlock(this.texture).uvLock() + .s().uv(10, 1, 14, 4).noCull()) : (state.getValue(OPEN) ? provider.getModel(this.texture).uvLock() .add(0, 5, 7, 2, 16, 9) .d().uv(0, 7, 2, 9).noCull() .u().uv(0, 7, 2, 9).noCull() @@ -351,7 +352,7 @@ public class BlockFenceGate extends BlockDirectional .d().uv(14, 9, 16, 13).noCull() .u().uv(14, 9, 16, 13).noCull() .w().uv(13, 1, 15, 4).noCull() - .e().uv(13, 1, 15, 4).noCull() : new ModelBlock(this.texture).uvLock() + .e().uv(13, 1, 15, 4).noCull() : provider.getModel(this.texture).uvLock() .add(0, 5, 7, 2, 16, 9) .d().uv(0, 7, 2, 9).noCull() .u().uv(0, 7, 2, 9).noCull() diff --git a/java/src/game/block/BlockFire.java b/java/src/game/block/BlockFire.java index f517e84..da5f8ed 100755 --- a/java/src/game/block/BlockFire.java +++ b/java/src/game/block/BlockFire.java @@ -2,21 +2,21 @@ package game.block; import java.util.Map; +import client.renderer.ticked.TextureFlamesFX1; +import client.renderer.ticked.TextureFlamesFX2; import game.collect.Maps; - import game.init.Blocks; import game.init.Config; import game.init.SoundEvent; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; +import game.model.ParticleType; import game.properties.IProperty; import game.properties.PropertyBool; import game.properties.PropertyInteger; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.particle.ParticleType; -import game.renderer.ticked.TextureFlamesFX1; -import game.renderer.ticked.TextureFlamesFX2; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; @@ -478,8 +478,8 @@ public class BlockFire extends Block return new IProperty[] {AGE, NORTH, EAST, SOUTH, WEST, UPPER, FLIP, ALT}; } - private static ModelBlock fire_nsu2_flip(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nsu2_flip(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(16, 0, 0, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -493,8 +493,8 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .d().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_nu1(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nu1(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(0, 0, 16, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -504,8 +504,8 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .d().uv(0, 0, 16, 16).rot(90).noCull(); } - private static ModelBlock fire_nseu2_flip(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nseu2_flip(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(16, 0, 0, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -523,8 +523,8 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .d().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_neu1_flip(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_neu1_flip(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(16, 0, 0, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -538,8 +538,8 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .d().uv(0, 0, 16, 16).rot(90).noCull(); } - private static ModelBlock fire_nsu2(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nsu2(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(0, 0, 16, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -553,8 +553,8 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .d().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_nu2_flip(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nu2_flip(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(16, 0, 0, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -564,8 +564,8 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .d().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_neu2_flip(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_neu2_flip(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(16, 0, 0, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -579,8 +579,8 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .d().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_nsewu2_flip(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nsewu2_flip(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(16, 0, 0, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -602,8 +602,8 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .d().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_nsewu2(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nsewu2(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(0, 0, 16, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -625,8 +625,8 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .d().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_nsew(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nsew(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(0, 0, 16, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -644,8 +644,8 @@ public class BlockFire extends Block .add(15.99f, 1, 0, 0.01f, 23.4f, 16).noShade() .w().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_floor(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_floor(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 0, 8.8f, 16, 22.4f, 8.8f).noShade().rotate(8, 8, 8, Facing.Axis.X, -22.5f, true) .s().uv(0, 0, 16, 16).noCull() .add(0, 0, 7.2f, 16, 22.4f, 7.2f).noShade().rotate(8, 8, 8, Facing.Axis.X, 22.5f, true) @@ -663,22 +663,22 @@ public class BlockFire extends Block .add(15.99f, 0, 0, 15.99f, 22.4f, 16).noShade() .e().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_u1(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_u1(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 16, 0, 16, 16, 16).noShade().rotate(16, 16, 8, Facing.Axis.Z, 22.5f, true) .d().uv(0, 0, 16, 16).rot(270).noCull() .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .d().uv(0, 0, 16, 16).rot(90).noCull(); } - private static ModelBlock fire_n_flip(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_n_flip(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(16, 0, 0, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .n().uv(16, 0, 0, 16).noCull(); } - private static ModelBlock fire_ne(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_ne(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(0, 0, 16, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -688,8 +688,8 @@ public class BlockFire extends Block .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() .w().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_nsew_flip(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nsew_flip(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(16, 0, 0, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -707,8 +707,8 @@ public class BlockFire extends Block .add(15.99f, 1, 0, 0.01f, 23.4f, 16).noShade() .w().uv(16, 0, 0, 16).noCull(); } - private static ModelBlock fire_nse(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nse(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(0, 0, 16, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -722,8 +722,8 @@ public class BlockFire extends Block .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() .w().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_nse_flip(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nse_flip(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(16, 0, 0, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -737,8 +737,8 @@ public class BlockFire extends Block .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() .w().uv(16, 0, 0, 16).noCull(); } - private static ModelBlock fire_nsu1_flip(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nsu1_flip(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(16, 0, 0, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -752,15 +752,15 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .d().uv(0, 0, 16, 16).rot(90).noCull(); } - private static ModelBlock fire_n(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_n(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(0, 0, 16, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .n().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_ns(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_ns(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(0, 0, 16, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -770,8 +770,8 @@ public class BlockFire extends Block .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() .n().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_neu1(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_neu1(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(0, 0, 16, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -785,15 +785,15 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .d().uv(0, 0, 16, 16).rot(90).noCull(); } - private static ModelBlock fire_u2(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_u2(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 16, Facing.Axis.X, -22.5f, true) .d().uv(0, 0, 16, 16).rot(180).noCull() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .d().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_nseu2(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nseu2(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(0, 0, 16, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -811,8 +811,8 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .d().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_neu2(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_neu2(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(0, 0, 16, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -826,8 +826,8 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .d().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_nu2(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nu2(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(0, 0, 16, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -837,8 +837,8 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .d().uv(0, 0, 16, 16).noCull(); } - private static ModelBlock fire_nseu1(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nseu1(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(0, 0, 16, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -856,8 +856,8 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .d().uv(0, 0, 16, 16).rot(90).noCull(); } - private static ModelBlock fire_ns_flip(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_ns_flip(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(16, 0, 0, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -867,8 +867,8 @@ public class BlockFire extends Block .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() .n().uv(16, 0, 0, 16).noCull(); } - private static ModelBlock fire_nsewu1(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nsewu1(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(0, 0, 16, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -890,8 +890,8 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .d().uv(0, 0, 16, 16).rot(90).noCull(); } - private static ModelBlock fire_nsu1(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nsu1(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(0, 0, 16, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -905,8 +905,8 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .d().uv(0, 0, 16, 16).rot(90).noCull(); } - private static ModelBlock fire_nsewu1_flip(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nsewu1_flip(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(16, 0, 0, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -928,8 +928,8 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .d().uv(0, 0, 16, 16).rot(90).noCull(); } - private static ModelBlock fire_ne_flip(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_ne_flip(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(16, 0, 0, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -939,8 +939,8 @@ public class BlockFire extends Block .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() .w().uv(16, 0, 0, 16).noCull(); } - private static ModelBlock fire_nseu1_flip(String fire) { - return new ModelBlock(fire).noOcclude() + private static Model fire_nseu1_flip(String fire) { + return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .s().uv(16, 0, 0, 16).noCull() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() @@ -958,7 +958,7 @@ public class BlockFire extends Block .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .d().uv(0, 0, 16, 16).rot(90).noCull(); } - private static ModelBlock getFireModel(boolean alt, boolean flip, int upper, boolean n, boolean s, boolean w, boolean e) { + private static Model getFireModel(boolean alt, boolean flip, int upper, boolean n, boolean s, boolean w, boolean e) { String tex = alt ? "fire_layer_1" : "fire_layer_0"; if(!e && !flip && !n && !s && upper == 0 && !w) return fire_floor(tex); @@ -1156,7 +1156,7 @@ public class BlockFire extends Block return fire_floor(tex); } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { return getFireModel(state.getValue(ALT), state.getValue(FLIP), state.getValue(UPPER), state.getValue(NORTH), state.getValue(SOUTH), state.getValue(WEST), state.getValue(EAST)); } diff --git a/java/src/game/block/BlockFloorPortal.java b/java/src/game/block/BlockFloorPortal.java index 4eb4c3f..acc7dfb 100755 --- a/java/src/game/block/BlockFloorPortal.java +++ b/java/src/game/block/BlockFloorPortal.java @@ -5,12 +5,12 @@ import java.util.Map; import java.util.Set; import game.collect.Sets; - import game.entity.Entity; import game.item.Item; import game.material.Material; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.particle.ParticleType; +import game.model.Model; +import game.model.ModelProvider; +import game.model.ParticleType; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; @@ -22,7 +22,7 @@ import game.world.WorldClient; public class BlockFloorPortal extends Block { - private static final ModelBlock floor_portal = new ModelBlock("floor_portal") + private static final Model floor_portal = ModelProvider.getModelProvider().getModel("floor_portal") .add(0, 11, 0, 16, 12, 16).du().uv(0, 0, 16, 16).noCull().nswe().uv(0, 0, 16, 1); public BlockFloorPortal(Material materialIn) @@ -146,7 +146,7 @@ public class BlockFloorPortal extends Block return true; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { return floor_portal; } diff --git a/java/src/game/block/BlockFlower.java b/java/src/game/block/BlockFlower.java index 7479965..fff920c 100755 --- a/java/src/game/block/BlockFlower.java +++ b/java/src/game/block/BlockFlower.java @@ -2,21 +2,21 @@ package game.block; import java.util.Collection; import java.util.List; - import java.util.function.Predicate; + import game.collect.Filter; import game.collect.Lists; - import game.init.Blocks; import game.init.Config; import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; +import game.util.Identifyable; import game.world.BlockPos; import game.world.State; import game.world.WorldServer; @@ -119,11 +119,11 @@ public abstract class BlockFlower extends BlockBush } } - public ModelBlock getModel(String name, State state) { - return new ModelBlock(state.getValue(this.type).getName()).cross(); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel(state.getValue(this.type).getName()).cross(); } - public static enum EnumFlowerType implements IStringSerializable + public static enum EnumFlowerType implements Identifyable { DANDELION(BlockFlower.EnumFlowerColor.BASE, 0, "dandelion", "Löwenzahn"), ROSE(BlockFlower.EnumFlowerColor.BASE, 1, "rose", "Rose"), diff --git a/java/src/game/block/BlockFlowerPot.java b/java/src/game/block/BlockFlowerPot.java index 46dfb09..852df5b 100755 --- a/java/src/game/block/BlockFlowerPot.java +++ b/java/src/game/block/BlockFlowerPot.java @@ -8,10 +8,11 @@ import game.item.Item; import game.item.ItemBlock; import game.item.ItemStack; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyInteger; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.BlockPos; import game.world.Facing; @@ -21,7 +22,7 @@ import game.world.WorldServer; public class BlockFlowerPot extends Block // Container { - private static final ModelBlock flower_pot_cactus = new ModelBlock("flower_pot").noOcclude() + private static final Model flower_pot_cactus = ModelProvider.getModelProvider().getModel("flower_pot").noOcclude() .add(5, 0, 5, 6, 6, 11) .d().uv(5, 5, 6, 11) .u().uv(5, 5, 6, 11).noCull() @@ -66,7 +67,7 @@ public class BlockFlowerPot extends Block // Container .w("cactus_side").uv(6, 0, 10, 4).noCull() .e("cactus_side").uv(6, 0, 10, 4).noCull() ; - private static final ModelBlock flower_pot = new ModelBlock("flower_pot").noOcclude() + private static final Model flower_pot = ModelProvider.getModelProvider().getModel("flower_pot").noOcclude() .add(5, 0, 5, 6, 6, 11) .d().uv(5, 5, 6, 11) .u().uv(5, 5, 6, 11).noCull() @@ -344,7 +345,7 @@ public class BlockFlowerPot extends Block // Container return BlockLayer.CUTOUT; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { switch(state.getValue(CONTENTS)) { case 0: return flower_pot; @@ -354,7 +355,7 @@ public class BlockFlowerPot extends Block // Container // return flower_pot_fern; default: String plant = BlockFlower.EnumFlowerType.getType(BlockFlower.EnumFlowerColor.BASE, state.getValue(CONTENTS) - 2).getName().toLowerCase(); - return new ModelBlock("flower_pot").noOcclude() + return provider.getModel("flower_pot").noOcclude() .add(5, 0, 5, 6, 6, 11) .d().uv(5, 5, 6, 11) .u().uv(5, 5, 6, 11).noCull() diff --git a/java/src/game/block/BlockFurnace.java b/java/src/game/block/BlockFurnace.java index 5dfdb9b..1e89482 100755 --- a/java/src/game/block/BlockFurnace.java +++ b/java/src/game/block/BlockFurnace.java @@ -9,11 +9,12 @@ import game.inventory.InventoryHelper; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; +import game.model.ParticleType; import game.properties.IProperty; import game.properties.PropertyDirection; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.particle.ParticleType; import game.rng.Random; import game.tileentity.TileEntity; import game.tileentity.TileEntityFurnace; @@ -273,8 +274,8 @@ public class BlockFurnace extends BlockContainer return new IProperty[] {FACING}; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("furnace_side").add().du("furnace_top").n("furnace_front_" + (this.isBurning ? "on" : "off")) + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("furnace_side").add().du("furnace_top").n("furnace_front_" + (this.isBurning ? "on" : "off")) .s().we().rotate(ModelRotation.getNorthRot(state.getValue(FACING))); } } diff --git a/java/src/game/block/BlockGlass.java b/java/src/game/block/BlockGlass.java index 2d0a22a..4445d66 100755 --- a/java/src/game/block/BlockGlass.java +++ b/java/src/game/block/BlockGlass.java @@ -2,7 +2,7 @@ package game.block; import game.item.CheatTab; import game.material.Material; -import game.renderer.BlockLayer; +import game.model.BlockLayer; import game.rng.Random; public class BlockGlass extends BlockBreakable diff --git a/java/src/game/block/BlockGrass.java b/java/src/game/block/BlockGrass.java index f360442..39cd89c 100755 --- a/java/src/game/block/BlockGrass.java +++ b/java/src/game/block/BlockGrass.java @@ -6,10 +6,11 @@ import game.init.Config; import game.item.CheatTab; import game.item.Item; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyBool; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.BlockPos; import game.world.IWorldAccess; @@ -180,11 +181,11 @@ public class BlockGrass extends Block implements IGrowable return new IProperty[] {SNOWY}; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { if(state.getValue(SNOWY)) - return new ModelBlock("grass_side_snowed").add().nswe().d("dirt").u("grass_top"); + return provider.getModel("grass_side_snowed").add().nswe().d("dirt").u("grass_top"); else - return new ModelBlock("dirt").add().d().u("grass_top").tint().nswe("grass_side") + return provider.getModel("dirt").add().d().u("grass_top").tint().nswe("grass_side") .add().nswe("grass_side_overlay").tint(); } } diff --git a/java/src/game/block/BlockHopper.java b/java/src/game/block/BlockHopper.java index 6b3c0f7..6d4fd33 100755 --- a/java/src/game/block/BlockHopper.java +++ b/java/src/game/block/BlockHopper.java @@ -1,7 +1,6 @@ package game.block; import java.util.List; - import java.util.function.Predicate; import game.entity.Entity; @@ -12,12 +11,13 @@ import game.inventory.InventoryHelper; import game.item.CheatTab; import game.item.ItemStack; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; import game.properties.PropertyBool; import game.properties.PropertyDirection; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; import game.tileentity.TileEntity; import game.tileentity.TileEntityHopper; import game.world.BlockPos; @@ -30,7 +30,7 @@ import game.world.WorldServer; public class BlockHopper extends BlockContainer { - private static final ModelBlock hopper_down = new ModelBlock("hopper_outside").noOcclude() + private static final Model hopper_down = ModelProvider.getModelProvider().getModel("hopper_outside").noOcclude() .add(0, 10, 0, 16, 11, 16) .d().uv(0, 0, 16, 16).noCull() .u("hopper_inside").uv(0, 0, 16, 16).noCull() @@ -309,8 +309,8 @@ public class BlockHopper extends BlockContainer return true; } - public ModelBlock getModel(String name, State state) { - return state.getValue(FACING) == Facing.DOWN ? hopper_down : new ModelBlock("hopper_outside").noOcclude() + public Model getModel(ModelProvider provider, String name, State state) { + return state.getValue(FACING) == Facing.DOWN ? hopper_down : provider.getModel("hopper_outside").noOcclude() .add(0, 10, 0, 16, 11, 16) .d().uv(0, 0, 16, 16).noCull() .u("hopper_inside").uv(0, 0, 16, 16).noCull() diff --git a/java/src/game/block/BlockHugeMushroom.java b/java/src/game/block/BlockHugeMushroom.java index 6926cf6..ba36f71 100755 --- a/java/src/game/block/BlockHugeMushroom.java +++ b/java/src/game/block/BlockHugeMushroom.java @@ -4,11 +4,12 @@ import game.entity.types.EntityLiving; import game.init.ItemRegistry; import game.item.Item; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; +import game.util.Identifyable; import game.world.BlockPos; import game.world.Facing; import game.world.State; @@ -98,48 +99,48 @@ public class BlockHugeMushroom extends Block return new IProperty[] {VARIANT}; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { switch(state.getValue(VARIANT)) { case ALL_INSIDE: - return new ModelBlock(name + "_inside").add().all(); + return provider.getModel(name + "_inside").add().all(); case ALL_OUTSIDE: default: - return new ModelBlock(name + "_cap").add().all(); + return provider.getModel(name + "_cap").add().all(); case ALL_STEM: - return new ModelBlock(name + "_stem").add().all(); + return provider.getModel(name + "_stem").add().all(); case STEM: - return new ModelBlock(name + "_stem").add().nswe().du(name + "_inside"); + return provider.getModel(name + "_stem").add().nswe().du(name + "_inside"); case CENTER: - return new ModelBlock(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_inside").s(name + "_inside") + return provider.getModel(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_inside").s(name + "_inside") .w(name + "_inside").e(name + "_inside"); case EAST: - return new ModelBlock(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_inside").s(name + "_inside") + return provider.getModel(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_inside").s(name + "_inside") .w(name + "_inside").e(name + "_cap"); case NORTH_EAST: - return new ModelBlock(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_cap").s(name + "_inside") + return provider.getModel(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_cap").s(name + "_inside") .w(name + "_inside").e(name + "_cap"); case NORTH: - return new ModelBlock(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_cap").s(name + "_inside") + return provider.getModel(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_cap").s(name + "_inside") .w(name + "_inside").e(name + "_inside"); case NORTH_WEST: - return new ModelBlock(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_cap").s(name + "_inside") + return provider.getModel(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_cap").s(name + "_inside") .w(name + "_cap").e(name + "_inside"); case SOUTH_EAST: - return new ModelBlock(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_inside").s(name + "_cap") + return provider.getModel(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_inside").s(name + "_cap") .w(name + "_inside").e(name + "_cap"); case SOUTH: - return new ModelBlock(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_inside").s(name + "_cap") + return provider.getModel(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_inside").s(name + "_cap") .w(name + "_inside").e(name + "_inside"); case SOUTH_WEST: - return new ModelBlock(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_inside").s(name + "_cap") + return provider.getModel(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_inside").s(name + "_cap") .w(name + "_cap").e(name + "_inside"); case WEST: - return new ModelBlock(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_inside").s(name + "_inside") + return provider.getModel(name + "_inside").add().d(name + "_inside").u(name + "_cap").n(name + "_inside").s(name + "_inside") .w(name + "_cap").e(name + "_inside"); } } - public static enum EnumType implements IStringSerializable + public static enum EnumType implements Identifyable { NORTH_WEST(1, "north_west"), NORTH(2, "north"), diff --git a/java/src/game/block/BlockIce.java b/java/src/game/block/BlockIce.java index 805124d..565104a 100755 --- a/java/src/game/block/BlockIce.java +++ b/java/src/game/block/BlockIce.java @@ -7,7 +7,7 @@ import game.init.Config; import game.item.CheatTab; import game.item.ItemStack; import game.material.Material; -import game.renderer.BlockLayer; +import game.model.BlockLayer; import game.rng.Random; import game.tileentity.TileEntity; import game.world.BlockPos; diff --git a/java/src/game/block/BlockJukebox.java b/java/src/game/block/BlockJukebox.java index ae45af8..839ae8e 100755 --- a/java/src/game/block/BlockJukebox.java +++ b/java/src/game/block/BlockJukebox.java @@ -4,7 +4,8 @@ import game.entity.npc.EntityNPC; import game.init.SoundEvent; import game.item.CheatTab; import game.material.Material; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; import game.world.BlockPos; import game.world.Facing; import game.world.State; @@ -22,7 +23,7 @@ public class BlockJukebox extends Block { return true; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("jukebox_side").add().dnswe().u("jukebox_top"); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("jukebox_side").add().dnswe().u("jukebox_top"); } } diff --git a/java/src/game/block/BlockLadder.java b/java/src/game/block/BlockLadder.java index b29c387..3c8df92 100755 --- a/java/src/game/block/BlockLadder.java +++ b/java/src/game/block/BlockLadder.java @@ -3,11 +3,12 @@ package game.block; import game.entity.types.EntityLiving; import game.item.CheatTab; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; import game.properties.PropertyDirection; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; import game.world.BlockPos; import game.world.BoundingBox; import game.world.Facing; @@ -163,8 +164,8 @@ public class BlockLadder extends Block return new IProperty[] {FACING}; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("ladder").noOcclude() + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("ladder").noOcclude() .add(0, 0, 15.2f, 16, 16, 15.2f).noShade() .n().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull() diff --git a/java/src/game/block/BlockLeaves.java b/java/src/game/block/BlockLeaves.java index 96a20bf..d37c901 100755 --- a/java/src/game/block/BlockLeaves.java +++ b/java/src/game/block/BlockLeaves.java @@ -3,8 +3,6 @@ package game.block; import java.util.List; import game.collect.Lists; - -import game.audio.SoundType; import game.color.Colorizer; import game.entity.npc.EntityNPC; import game.init.Blocks; @@ -16,11 +14,12 @@ import game.item.Item; import game.item.ItemShears; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; +import game.model.ParticleType; import game.properties.IProperty; import game.properties.PropertyBool; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.particle.ParticleType; import game.rng.Random; import game.tileentity.TileEntity; import game.world.BlockPos; @@ -349,9 +348,9 @@ public class BlockLeaves extends BlockLeavesBase } } - public ModelBlock getModel(String name, State state) { - return state.getValue(TYPE).isTinted() ? new ModelBlock(name + "_" + state.getValue(TYPE).getName()).add().all().tint() : - new ModelBlock(name + "_" + state.getValue(TYPE).getName()).add().all(); + public Model getModel(ModelProvider provider, String name, State state) { + return state.getValue(TYPE).isTinted() ? provider.getModel(name + "_" + state.getValue(TYPE).getName()).add().all().tint() : + provider.getModel(name + "_" + state.getValue(TYPE).getName()).add().all(); } public IProperty[] getIgnoredProperties() { diff --git a/java/src/game/block/BlockLeavesBase.java b/java/src/game/block/BlockLeavesBase.java index 6dfe938..e9b871d 100755 --- a/java/src/game/block/BlockLeavesBase.java +++ b/java/src/game/block/BlockLeavesBase.java @@ -1,7 +1,7 @@ package game.block; import game.material.Material; -import game.renderer.BlockLayer; +import game.model.BlockLayer; public class BlockLeavesBase extends Block { diff --git a/java/src/game/block/BlockLever.java b/java/src/game/block/BlockLever.java index 369457c..0592a0d 100755 --- a/java/src/game/block/BlockLever.java +++ b/java/src/game/block/BlockLever.java @@ -5,12 +5,13 @@ import game.entity.types.EntityLiving; import game.init.SoundEvent; import game.item.CheatTab; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyBool; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; +import game.util.Identifyable; import game.world.BlockPos; import game.world.BoundingBox; import game.world.Facing; @@ -295,8 +296,8 @@ public class BlockLever extends Block } } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("cobblestone").noOcclude() + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("cobblestone").noOcclude() .add(5, 0, 4, 11, 3, 12) .d().uv(5, 4, 11, 12).noCull() .u().uv(5, 4, 11, 12).noCull() @@ -314,7 +315,7 @@ public class BlockLever extends Block .rotate(getRotation(state.getValue(FACING))); } - public static enum EnumOrientation implements IStringSerializable + public static enum EnumOrientation implements Identifyable { DOWN_X(0, "down_x", Facing.DOWN), EAST(1, "east", Facing.EAST), diff --git a/java/src/game/block/BlockLilyPad.java b/java/src/game/block/BlockLilyPad.java index d7d04d9..1e67c54 100755 --- a/java/src/game/block/BlockLilyPad.java +++ b/java/src/game/block/BlockLilyPad.java @@ -7,9 +7,10 @@ import game.entity.item.EntityBoat; import game.entity.types.EntityLiving; import game.init.Blocks; import game.item.CheatTab; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; -import game.renderer.blockmodel.ModelBlock; import game.world.BlockPos; import game.world.BoundingBox; import game.world.Facing; @@ -100,8 +101,8 @@ public class BlockLilyPad extends BlockBush return this.getState().withProperty(BlockDirectional.FACING, placer.getHorizontalFacing().getOpposite()); } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("waterlily").noOcclude() + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("waterlily").noOcclude() .add(0, 0.25f, 0, 16, 0.25f, 16) .d().uv(16, 16, 0, 0).tint().noCull() .u().uv(16, 0, 0, 16).tint().noCull() diff --git a/java/src/game/block/BlockLiquid.java b/java/src/game/block/BlockLiquid.java index 6a2b1e7..940ffd7 100755 --- a/java/src/game/block/BlockLiquid.java +++ b/java/src/game/block/BlockLiquid.java @@ -8,10 +8,10 @@ import game.init.FluidRegistry; import game.init.SoundEvent; import game.item.Item; import game.material.Material; +import game.model.BlockLayer; +import game.model.ParticleType; import game.properties.IProperty; import game.properties.PropertyInteger; -import game.renderer.BlockLayer; -import game.renderer.particle.ParticleType; import game.rng.Random; import game.util.ExtMath; import game.world.BlockPos; diff --git a/java/src/game/block/BlockLog.java b/java/src/game/block/BlockLog.java index 8a1ee73..c3de107 100755 --- a/java/src/game/block/BlockLog.java +++ b/java/src/game/block/BlockLog.java @@ -1,14 +1,14 @@ package game.block; -import game.audio.SoundType; import game.entity.types.EntityLiving; import game.item.CheatTab; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; +import game.util.Identifyable; import game.world.BlockPos; import game.world.Facing; import game.world.State; @@ -56,21 +56,21 @@ public class BlockLog extends BlockRotatedPillar return super.onBlockPlaced(worldIn, pos, facing, hitX, hitY, hitZ, meta, placer).withProperty(LOG_AXIS, BlockLog.EnumAxis.fromFacingAxis(facing.getAxis())); } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { switch(state.getValue(LOG_AXIS)) { case X: - return new ModelBlock(name + "_bark").add().d().rot(180).u() + return provider.getModel(name + "_bark").add().d().rot(180).u() .n(name + "_top").rot(180).s(name + "_top").w().rot(270) .e().rot(90).rotate(ModelRotation.X0_Y90); case Y: default: - return new ModelBlock(name + "_bark").add().nswe().du(name + "_top"); + return provider.getModel(name + "_bark").add().nswe().du(name + "_top"); case Z: - return new ModelBlock(name + "_bark").add().d().rot(180).u() + return provider.getModel(name + "_bark").add().d().rot(180).u() .n(name + "_top").rot(180).s(name + "_top").w().rot(270) .e().rot(90); case NONE: - return new ModelBlock(name + "_bark").add().all(); + return provider.getModel(name + "_bark").add().all(); } } @@ -131,7 +131,7 @@ public class BlockLog extends BlockRotatedPillar return new IProperty[] {LOG_AXIS}; } - public static enum EnumAxis implements IStringSerializable + public static enum EnumAxis implements Identifyable { X("x", Facing.Axis.X), Y("y", Facing.Axis.Y), diff --git a/java/src/game/block/BlockMelon.java b/java/src/game/block/BlockMelon.java index 1095cba..6ce8e2d 100755 --- a/java/src/game/block/BlockMelon.java +++ b/java/src/game/block/BlockMelon.java @@ -4,7 +4,8 @@ import game.init.Items; import game.item.CheatTab; import game.item.Item; import game.material.Material; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; import game.rng.Random; import game.world.State; @@ -40,7 +41,7 @@ public class BlockMelon extends Block return Math.min(9, this.quantityDropped(random) + random.zrange(1 + fortune)); } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("melon_side").add().nswe().du("melon_top"); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("melon_side").add().nswe().du("melon_top"); } } diff --git a/java/src/game/block/BlockMobSpawner.java b/java/src/game/block/BlockMobSpawner.java index 6559c80..3e79503 100755 --- a/java/src/game/block/BlockMobSpawner.java +++ b/java/src/game/block/BlockMobSpawner.java @@ -3,7 +3,7 @@ package game.block; import game.item.CheatTab; import game.item.Item; import game.material.Material; -import game.renderer.BlockLayer; +import game.model.BlockLayer; import game.rng.Random; import game.tileentity.TileEntity; import game.tileentity.TileEntityMobSpawner; diff --git a/java/src/game/block/BlockMushroom.java b/java/src/game/block/BlockMushroom.java index ab19610..9fb2154 100755 --- a/java/src/game/block/BlockMushroom.java +++ b/java/src/game/block/BlockMushroom.java @@ -2,7 +2,8 @@ package game.block; import game.init.Blocks; import game.init.Config; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; import game.rng.Random; import game.world.BlockPos; import game.world.State; @@ -128,7 +129,7 @@ public class BlockMushroom extends BlockBush implements IGrowable this.generateBigMushroom(worldIn, pos, state, rand); } - public ModelBlock getModel(String name, State state) { - return new ModelBlock(name).cross(); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel(name).cross(); } } diff --git a/java/src/game/block/BlockMycelium.java b/java/src/game/block/BlockMycelium.java index 9ee62fb..d014d87 100755 --- a/java/src/game/block/BlockMycelium.java +++ b/java/src/game/block/BlockMycelium.java @@ -5,10 +5,11 @@ import game.init.Config; import game.item.CheatTab; import game.item.Item; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; +import game.model.ParticleType; import game.properties.IProperty; import game.properties.PropertyBool; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.particle.ParticleType; import game.rng.Random; import game.world.BlockPos; import game.world.IWorldAccess; @@ -98,10 +99,10 @@ public class BlockMycelium extends Block return new IProperty[] {SNOWY}; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { if(state.getValue(SNOWY)) - return new ModelBlock("grass_side_snowed").add().nswe().d("dirt").u("grass_top"); + return provider.getModel("grass_side_snowed").add().nswe().d("dirt").u("grass_top"); else - return new ModelBlock("mycelium_side").add().nswe().d("dirt").u("mycelium_top"); + return provider.getModel("mycelium_side").add().nswe().d("dirt").u("mycelium_top"); } } diff --git a/java/src/game/block/BlockNote.java b/java/src/game/block/BlockNote.java index 5e01ddb..1413107 100755 --- a/java/src/game/block/BlockNote.java +++ b/java/src/game/block/BlockNote.java @@ -4,7 +4,7 @@ import game.entity.npc.EntityNPC; import game.init.SoundEvent; import game.item.CheatTab; import game.material.Material; -import game.renderer.particle.ParticleType; +import game.model.ParticleType; import game.tileentity.TileEntity; import game.tileentity.TileEntityNote; import game.world.BlockPos; diff --git a/java/src/game/block/BlockNuke.java b/java/src/game/block/BlockNuke.java index ce5e470..f666ba6 100755 --- a/java/src/game/block/BlockNuke.java +++ b/java/src/game/block/BlockNuke.java @@ -5,7 +5,8 @@ import game.init.Blocks; import game.init.SoundEvent; import game.item.CheatTab; import game.material.Material; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; import game.world.BlockPos; import game.world.Explosion; import game.world.State; @@ -68,7 +69,7 @@ public class BlockNuke extends Block return true; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("nuke_side").add().nswe().d("nuke_bottom").u("nuke_top"); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("nuke_side").add().nswe().d("nuke_bottom").u("nuke_top"); } } diff --git a/java/src/game/block/BlockPane.java b/java/src/game/block/BlockPane.java index d911c82..7b01c70 100755 --- a/java/src/game/block/BlockPane.java +++ b/java/src/game/block/BlockPane.java @@ -7,11 +7,12 @@ import game.init.Blocks; import game.item.CheatTab; import game.item.Item; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; import game.properties.PropertyBool; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; @@ -216,7 +217,7 @@ public class BlockPane extends Block return "glass_pane"; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { boolean n = state.getValue(NORTH); boolean s = state.getValue(SOUTH); boolean w = state.getValue(WEST); @@ -224,7 +225,7 @@ public class BlockPane extends Block int sides = (n ? 1 : 0) + (s ? 1 : 0) + (w ? 1 : 0) + (e ? 1 : 0); if(this.canDrop) { if(sides == 0 || sides == 4) - return new ModelBlock(name).noOcclude() + return provider.getModel(name).noOcclude() .add(8, 0, 0, 8, 16, 16) .w().uv(0, 0, 16, 16).noCull() .e().uv(0, 0, 16, 16).noCull() @@ -247,7 +248,7 @@ public class BlockPane extends Block .d().uv(9, 0, 7, 7).rot(90).noCull() .u().uv(7, 0, 9, 7).rot(90).noCull(); else if(sides == 1) - return new ModelBlock(name).noOcclude() + return provider.getModel(name).noOcclude() .add(8, 0, 0, 8, 16, 8) .w().uv(8, 0, 16, 16).noCull() .e().uv(8, 0, 16, 16).noCull() @@ -259,7 +260,7 @@ public class BlockPane extends Block .u().uv(7, 0, 9, 9).noCull() .rotate(n ? ModelRotation.X0_Y0 : (s ? ModelRotation.X0_Y180 : (w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else if(sides == 2 && ((e != w) || (n != s))) - return new ModelBlock(name).noOcclude() + return provider.getModel(name).noOcclude() .add(8, 0, 0, 8, 16, 8) .w().uv(0, 0, 8, 16).noCull() .e().uv(8, 0, 16, 16).noCull() @@ -279,7 +280,7 @@ public class BlockPane extends Block .rotate(n && e ? ModelRotation.X0_Y0 : (s && w ? ModelRotation.X0_Y180 : (n && w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else if(sides == 2) - return new ModelBlock(name).noOcclude() + return provider.getModel(name).noOcclude() .add(8, 0, 0, 8, 16, 16) .w().uv(0, 0, 16, 16).noCull() .e().uv(0, 0, 16, 16).noCull() @@ -291,7 +292,7 @@ public class BlockPane extends Block .u().uv(9, 0, 7, 16).noCull() .rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90); else - return new ModelBlock(name).noOcclude() + return provider.getModel(name).noOcclude() .add(8, 0, 0, 8, 16, 16) .w().uv(0, 0, 16, 16).noCull() .e().uv(0, 0, 16, 16).noCull() @@ -315,7 +316,7 @@ public class BlockPane extends Block String pane = this.getPaneBase(state); String edge = this.getPaneEdge(state); if(sides == 0 || sides == 4) - return new ModelBlock(pane).noOcclude() + return provider.getModel(pane).noOcclude() .add(7, 0, 0, 9, 16, 16).noShade() .d(edge).uv(7, 0, 9, 16).noCull() .u(edge).uv(7, 0, 9, 16).noCull() @@ -331,7 +332,7 @@ public class BlockPane extends Block .w(edge).uv(7, 0, 9, 16) .e(edge).uv(7, 0, 9, 16); else if(sides == 1 && (n || e)) - return new ModelBlock(pane).noOcclude() + return provider.getModel(pane).noOcclude() .add(7, 0, 0, 9, 16, 9).noShade() .d(edge).uv(7, 0, 9, 9).noCull() .u(edge).uv(7, 0, 9, 9).noCull() @@ -341,7 +342,7 @@ public class BlockPane extends Block .e().uv(7, 0, 16, 16).noCull() .rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90); else if(sides == 1) - return new ModelBlock(pane).noOcclude() + return provider.getModel(pane).noOcclude() .add(7, 0, 7, 9, 16, 16).noShade() .d(edge).uv(7, 7, 9, 16).noCull() .u(edge).uv(7, 7, 9, 16).noCull() @@ -351,7 +352,7 @@ public class BlockPane extends Block .e().uv(0, 0, 9, 16).noCull() .rotate(s ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90); else if(e && n && !s && !w) - return new ModelBlock(pane).noOcclude() + return provider.getModel(pane).noOcclude() .add(7, 0, 0, 9, 16, 9).noShade() .d(edge).uv(7, 0, 9, 9).noCull() .u(edge).uv(7, 0, 9, 9).noCull() @@ -367,7 +368,7 @@ public class BlockPane extends Block .w().uv(7, 0, 9, 16).noCull() .e(edge).uv(7, 0, 9, 16); else if(e && !n && s && !w) - return new ModelBlock(pane).noOcclude() + return provider.getModel(pane).noOcclude() .add(7, 0, 7, 9, 16, 16).noShade() .d(edge).uv(7, 7, 9, 16).noCull() .u(edge).uv(7, 7, 9, 16).noCull() @@ -383,7 +384,7 @@ public class BlockPane extends Block .w().uv(7, 0, 9, 16).noCull() .e(edge).uv(7, 0, 9, 16); else if(!e && !n && s && w) - return new ModelBlock(pane).noOcclude() + return provider.getModel(pane).noOcclude() .add(7, 0, 7, 9, 16, 16).noShade() .d(edge).uv(7, 7, 9, 16).noCull() .u(edge).uv(7, 7, 9, 16).noCull() @@ -399,7 +400,7 @@ public class BlockPane extends Block .w(edge).uv(7, 0, 9, 16) .e().uv(7, 0, 9, 16).noCull(); else if(!e && n && !s && w) - return new ModelBlock(pane).noOcclude() + return provider.getModel(pane).noOcclude() .add(7, 0, 0, 9, 16, 9).noShade() .d(edge).uv(7, 0, 9, 9).noCull() .u(edge).uv(7, 0, 9, 9).noCull() @@ -415,7 +416,7 @@ public class BlockPane extends Block .w(edge).uv(7, 0, 9, 16) .e().uv(7, 0, 9, 16).noCull(); else if((!e && n && s && !w) || (e && !n && !s && w)) - return new ModelBlock(pane).noOcclude() + return provider.getModel(pane).noOcclude() .add(7, 0, 0, 9, 16, 16).noShade() .d(edge).uv(7, 0, 9, 16).noCull() .u(edge).uv(7, 0, 9, 16).noCull() @@ -425,7 +426,7 @@ public class BlockPane extends Block .e().uv(0, 0, 16, 16).noCull() .rotate(s ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90); else if(!w) - return new ModelBlock(pane).noOcclude() + return provider.getModel(pane).noOcclude() .add(7, 0, 0, 9, 16, 16).noShade() .d(edge).uv(7, 0, 9, 16).noCull() .u(edge).uv(7, 0, 9, 16).noCull() @@ -441,7 +442,7 @@ public class BlockPane extends Block .w(edge).uv(7, 0, 9, 16).noCull() .e(edge).uv(7, 0, 9, 16); else if(!n) - return new ModelBlock(pane).noOcclude() + return provider.getModel(pane).noOcclude() .add(7, 0, 9, 9, 16, 16).noShade() .d(edge).uv(7, 9, 9, 16).noCull() .u(edge).uv(7, 9, 9, 16).noCull() @@ -457,7 +458,7 @@ public class BlockPane extends Block .w(edge).uv(7, 0, 9, 16) .e(edge).uv(7, 0, 9, 16); else if(!e) - return new ModelBlock(pane).noOcclude() + return provider.getModel(pane).noOcclude() .add(7, 0, 0, 9, 16, 16).noShade() .d(edge).uv(7, 0, 9, 16).noCull() .u(edge).uv(7, 0, 9, 16).noCull() @@ -473,7 +474,7 @@ public class BlockPane extends Block .w(edge).uv(7, 0, 9, 16).cull(Facing.EAST) .e(edge).uv(7, 0, 9, 16).noCull(); else - return new ModelBlock(pane).noOcclude() + return provider.getModel(pane).noOcclude() .add(7, 0, 0, 9, 16, 7).noShade() .d(edge).uv(7, 0, 9, 7).noCull() .u(edge).uv(7, 0, 9, 7).noCull() diff --git a/java/src/game/block/BlockPistonBase.java b/java/src/game/block/BlockPistonBase.java index 04c6fd6..03a2622 100755 --- a/java/src/game/block/BlockPistonBase.java +++ b/java/src/game/block/BlockPistonBase.java @@ -3,8 +3,6 @@ package game.block; import java.util.List; import game.collect.Lists; - -import game.audio.SoundType; import game.entity.Entity; import game.entity.types.EntityLiving; import game.init.Blocks; @@ -13,11 +11,12 @@ import game.init.SoundEvent; import game.item.CheatTab; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; import game.properties.PropertyBool; import game.properties.PropertyDirection; -import game.renderer.blockmodel.ModelBlock; import game.tileentity.TileEntity; import game.tileentity.TileEntityPiston; import game.util.ExtMath; @@ -706,15 +705,15 @@ public class BlockPistonBase extends Block return new IProperty[] {FACING, EXTENDED}; } - public ModelBlock getModel(String name, State state) { - return (state.getValue(EXTENDED) ? new ModelBlock("piston_side") + public Model getModel(ModelProvider provider, String name, State state) { + return (state.getValue(EXTENDED) ? provider.getModel("piston_side") .add(0, 0, 4, 16, 16, 16) .d().uv(0, 4, 16, 16).rot(180) .u().uv(0, 4, 16, 16) .n("piston_inner").uv(0, 0, 16, 16).noCull() .s("piston_bottom").uv(0, 0, 16, 16) .w().uv(0, 4, 16, 16).rot(270) - .e().uv(0, 4, 16, 16).rot(90) : new ModelBlock("piston_side") + .e().uv(0, 4, 16, 16).rot(90) : provider.getModel("piston_side") .add(0, 0, 0, 16, 16, 16) .d().uv(0, 0, 16, 16).rot(180) .u().uv(0, 0, 16, 16) diff --git a/java/src/game/block/BlockPistonHead.java b/java/src/game/block/BlockPistonHead.java index a77af50..911638d 100755 --- a/java/src/game/block/BlockPistonHead.java +++ b/java/src/game/block/BlockPistonHead.java @@ -2,20 +2,20 @@ package game.block; import java.util.List; -import game.audio.SoundType; import game.entity.Entity; import game.init.Blocks; import game.init.ItemRegistry; import game.item.Item; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyBool; import game.properties.PropertyDirection; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; +import game.util.Identifyable; import game.world.BlockPos; import game.world.BoundingBox; import game.world.Facing; @@ -258,9 +258,9 @@ public class BlockPistonHead extends Block return new IProperty[] {FACING, TYPE, SHORT}; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { String side = "piston_side"; - return (state.getValue(SHORT) ? new ModelBlock(state.getValue(TYPE) == EnumPistonType.STICKY ? "piston_top_sticky" : "piston_top") + return (state.getValue(SHORT) ? provider.getModel(state.getValue(TYPE) == EnumPistonType.STICKY ? "piston_top_sticky" : "piston_top") .add(0, 0, 0, 16, 16, 4) .d(side).uv(0, 0, 16, 4).rot(180) .u(side).uv(0, 0, 16, 4) @@ -273,7 +273,7 @@ public class BlockPistonHead extends Block .u(side).uv(4, 0, 16, 4).rot(270).noCull() .w(side).uv(16, 4, 4, 0).noCull() .e(side).uv(4, 0, 16, 4).noCull() - : new ModelBlock(state.getValue(TYPE) == EnumPistonType.STICKY ? "piston_top_sticky" : "piston_top") + : provider.getModel(state.getValue(TYPE) == EnumPistonType.STICKY ? "piston_top_sticky" : "piston_top") .add(0, 0, 0, 16, 16, 4) .d(side).uv(0, 0, 16, 4).rot(180) .u(side).uv(0, 0, 16, 4) @@ -295,7 +295,7 @@ public class BlockPistonHead extends Block ? state.getValue(FACING).getOpposite() : state.getValue(FACING))); } - public static enum EnumPistonType implements IStringSerializable + public static enum EnumPistonType implements Identifyable { DEFAULT("normal"), STICKY("sticky"); diff --git a/java/src/game/block/BlockPortal.java b/java/src/game/block/BlockPortal.java index e715a8a..33cd0ab 100755 --- a/java/src/game/block/BlockPortal.java +++ b/java/src/game/block/BlockPortal.java @@ -6,12 +6,13 @@ import game.entity.Entity; import game.init.Blocks; import game.item.Item; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; +import game.model.ParticleType; import game.properties.IProperty; import game.properties.PropertyEnum; import game.properties.PropertyInteger; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.particle.ParticleType; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; @@ -276,11 +277,11 @@ public class BlockPortal extends BlockBreakable return new IProperty[] {AXIS, DIM}; } - public ModelBlock getModel(String name, State state) { - return state.getValue(AXIS) == Facing.Axis.X ? new ModelBlock(name) + public Model getModel(ModelProvider provider, String name, State state) { + return state.getValue(AXIS) == Facing.Axis.X ? provider.getModel(name) .add(0, 0, 6, 16, 16, 10) .n().uv(0, 0, 16, 16).noCull().tint() - .s().uv(0, 0, 16, 16).noCull().tint() : new ModelBlock(name) + .s().uv(0, 0, 16, 16).noCull().tint() : provider.getModel(name) .add(6, 0, 0, 10, 16, 16) .w().uv(0, 0, 16, 16).noCull().tint() .e().uv(0, 0, 16, 16).noCull().tint(); diff --git a/java/src/game/block/BlockPortalFrame.java b/java/src/game/block/BlockPortalFrame.java index 6ec55a2..aefda08 100755 --- a/java/src/game/block/BlockPortalFrame.java +++ b/java/src/game/block/BlockPortalFrame.java @@ -11,11 +11,12 @@ import game.init.Items; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; import game.properties.PropertyBool; import game.properties.PropertyDirection; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.tileentity.TileEntity; import game.world.BlockPos; @@ -151,8 +152,8 @@ public class BlockPortalFrame extends Block return true; } - public ModelBlock getModel(String name, State state) { - return (state.getValue(ORB) ? new ModelBlock("portal_frame_side") + public Model getModel(ModelProvider provider, String name, State state) { + return (state.getValue(ORB) ? provider.getModel("portal_frame_side") .add(0, 0, 0, 16, 13, 16) .d("portal_frame_bottom").uv(0, 0, 16, 16).noCull() .u("portal_frame_top").uv(0, 0, 16, 16).noCull() @@ -166,7 +167,7 @@ public class BlockPortalFrame extends Block .n("portal_frame_orb").uv(4, 0, 12, 3).noCull() .s("portal_frame_orb").uv(4, 0, 12, 3).noCull() .w("portal_frame_orb").uv(4, 0, 12, 3).noCull() - .e("portal_frame_orb").uv(4, 0, 12, 3).noCull() : new ModelBlock("portal_frame_side") + .e("portal_frame_orb").uv(4, 0, 12, 3).noCull() : provider.getModel("portal_frame_side") .add(0, 0, 0, 16, 13, 16) .d("portal_frame_bottom").uv(0, 0, 16, 16).noCull() .u("portal_frame_top").uv(0, 0, 16, 16).noCull() diff --git a/java/src/game/block/BlockPotato.java b/java/src/game/block/BlockPotato.java index 8795566..68d5c30 100755 --- a/java/src/game/block/BlockPotato.java +++ b/java/src/game/block/BlockPotato.java @@ -3,7 +3,8 @@ package game.block; import game.init.Items; import game.item.Item; import game.item.ItemStack; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; import game.world.BlockPos; import game.world.State; import game.world.World; @@ -36,8 +37,8 @@ public class BlockPotato extends BlockCrops } } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { int age = state.getValue(AGE); - return crop(name + "_" + (age == 6 ? 2 : (age / 2))); + return crop(provider, name + "_" + (age == 6 ? 2 : (age / 2))); } } diff --git a/java/src/game/block/BlockPumpkin.java b/java/src/game/block/BlockPumpkin.java index c955c33..e3a6fa8 100755 --- a/java/src/game/block/BlockPumpkin.java +++ b/java/src/game/block/BlockPumpkin.java @@ -3,9 +3,10 @@ package game.block; import game.entity.types.EntityLiving; import game.item.CheatTab; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; -import game.renderer.blockmodel.ModelBlock; import game.world.BlockPos; import game.world.Facing; import game.world.State; @@ -183,8 +184,8 @@ public class BlockPumpkin extends BlockDirectional // return this.golemPattern; // } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("pumpkin_side").add().du("pumpkin_top").n("pumpkin_face_" + (this.getLightValue() == 0 ? "off" : "on")) + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("pumpkin_side").add().du("pumpkin_top").n("pumpkin_face_" + (this.getLightValue() == 0 ? "off" : "on")) .s().we().rotate(ModelRotation.getNorthRot(state.getValue(FACING))); } } diff --git a/java/src/game/block/BlockQuartz.java b/java/src/game/block/BlockQuartz.java index ce2bc47..dafd6c6 100755 --- a/java/src/game/block/BlockQuartz.java +++ b/java/src/game/block/BlockQuartz.java @@ -8,11 +8,12 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; +import game.util.Identifyable; import game.world.BlockPos; import game.world.Facing; import game.world.State; @@ -114,23 +115,23 @@ public class BlockQuartz extends Block return new IProperty[] {VARIANT}; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { switch(state.getValue(VARIANT)) { case DEFAULT: default: - return new ModelBlock(this.prefix + "quartz_block_side").add().nswe().d(this.prefix + "quartz_block_bottom").u(this.prefix + "quartz_top"); + return provider.getModel(this.prefix + "quartz_block_side").add().nswe().d(this.prefix + "quartz_block_bottom").u(this.prefix + "quartz_top"); case CHISELED: - return new ModelBlock(this.prefix + "quartz_block_chiseled").add().nswe().du(this.prefix + "quartz_block_chiseled_top"); + return provider.getModel(this.prefix + "quartz_block_chiseled").add().nswe().du(this.prefix + "quartz_block_chiseled_top"); case LINES_X: - return new ModelBlock(this.prefix + "quartz_block_lines").add().nswe().du(this.prefix + "quartz_block_lines_top").rotate(ModelRotation.X90_Y90); + return provider.getModel(this.prefix + "quartz_block_lines").add().nswe().du(this.prefix + "quartz_block_lines_top").rotate(ModelRotation.X90_Y90); case LINES_Y: - return new ModelBlock(this.prefix + "quartz_block_lines").add().nswe().du(this.prefix + "quartz_block_lines_top"); + return provider.getModel(this.prefix + "quartz_block_lines").add().nswe().du(this.prefix + "quartz_block_lines_top"); case LINES_Z: - return new ModelBlock(this.prefix + "quartz_block_lines").add().nswe().du(this.prefix + "quartz_block_lines_top").rotate(ModelRotation.X90_Y0); + return provider.getModel(this.prefix + "quartz_block_lines").add().nswe().du(this.prefix + "quartz_block_lines_top").rotate(ModelRotation.X90_Y0); } } - public static enum EnumType implements IStringSerializable + public static enum EnumType implements Identifyable { DEFAULT(0, "default", "default", null), CHISELED(1, "chiseled", "chiseled", null), diff --git a/java/src/game/block/BlockRailBase.java b/java/src/game/block/BlockRailBase.java index 44c9cee..a64c897 100755 --- a/java/src/game/block/BlockRailBase.java +++ b/java/src/game/block/BlockRailBase.java @@ -3,15 +3,15 @@ package game.block; import java.util.List; import game.collect.Lists; - import game.init.Blocks; import game.item.CheatTab; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; -import game.properties.IStringSerializable; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; +import game.util.Identifyable; import game.world.BlockPos; import game.world.BoundingBox; import game.world.Facing; @@ -188,13 +188,13 @@ public abstract class BlockRailBase extends Block return true; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { EnumRailDirection dir = state.getValue(this.getShapeProperty()); switch(dir) { case NORTH_SOUTH: case EAST_WEST: default: - return new ModelBlock(name).noOcclude() + return provider.getModel(name).noOcclude() .add(0, 1, 0, 16, 1, 16) .d().uv(0, 16, 16, 0).noCull() .u().uv(0, 0, 16, 16).noCull() @@ -203,7 +203,7 @@ public abstract class BlockRailBase extends Block case NORTH_WEST: case SOUTH_EAST: case SOUTH_WEST: - return new ModelBlock(name + "_turned").noOcclude() + return provider.getModel(name + "_turned").noOcclude() .add(0, 1, 0, 16, 1, 16) .d().uv(0, 16, 16, 0).noCull() .u().uv(0, 0, 16, 16).noCull() @@ -211,14 +211,14 @@ public abstract class BlockRailBase extends Block ModelRotation.X0_Y180 : (dir == EnumRailDirection.NORTH_EAST ? ModelRotation.X0_Y270 : ModelRotation.X0_Y0))); case ASCENDING_NORTH: case ASCENDING_EAST: - return new ModelBlock(name).noOcclude() + return provider.getModel(name).noOcclude() .add(0, 9, 0, 16, 9, 16).rotate(8, 9, 8, Facing.Axis.X, 45, true) .d().uv(0, 16, 16, 0).noCull() .u().uv(0, 0, 16, 16).noCull() .rotate(dir == EnumRailDirection.ASCENDING_EAST ? ModelRotation.X0_Y90 : ModelRotation.X0_Y0); case ASCENDING_SOUTH: case ASCENDING_WEST: - return new ModelBlock(name).noOcclude() + return provider.getModel(name).noOcclude() .add(0, 9, 0, 16, 9, 16).rotate(8, 9, 8, Facing.Axis.X, -45, true) .d().uv(0, 16, 16, 0).noCull() .u().uv(0, 0, 16, 16).noCull() @@ -228,7 +228,7 @@ public abstract class BlockRailBase extends Block public abstract IProperty getShapeProperty(); - public static enum EnumRailDirection implements IStringSerializable + public static enum EnumRailDirection implements Identifyable { NORTH_SOUTH(0, "north_south", Facing.SOUTH), EAST_WEST(1, "east_west", Facing.EAST), diff --git a/java/src/game/block/BlockRailDetector.java b/java/src/game/block/BlockRailDetector.java index 976b079..7070c82 100755 --- a/java/src/game/block/BlockRailDetector.java +++ b/java/src/game/block/BlockRailDetector.java @@ -1,17 +1,17 @@ package game.block; import java.util.List; - import java.util.function.Predicate; import game.entity.Entity; import game.entity.item.EntityCart; import game.inventory.Container; import game.inventory.IInventory; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyBool; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; @@ -212,7 +212,7 @@ public class BlockRailDetector extends BlockRailBase return new IProperty[] {SHAPE, POWERED}; } - public ModelBlock getModel(String name, State state) { - return super.getModel(name + (state.getValue(POWERED) ? "_powered" : ""), state); + public Model getModel(ModelProvider provider, String name, State state) { + return super.getModel(provider, name + (state.getValue(POWERED) ? "_powered" : ""), state); } } diff --git a/java/src/game/block/BlockRailPowered.java b/java/src/game/block/BlockRailPowered.java index 7782ed8..f7b6181 100755 --- a/java/src/game/block/BlockRailPowered.java +++ b/java/src/game/block/BlockRailPowered.java @@ -2,10 +2,11 @@ package game.block; import java.util.function.Predicate; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyBool; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; import game.world.BlockPos; import game.world.State; import game.world.World; @@ -198,7 +199,7 @@ public class BlockRailPowered extends BlockRailBase return new IProperty[] {SHAPE, POWERED}; } - public ModelBlock getModel(String name, State state) { - return super.getModel(name + (state.getValue(POWERED) ? "_powered" : ""), state); + public Model getModel(ModelProvider provider, String name, State state) { + return super.getModel(provider, name + (state.getValue(POWERED) ? "_powered" : ""), state); } } diff --git a/java/src/game/block/BlockRedstoneComparator.java b/java/src/game/block/BlockRedstoneComparator.java index 1e79399..5d61b94 100755 --- a/java/src/game/block/BlockRedstoneComparator.java +++ b/java/src/game/block/BlockRedstoneComparator.java @@ -6,15 +6,16 @@ import game.init.Blocks; import game.init.Items; import game.init.SoundEvent; import game.item.Item; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyBool; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.tileentity.TileEntity; import game.tileentity.TileEntityComparator; +import game.util.Identifyable; import game.world.BlockPos; import game.world.Facing; import game.world.IWorldAccess; @@ -312,8 +313,8 @@ public class BlockRedstoneComparator extends BlockRedstoneDiode implements ITile return this.getState().withProperty(FACING, placer.getHorizontalFacing().getOpposite()).withProperty(POWERED, Boolean.valueOf(false)).withProperty(MODE, BlockRedstoneComparator.Mode.COMPARE); } - public ModelBlock getModel(String name, State state) { - return (state.getValue(POWERED) ? (state.getValue(MODE) == Mode.SUBTRACT ? new ModelBlock("comparator_on").noOcclude() + public Model getModel(ModelProvider provider, String name, State state) { + return (state.getValue(POWERED) ? (state.getValue(MODE) == Mode.SUBTRACT ? provider.getModel("comparator_on").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -344,7 +345,7 @@ public class BlockRedstoneComparator extends BlockRedstoneDiode implements ITile .e("redstone_torch").uv(6, 5, 10, 9).noCull() .add(6, 2, 2, 10, 6, 4) .n("redstone_torch").uv(6, 5, 10, 9).noCull() - .s("redstone_torch").uv(6, 5, 10, 9).noCull() : new ModelBlock("comparator_on").noOcclude() + .s("redstone_torch").uv(6, 5, 10, 9).noCull() : provider.getModel("comparator_on").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -375,7 +376,7 @@ public class BlockRedstoneComparator extends BlockRedstoneDiode implements ITile .s("unlit_redstone_torch").uv(7, 6, 9, 8).noCull() .w("unlit_redstone_torch").uv(7, 6, 9, 8).noCull() .e("unlit_redstone_torch").uv(7, 6, 9, 8).noCull()) - : (state.getValue(MODE) == Mode.SUBTRACT ? new ModelBlock("comparator_off").noOcclude() + : (state.getValue(MODE) == Mode.SUBTRACT ? provider.getModel("comparator_off").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -404,7 +405,7 @@ public class BlockRedstoneComparator extends BlockRedstoneDiode implements ITile .e("redstone_torch").uv(6, 5, 10, 9).noCull() .add(6, 2, 2, 10, 6, 4) .n("redstone_torch").uv(6, 5, 10, 9).noCull() - .s("redstone_torch").uv(6, 5, 10, 9).noCull() : new ModelBlock("comparator_off").noOcclude() + .s("redstone_torch").uv(6, 5, 10, 9).noCull() : provider.getModel("comparator_off").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -436,7 +437,7 @@ public class BlockRedstoneComparator extends BlockRedstoneDiode implements ITile .rotate(ModelRotation.getNorthRot(state.getValue(FACING).getOpposite())); } - public static enum Mode implements IStringSerializable + public static enum Mode implements Identifyable { COMPARE("compare"), SUBTRACT("subtract"); diff --git a/java/src/game/block/BlockRedstoneDiode.java b/java/src/game/block/BlockRedstoneDiode.java index 766c5d9..a510f6e 100755 --- a/java/src/game/block/BlockRedstoneDiode.java +++ b/java/src/game/block/BlockRedstoneDiode.java @@ -4,7 +4,7 @@ import game.entity.types.EntityLiving; import game.init.Blocks; import game.item.ItemStack; import game.material.Material; -import game.renderer.BlockLayer; +import game.model.BlockLayer; import game.rng.Random; import game.world.BlockPos; import game.world.Facing; diff --git a/java/src/game/block/BlockRedstoneOre.java b/java/src/game/block/BlockRedstoneOre.java index b590557..f5736f1 100755 --- a/java/src/game/block/BlockRedstoneOre.java +++ b/java/src/game/block/BlockRedstoneOre.java @@ -8,8 +8,9 @@ import game.init.Items; import game.item.Item; import game.item.ItemStack; import game.material.Material; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.particle.ParticleType; +import game.model.Model; +import game.model.ModelProvider; +import game.model.ParticleType; import game.rng.Random; import game.world.BlockPos; import game.world.Facing; @@ -189,7 +190,7 @@ public class BlockRedstoneOre extends Block return true; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("redstone_ore").add().all(); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("redstone_ore").add().all(); } } diff --git a/java/src/game/block/BlockRedstoneRepeater.java b/java/src/game/block/BlockRedstoneRepeater.java index 4c1283f..a43adfd 100755 --- a/java/src/game/block/BlockRedstoneRepeater.java +++ b/java/src/game/block/BlockRedstoneRepeater.java @@ -4,12 +4,13 @@ import game.entity.npc.EntityNPC; import game.init.Blocks; import game.init.Items; import game.item.Item; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; +import game.model.ParticleType; import game.properties.IProperty; import game.properties.PropertyBool; import game.properties.PropertyInteger; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.particle.ParticleType; import game.rng.Random; import game.world.BlockPos; import game.world.Facing; @@ -156,11 +157,11 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode return new IProperty[] {FACING, DELAY, LOCKED}; } - private static ModelBlock getModelOff(int delay) { + private static Model getModelOff(int delay) { switch(delay) { case 1: default: - return new ModelBlock("repeater_off").noOcclude() + return ModelProvider.getModelProvider().getModel("repeater_off").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -183,7 +184,7 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode .w("unlit_redstone_torch").uv(7, 6, 9, 11).noCull() .e("unlit_redstone_torch").uv(7, 6, 9, 11).noCull(); case 2: - return new ModelBlock("repeater_off").noOcclude() + return ModelProvider.getModelProvider().getModel("repeater_off").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -206,7 +207,7 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode .w("unlit_redstone_torch").uv(7, 6, 9, 11).noCull() .e("unlit_redstone_torch").uv(7, 6, 9, 11).noCull(); case 3: - return new ModelBlock("repeater_off").noOcclude() + return ModelProvider.getModelProvider().getModel("repeater_off").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -229,7 +230,7 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode .w("unlit_redstone_torch").uv(7, 6, 9, 11).noCull() .e("unlit_redstone_torch").uv(7, 6, 9, 11).noCull(); case 4: - return new ModelBlock("repeater_off").noOcclude() + return ModelProvider.getModelProvider().getModel("repeater_off").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -254,11 +255,11 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode } } - private static ModelBlock getModelOn(int delay) { + private static Model getModelOn(int delay) { switch(delay) { case 1: default: - return new ModelBlock("repeater_on").noOcclude() + return ModelProvider.getModelProvider().getModel("repeater_on").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -283,7 +284,7 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode .n("redstone_torch").uv(6, 5, 10, 11).noCull() .s("redstone_torch").uv(6, 5, 10, 11).noCull(); case 2: - return new ModelBlock("repeater_on").noOcclude() + return ModelProvider.getModelProvider().getModel("repeater_on").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -308,7 +309,7 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode .n("redstone_torch").uv(6, 5, 10, 11).noCull() .s("redstone_torch").uv(6, 5, 10, 11).noCull(); case 3: - return new ModelBlock("repeater_on").noOcclude() + return ModelProvider.getModelProvider().getModel("repeater_on").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -333,7 +334,7 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode .n("redstone_torch").uv(6, 5, 10, 11).noCull() .s("redstone_torch").uv(6, 5, 10, 11).noCull(); case 4: - return new ModelBlock("repeater_on").noOcclude() + return ModelProvider.getModelProvider().getModel("repeater_on").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -360,11 +361,11 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode } } - private static ModelBlock getModelOffLocked(int delay) { + private static Model getModelOffLocked(int delay) { switch(delay) { case 1: default: - return new ModelBlock("repeater_off").noOcclude() + return ModelProvider.getModelProvider().getModel("repeater_off").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -387,7 +388,7 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode .w("unlit_redstone_torch").uv(7, 6, 9, 11).noCull() .e("unlit_redstone_torch").uv(7, 6, 9, 11).noCull(); case 2: - return new ModelBlock("repeater_off").noOcclude() + return ModelProvider.getModelProvider().getModel("repeater_off").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -410,7 +411,7 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode .w("unlit_redstone_torch").uv(7, 6, 9, 11).noCull() .e("unlit_redstone_torch").uv(7, 6, 9, 11).noCull(); case 3: - return new ModelBlock("repeater_off").noOcclude() + return ModelProvider.getModelProvider().getModel("repeater_off").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -433,7 +434,7 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode .w("unlit_redstone_torch").uv(7, 6, 9, 11).noCull() .e("unlit_redstone_torch").uv(7, 6, 9, 11).noCull(); case 4: - return new ModelBlock("repeater_off").noOcclude() + return ModelProvider.getModelProvider().getModel("repeater_off").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -458,11 +459,11 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode } } - private static ModelBlock getModelOnLocked(int delay) { + private static Model getModelOnLocked(int delay) { switch(delay) { case 1: default: - return new ModelBlock("repeater_on").noOcclude() + return ModelProvider.getModelProvider().getModel("repeater_on").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -486,7 +487,7 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode .n("redstone_torch").uv(6, 5, 10, 11).noCull() .s("redstone_torch").uv(6, 5, 10, 11).noCull(); case 2: - return new ModelBlock("repeater_on").noOcclude() + return ModelProvider.getModelProvider().getModel("repeater_on").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -510,7 +511,7 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode .n("redstone_torch").uv(6, 5, 10, 11).noCull() .s("redstone_torch").uv(6, 5, 10, 11).noCull(); case 3: - return new ModelBlock("repeater_on").noOcclude() + return ModelProvider.getModelProvider().getModel("repeater_on").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -534,7 +535,7 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode .n("redstone_torch").uv(6, 5, 10, 11).noCull() .s("redstone_torch").uv(6, 5, 10, 11).noCull(); case 4: - return new ModelBlock("repeater_on").noOcclude() + return ModelProvider.getModelProvider().getModel("repeater_on").noOcclude() .add(0, 0, 0, 16, 2, 16) .d("double_stone_top").uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -560,7 +561,7 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode } } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { return (this.isRepeaterPowered ? (state.getValue(LOCKED) ? getModelOnLocked(state.getValue(DELAY)) : getModelOn(state.getValue(DELAY))) : (state.getValue(LOCKED) ? getModelOffLocked(state.getValue(DELAY)) : getModelOff(state.getValue(DELAY)))) diff --git a/java/src/game/block/BlockRedstoneTorch.java b/java/src/game/block/BlockRedstoneTorch.java index 1ad83e1..2590c67 100755 --- a/java/src/game/block/BlockRedstoneTorch.java +++ b/java/src/game/block/BlockRedstoneTorch.java @@ -5,13 +5,12 @@ import java.util.Map; import game.collect.Lists; import game.collect.Maps; - import game.init.Blocks; import game.init.ItemRegistry; import game.init.SoundEvent; import game.item.CheatTab; import game.item.Item; -import game.renderer.particle.ParticleType; +import game.model.ParticleType; import game.rng.Random; import game.world.BlockPos; import game.world.Facing; diff --git a/java/src/game/block/BlockRedstoneWire.java b/java/src/game/block/BlockRedstoneWire.java index ef33571..3b119ab 100755 --- a/java/src/game/block/BlockRedstoneWire.java +++ b/java/src/game/block/BlockRedstoneWire.java @@ -6,21 +6,21 @@ import java.util.Set; import game.collect.Lists; import game.collect.Sets; - import game.init.Blocks; import game.init.Items; import game.item.Item; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; +import game.model.ParticleType; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyEnum; import game.properties.PropertyInteger; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.particle.ParticleType; import game.rng.Random; import game.util.ExtMath; +import game.util.Identifyable; import game.world.BlockPos; import game.world.BoundingBox; import game.world.Facing; @@ -33,19 +33,19 @@ import game.world.WorldServer; public class BlockRedstoneWire extends Block { - private static final ModelBlock redstone_none = new ModelBlock("redstone_dust_cross").noOcclude() + private static final Model redstone_none = ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude() .add(5, 0.25f, 5, 11, 0.25f, 11).noShade() .u().uv(5, 5, 11, 11).tint().noCull() .add(5, 0.25f, 5, 11, 0.25f, 11).noShade() .u("redstone_dust_cross_overlay").uv(5, 5, 11, 11).noCull() ; - private static final ModelBlock redstone_nsew = new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static final Model redstone_nsew = ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() .u().uv(0, 0, 16, 16).tint().noCull() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() .u("redstone_dust_cross_overlay").uv(0, 0, 16, 16).noCull() ; - private static final ModelBlock redstone_unusueuw = new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static final Model redstone_unusueuw = ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() .u().uv(0, 0, 16, 16).tint().noCull() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -67,7 +67,7 @@ public class BlockRedstoneWire extends Block .add(0.25f, 0, 0, 0.25f, 16, 16).noShade() .e("redstone_dust_line_overlay").uv(0, 0, 16, 16).rot(90).noCull() ; - private static final ModelBlock redstone_unus = new ModelBlock("redstone_dust_cross").noOcclude() + private static final Model redstone_unus = ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() .u("redstone_dust_line").uv(0, 0, 16, 16).rot(90).tint().noCull() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -81,7 +81,7 @@ public class BlockRedstoneWire extends Block .add(0, 0, 15.75f, 16, 16, 15.75f).noShade() .n("redstone_dust_line_overlay").uv(0, 0, 16, 16).rot(90).noCull() ; - private static final ModelBlock redstone_ueuw = new ModelBlock("redstone_dust_cross").noOcclude() + private static final Model redstone_ueuw = ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() .u("redstone_dust_line").uv(0, 0, 16, 16).tint().noCull() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -96,8 +96,8 @@ public class BlockRedstoneWire extends Block .w("redstone_dust_line_overlay").uv(0, 0, 16, 16).rot(90).noCull() ; - private static ModelBlock redstone_n(boolean rot) { - return new ModelBlock("redstone_dust_cross").noOcclude() + private static Model redstone_n(boolean rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() .u("redstone_dust_line").uv(0, 0, 16, 16).rot(90).tint().noCull() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -105,8 +105,8 @@ public class BlockRedstoneWire extends Block .rotate(rot ? ModelRotation.X0_Y90 : ModelRotation.X0_Y0); } - private static ModelBlock redstone_ne(ModelRotation rot) { - return new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static Model redstone_ne(ModelRotation rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(5, 0.25f, 0, 16, 0.25f, 11).noShade() .u().uv(5, 0, 16, 11).tint().noCull() .add(5, 0.25f, 0, 16, 0.25f, 11).noShade() @@ -114,8 +114,8 @@ public class BlockRedstoneWire extends Block .rotate(rot); } - private static ModelBlock redstone_uew(boolean rot) { - ModelBlock model = new ModelBlock("redstone_dust_cross").noOcclude() + private static Model redstone_uew(boolean rot) { + Model model = ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() .u("redstone_dust_line").uv(0, 0, 16, 16).tint().noCull() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -126,8 +126,8 @@ public class BlockRedstoneWire extends Block .w("redstone_dust_line_overlay").uv(0, 0, 16, 16).rot(90).noCull(); return rot ? model.uvLock().rotate(ModelRotation.X0_Y180) : model; } - private static ModelBlock redstone_nue(ModelRotation rot) { - return new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static Model redstone_nue(ModelRotation rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(5, 0.25f, 0, 16, 0.25f, 11).noShade() .u().uv(5, 0, 16, 11).tint().noCull() .add(5, 0.25f, 0, 16, 0.25f, 11).noShade() @@ -138,8 +138,8 @@ public class BlockRedstoneWire extends Block .w("redstone_dust_line_overlay").uv(0, 0, 16, 16).rot(270).noCull() .rotate(rot); } - private static ModelBlock redstone_une(ModelRotation rot) { - return new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static Model redstone_une(ModelRotation rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(5, 0.25f, 0, 16, 0.25f, 11).noShade() .u().uv(5, 0, 16, 11).tint().noCull() .add(5, 0.25f, 0, 16, 0.25f, 11).noShade() @@ -150,16 +150,16 @@ public class BlockRedstoneWire extends Block .s("redstone_dust_line_overlay").uv(0, 0, 16, 16).rot(90).noCull() .rotate(rot); } - private static ModelBlock redstone_nse(ModelRotation rot) { - return new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static Model redstone_nse(ModelRotation rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(5, 0.25f, 0, 16, 0.25f, 16).noShade() .u().uv(5, 0, 16, 16).tint().noCull() .add(5, 0.25f, 0, 16, 0.25f, 16).noShade() .u("redstone_dust_cross_overlay").uv(5, 0, 16, 16).noCull() .rotate(rot); } - private static ModelBlock redstone_uns(boolean lock, ModelRotation rot) { - ModelBlock model = new ModelBlock("redstone_dust_cross").noOcclude() + private static Model redstone_uns(boolean lock, ModelRotation rot) { + Model model = ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() .u("redstone_dust_line").uv(0, 0, 16, 16).rot(90).tint().noCull() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -172,8 +172,8 @@ public class BlockRedstoneWire extends Block return lock ? model.uvLock() : model; } - private static ModelBlock redstone_nsue(ModelRotation rot) { - return new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static Model redstone_nsue(ModelRotation rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(5, 0.25f, 0, 16, 0.25f, 16).noShade() .u().uv(5, 0, 16, 16).tint().noCull() .add(5, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -184,8 +184,8 @@ public class BlockRedstoneWire extends Block .w("redstone_dust_line_overlay").uv(0, 0, 16, 16).rot(270).noCull() .rotate(rot); } - private static ModelBlock redstone_unse(ModelRotation rot) { - return new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static Model redstone_unse(ModelRotation rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(5, 0.25f, 0, 16, 0.25f, 16).noShade() .u().uv(5, 0, 16, 16).tint().noCull() .add(5, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -196,8 +196,8 @@ public class BlockRedstoneWire extends Block .s("redstone_dust_line_overlay").uv(0, 0, 16, 16).rot(90).noCull() .rotate(rot); } - private static ModelBlock redstone_nuse(ModelRotation rot) { - return new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static Model redstone_nuse(ModelRotation rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(5, 0.25f, 0, 16, 0.25f, 16).noShade() .u().uv(5, 0, 16, 16).tint().noCull() .add(5, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -208,8 +208,8 @@ public class BlockRedstoneWire extends Block .n("redstone_dust_line_overlay").uv(0, 0, 16, 16).rot(90).noCull() .rotate(rot); } - private static ModelBlock redstone_unue(ModelRotation rot) { - return new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static Model redstone_unue(ModelRotation rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(5, 0.25f, 0, 16, 0.25f, 11).noShade() .u().uv(5, 0, 16, 11).tint().noCull() .add(5, 0.25f, 0, 16, 0.25f, 11).noShade() @@ -225,8 +225,8 @@ public class BlockRedstoneWire extends Block .rotate(rot); } - private static ModelBlock redstone_unusue(ModelRotation rot) { - return new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static Model redstone_unusue(ModelRotation rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(5, 0.25f, 0, 16, 0.25f, 16).noShade() .u().uv(5, 0, 16, 16).tint().noCull() .add(5, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -245,8 +245,8 @@ public class BlockRedstoneWire extends Block .w("redstone_dust_line_overlay").uv(0, 0, 16, 16).rot(90).noCull() .rotate(rot); } - private static ModelBlock redstone_unusew(boolean rot) { - return new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static Model redstone_unusew(boolean rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() .u().uv(0, 0, 16, 16).tint().noCull() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -261,8 +261,8 @@ public class BlockRedstoneWire extends Block .n("redstone_dust_line_overlay").uv(0, 0, 16, 16).rot(90).noCull() .rotate(rot ? ModelRotation.X0_Y90 : ModelRotation.X0_Y0); } - private static ModelBlock redstone_unusuew(ModelRotation rot) { - return new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static Model redstone_unusuew(ModelRotation rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() .u().uv(0, 0, 16, 16).tint().noCull() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -281,8 +281,8 @@ public class BlockRedstoneWire extends Block .w("redstone_dust_line_overlay").uv(0, 0, 16, 16).rot(90).noCull() .rotate(rot); } - private static ModelBlock redstone_unuse(ModelRotation rot) { - return new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static Model redstone_unuse(ModelRotation rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(5, 0.25f, 0, 16, 0.25f, 16).noShade() .u().uv(5, 0, 16, 16).tint().noCull() .add(5, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -297,8 +297,8 @@ public class BlockRedstoneWire extends Block .n("redstone_dust_line_overlay").uv(0, 0, 16, 16).rot(90).noCull() .rotate(rot); } - private static ModelBlock redstone_nusue(ModelRotation rot) { - return new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static Model redstone_nusue(ModelRotation rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(5, 0.25f, 0, 16, 0.25f, 16).noShade() .u().uv(5, 0, 16, 16).tint().noCull() .add(5, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -313,8 +313,8 @@ public class BlockRedstoneWire extends Block .w("redstone_dust_line_overlay").uv(0, 0, 16, 16).rot(90).noCull() .rotate(rot); } - private static ModelBlock redstone_unsew(ModelRotation rot) { - return new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static Model redstone_unsew(ModelRotation rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() .u().uv(0, 0, 16, 16).tint().noCull() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -325,8 +325,8 @@ public class BlockRedstoneWire extends Block .s("redstone_dust_line_overlay").uv(0, 0, 16, 16).rot(90).noCull() .rotate(rot); } - private static ModelBlock redstone_unsuew(ModelRotation rot) { - return new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static Model redstone_unsuew(ModelRotation rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() .u().uv(0, 0, 16, 16).tint().noCull() .add(0, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -341,8 +341,8 @@ public class BlockRedstoneWire extends Block .w("redstone_dust_line_overlay").uv(0, 0, 16, 16).rot(90).noCull() .rotate(rot); } - private static ModelBlock redstone_unsue(ModelRotation rot) { - return new ModelBlock("redstone_dust_cross").noOcclude().uvLock() + private static Model redstone_unsue(ModelRotation rot) { + return ModelProvider.getModelProvider().getModel("redstone_dust_cross").noOcclude().uvLock() .add(5, 0.25f, 0, 16, 0.25f, 16).noShade() .u().uv(5, 0, 16, 16).tint().noCull() .add(5, 0.25f, 0, 16, 0.25f, 16).noShade() @@ -825,7 +825,7 @@ public class BlockRedstoneWire extends Block return true; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { boolean na = state.getValue(NORTH) == EnumAttachPosition.NONE; boolean sa = state.getValue(SOUTH) == EnumAttachPosition.NONE; boolean wa = state.getValue(WEST) == EnumAttachPosition.NONE; @@ -1026,7 +1026,7 @@ public class BlockRedstoneWire extends Block return new IProperty[] {POWER}; } - static enum EnumAttachPosition implements IStringSerializable + static enum EnumAttachPosition implements Identifyable { UP("up"), SIDE("side"), diff --git a/java/src/game/block/BlockReed.java b/java/src/game/block/BlockReed.java index 6cae792..a60106d 100755 --- a/java/src/game/block/BlockReed.java +++ b/java/src/game/block/BlockReed.java @@ -5,10 +5,11 @@ import game.init.Config; import game.init.Items; import game.item.Item; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyInteger; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; @@ -182,8 +183,8 @@ public class BlockReed extends Block return new IProperty[] {AGE}; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("reeds").crossTint(); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("reeds").crossTint(); } public IProperty[] getIgnoredProperties() { diff --git a/java/src/game/block/BlockRock.java b/java/src/game/block/BlockRock.java index a457ece..607027f 100755 --- a/java/src/game/block/BlockRock.java +++ b/java/src/game/block/BlockRock.java @@ -6,9 +6,10 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyBool; -import game.renderer.blockmodel.ModelBlock; import game.world.State; public class BlockRock extends Block { @@ -41,7 +42,7 @@ public class BlockRock extends Block { return new IProperty[] {SMOOTH}; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock(state.getValue(SMOOTH) ? "smooth_rock" : "rock").add().all(); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel(state.getValue(SMOOTH) ? "smooth_rock" : "rock").add().all(); } } diff --git a/java/src/game/block/BlockRotatedPillar.java b/java/src/game/block/BlockRotatedPillar.java index a1c42ba..1bcc08f 100755 --- a/java/src/game/block/BlockRotatedPillar.java +++ b/java/src/game/block/BlockRotatedPillar.java @@ -1,9 +1,10 @@ package game.block; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; import game.world.Facing; import game.world.State; @@ -16,17 +17,17 @@ public abstract class BlockRotatedPillar extends Block super(materialIn); } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { switch(state.getValue(AXIS)) { case X: - return new ModelBlock(name + "_side").add().d().rot(180).u() + return provider.getModel(name + "_side").add().d().rot(180).u() .n(name + "_top").rot(180).s(name + "_top").w().rot(270) .e().rot(90).rotate(ModelRotation.X0_Y90); case Y: default: - return new ModelBlock(name + "_side").add().nswe().du(name + "_top"); + return provider.getModel(name + "_side").add().nswe().du(name + "_top"); case Z: - return new ModelBlock(name + "_side").add().d().rot(180).u() + return provider.getModel(name + "_side").add().d().rot(180).u() .n(name + "_top").rot(180).s(name + "_top").w().rot(270) .e().rot(90); } diff --git a/java/src/game/block/BlockSand.java b/java/src/game/block/BlockSand.java index 2739809..37e93c6 100755 --- a/java/src/game/block/BlockSand.java +++ b/java/src/game/block/BlockSand.java @@ -5,10 +5,11 @@ import java.util.List; import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; +import game.util.Identifyable; import game.world.State; public class BlockSand extends BlockFalling @@ -69,11 +70,11 @@ public class BlockSand extends BlockFalling return new IProperty[] {VARIANT}; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock(state.getValue(VARIANT).getName()).add().all(); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel(state.getValue(VARIANT).getName()).add().all(); } - public static enum EnumType implements IStringSerializable + public static enum EnumType implements Identifyable { SAND(0, "sand", "Sand"), RED_SAND(1, "red_sand", "Roter Sand"); diff --git a/java/src/game/block/BlockSandStone.java b/java/src/game/block/BlockSandStone.java index 5bbba58..b92213c 100755 --- a/java/src/game/block/BlockSandStone.java +++ b/java/src/game/block/BlockSandStone.java @@ -6,10 +6,11 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; +import game.util.Identifyable; import game.world.State; public class BlockSandStone extends Block @@ -72,19 +73,19 @@ public class BlockSandStone extends Block return new IProperty[] {TYPE}; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { switch(state.getValue(TYPE)) { case DEFAULT: default: - return new ModelBlock("sandstone_normal").add().nswe().d("sandstone_bottom").u("sandstone_all"); + return provider.getModel("sandstone_normal").add().nswe().d("sandstone_bottom").u("sandstone_all"); case CHISELED: - return new ModelBlock("sandstone_carved").add().nswe().d("sandstone_bottom").u("sandstone_all"); + return provider.getModel("sandstone_carved").add().nswe().d("sandstone_bottom").u("sandstone_all"); case SMOOTH: - return new ModelBlock("sandstone_smooth").add().nswe().d("sandstone_bottom").u("sandstone_all"); + return provider.getModel("sandstone_smooth").add().nswe().d("sandstone_bottom").u("sandstone_all"); } } - public static enum EnumType implements IStringSerializable + public static enum EnumType implements Identifyable { DEFAULT(0, "sandstone", "Sandstein"), CHISELED(1, "chiseled_sandstone", "Gemeißelter Sandstein"), diff --git a/java/src/game/block/BlockSapling.java b/java/src/game/block/BlockSapling.java index e829bc7..5f2eddf 100755 --- a/java/src/game/block/BlockSapling.java +++ b/java/src/game/block/BlockSapling.java @@ -3,14 +3,14 @@ package game.block; import java.util.List; import game.collect.Lists; - import game.init.Blocks; import game.init.Config; import game.init.WoodType; import game.item.CheatTab; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyInteger; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.BlockPos; import game.world.State; @@ -293,7 +293,7 @@ public class BlockSapling extends BlockBush implements IGrowable return new IProperty[] {STAGE}; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock(name).cross(); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel(name).cross(); } } diff --git a/java/src/game/block/BlockSkull.java b/java/src/game/block/BlockSkull.java index 5c88d17..b3575c6 100755 --- a/java/src/game/block/BlockSkull.java +++ b/java/src/game/block/BlockSkull.java @@ -5,9 +5,9 @@ import game.init.Items; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Transforms; import game.properties.IProperty; import game.properties.PropertyDirection; -import game.renderer.blockmodel.Transforms; import game.rng.Random; import game.tileentity.TileEntity; import game.tileentity.TileEntitySkull; diff --git a/java/src/game/block/BlockSlab.java b/java/src/game/block/BlockSlab.java index caebe48..222d216 100755 --- a/java/src/game/block/BlockSlab.java +++ b/java/src/game/block/BlockSlab.java @@ -3,17 +3,17 @@ package game.block; import java.util.List; import game.collect.Lists; - import game.entity.Entity; import game.entity.types.EntityLiving; import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyBool; import game.properties.PropertyDirection; -import game.renderer.blockmodel.ModelBlock; import game.world.BlockPos; import game.world.BoundingBox; import game.world.Facing; @@ -251,52 +251,52 @@ public class BlockSlab extends Block // // public abstract Object getVariant(ItemStack stack); - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { if(state.getValue(DOUBLE)) { - return new ModelBlock(state.getValue(SEAMLESS) ? this.textureTop : this.textureSide) + return provider.getModel(state.getValue(SEAMLESS) ? this.textureTop : this.textureSide) .add().nswe().d(state.getValue(SEAMLESS) ? this.textureTop : this.textureBottom).u(this.textureTop); } else { if(state.getValue(FACING).getAxis() != Axis.Y) - return new ModelBlock(this.textureSide).vslab(state.getValue(FACING), this.textureBottom, this.textureTop); + return provider.getModel(this.textureSide).vslab(state.getValue(FACING), this.textureBottom, this.textureTop); else - return new ModelBlock(this.textureSide).slab(state.getValue(FACING) == Facing.UP, this.textureBottom, + return provider.getModel(this.textureSide).slab(state.getValue(FACING) == Facing.UP, this.textureBottom, this.textureTop); } } /* - public ModelBlock getModel(String name, IBlockState state) { + public Model getModel(String name, IBlockState state) { if(state.getValue(VARIANT) == EnumType.STONE) - return state.getValue(SEAMLESS) ? new ModelBlock("double_stone_top").add().all() : - new ModelBlock("stone_slab_side").add().nswe().du("double_stone_top"); + return state.getValue(SEAMLESS) ? provider.getModel("double_stone_top").add().all() : + provider.getModel("stone_slab_side").add().nswe().du("double_stone_top"); else if(state.getValue(VARIANT) == EnumType.QUARTZ) - return new ModelBlock("quartz_block_side").add().nswe().d("quartz_block_bottom").u("quartz_top"); + return provider.getModel("quartz_block_side").add().nswe().d("quartz_block_bottom").u("quartz_top"); else if(state.getValue(VARIANT) == EnumType.SAND) - return new ModelBlock("sandstone_normal").add().nswe().d("sandstone_bottom").u("sandstone_all"); + return provider.getModel("sandstone_normal").add().nswe().d("sandstone_bottom").u("sandstone_all"); else - return new ModelBlock(getTexture(state.getValue(VARIANT))).add().all(); + return provider.getModel(getTexture(state.getValue(VARIANT))).add().all(); } - public ModelBlock getModel(String name, IBlockState state) { + public Model getModel(String name, IBlockState state) { if(state.getValue(VARIANT) == EnumType.STONE) - return new ModelBlock("stone_slab_side").slab(state.getValue(HALF) == EnumBlockHalf.TOP, "double_stone_top"); + return provider.getModel("stone_slab_side").slab(state.getValue(HALF) == EnumBlockHalf.TOP, "double_stone_top"); else if(state.getValue(VARIANT) == EnumType.QUARTZ) - return new ModelBlock("quartz_block_side").slab(state.getValue(HALF) == EnumBlockHalf.TOP, "quartz_block_bottom", + return provider.getModel("quartz_block_side").slab(state.getValue(HALF) == EnumBlockHalf.TOP, "quartz_block_bottom", "quartz_top"); else if(state.getValue(VARIANT) == EnumType.SAND) - return new ModelBlock("sandstone_normal").slab(state.getValue(HALF) == EnumBlockHalf.TOP, "sandstone_bottom", + return provider.getModel("sandstone_normal").slab(state.getValue(HALF) == EnumBlockHalf.TOP, "sandstone_bottom", "sandstone_all"); else - return new ModelBlock(getTexture(state.getValue(VARIANT))).slab(state.getValue(HALF) == EnumBlockHalf.TOP); + return provider.getModel(getTexture(state.getValue(VARIANT))).slab(state.getValue(HALF) == EnumBlockHalf.TOP); } - public ModelBlock getModel(String name, IBlockState state) { - return new ModelBlock(state.getValue(VARIANT).getName() + "_planks").slab(state.getValue(HALF) == EnumBlockHalf.TOP); + public Model getModel(String name, IBlockState state) { + return provider.getModel(state.getValue(VARIANT).getName() + "_planks").slab(state.getValue(HALF) == EnumBlockHalf.TOP); } - public ModelBlock getModel(String name, IBlockState state) { - return new ModelBlock(state.getValue(VARIANT).getName() + "_planks").add().all(); + public Model getModel(String name, IBlockState state) { + return provider.getModel(state.getValue(VARIANT).getName() + "_planks").add().all(); } protected static String getTexture(BlockStoneSlab.EnumType type) { @@ -321,14 +321,14 @@ public class BlockSlab extends Block } } - public ModelBlock getModel(String name, IBlockState state) { + public Model getModel(String name, IBlockState state) { if(state.getValue(VARIANT) == EnumType.STONE) - return new ModelBlock("stone_slab_side").vslab(state.getValue(FACING), "double_stone_top"); + return provider.getModel("stone_slab_side").vslab(state.getValue(FACING), "double_stone_top"); else if(state.getValue(VARIANT) == EnumType.SAND) - return new ModelBlock("sandstone_normal").vslab(state.getValue(FACING), "sandstone_bottom", + return provider.getModel("sandstone_normal").vslab(state.getValue(FACING), "sandstone_bottom", "sandstone_all"); else - return new ModelBlock(getTexture(state.getValue(VARIANT))).vslab(state.getValue(FACING)); + return provider.getModel(getTexture(state.getValue(VARIANT))).vslab(state.getValue(FACING)); } private static String getTexture(BlockVertStoneSlab2.EnumType type) { @@ -342,20 +342,20 @@ public class BlockSlab extends Block } } - public ModelBlock getModel(String name, IBlockState state) { + public Model getModel(String name, IBlockState state) { if(state.getValue(VARIANT) == EnumType.QUARTZ) - return new ModelBlock("quartz_block_side").vslab(state.getValue(FACING), "quartz_block_bottom", + return provider.getModel("quartz_block_side").vslab(state.getValue(FACING), "quartz_block_bottom", "quartz_top"); else - return new ModelBlock(getTexture(state.getValue(VARIANT))).vslab(state.getValue(FACING)); + return provider.getModel(getTexture(state.getValue(VARIANT))).vslab(state.getValue(FACING)); } - public ModelBlock getModel(String name, IBlockState state) { - return new ModelBlock(state.getValue(VARIANT).getName() + "_planks").vslab(state.getValue(FACING)); + public Model getModel(String name, IBlockState state) { + return provider.getModel(state.getValue(VARIANT).getName() + "_planks").vslab(state.getValue(FACING)); } - public ModelBlock getModel(String name, IBlockState state) { - return new ModelBlock(state.getValue(VARIANT).getName() + "_planks").vslab(state.getValue(FACING)); + public Model getModel(String name, IBlockState state) { + return provider.getModel(state.getValue(VARIANT).getName() + "_planks").vslab(state.getValue(FACING)); } */ } diff --git a/java/src/game/block/BlockSlime.java b/java/src/game/block/BlockSlime.java index 27bdee5..81f0625 100755 --- a/java/src/game/block/BlockSlime.java +++ b/java/src/game/block/BlockSlime.java @@ -3,15 +3,16 @@ package game.block; import game.entity.Entity; import game.item.CheatTab; import game.material.Material; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.world.BlockPos; import game.world.State; import game.world.World; public class BlockSlime extends BlockBreakable { - private static final ModelBlock slime = new ModelBlock("slime") + private static final Model slime = ModelProvider.getModelProvider().getModel("slime") .add(0, 0, 0, 16, 16, 16) .d().uv(0, 0, 16, 16).noCull() .u().uv(0, 0, 16, 16).noCull() @@ -86,7 +87,7 @@ public class BlockSlime extends BlockBreakable super.onEntityCollidedWithBlock(worldIn, pos, entityIn); } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { return slime; } } diff --git a/java/src/game/block/BlockSnow.java b/java/src/game/block/BlockSnow.java index bff067b..f8b68fd 100755 --- a/java/src/game/block/BlockSnow.java +++ b/java/src/game/block/BlockSnow.java @@ -8,10 +8,11 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; +import game.model.Transforms; import game.properties.IProperty; import game.properties.PropertyInteger; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; import game.rng.Random; import game.tileentity.TileEntity; import game.world.BlockPos; @@ -181,9 +182,9 @@ public class BlockSnow extends Block return Transforms.LAYER; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { int height = state.getValue(LAYERS) * 2; - return height == 16 ? new ModelBlock("snow").add().all() : - new ModelBlock("snow").add(0, 0, 0, 16, height, 16).u().noCull().d().nswe().uv(0, 16 - height, 16, 16); + return height == 16 ? provider.getModel("snow").add().all() : + provider.getModel("snow").add(0, 0, 0, 16, height, 16).u().noCull().d().nswe().uv(0, 16 - height, 16, 16); } } diff --git a/java/src/game/block/BlockStainedGlass.java b/java/src/game/block/BlockStainedGlass.java index 6277a9a..8cd1807 100755 --- a/java/src/game/block/BlockStainedGlass.java +++ b/java/src/game/block/BlockStainedGlass.java @@ -7,10 +7,11 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyEnum; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.State; @@ -113,7 +114,7 @@ public class BlockStainedGlass extends BlockBreakable return new IProperty[] {COLOR}; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock(state.getValue(COLOR).getName() + "_glass").add().all(); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel(state.getValue(COLOR).getName() + "_glass").add().all(); } } diff --git a/java/src/game/block/BlockStainedGlassPane.java b/java/src/game/block/BlockStainedGlassPane.java index 7642973..405b2b1 100755 --- a/java/src/game/block/BlockStainedGlassPane.java +++ b/java/src/game/block/BlockStainedGlassPane.java @@ -7,9 +7,9 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.BlockLayer; import game.properties.IProperty; import game.properties.PropertyEnum; -import game.renderer.BlockLayer; import game.world.State; public class BlockStainedGlassPane extends BlockPane diff --git a/java/src/game/block/BlockStairs.java b/java/src/game/block/BlockStairs.java index 6b035eb..ed7fb59 100755 --- a/java/src/game/block/BlockStairs.java +++ b/java/src/game/block/BlockStairs.java @@ -10,14 +10,15 @@ import game.init.BlockRegistry; import game.init.Blocks; import game.item.CheatTab; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; +import game.model.Transforms; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyDirection; import game.properties.PropertyEnum; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; import game.rng.Random; +import game.util.Identifyable; import game.world.BlockPos; import game.world.BoundingBox; import game.world.Explosion; @@ -812,10 +813,10 @@ public class BlockStairs extends Block return Transforms.STAIRS; } - public ModelBlock getModel(String name, State state) { - String primary = this.modelBlock.getModel(BlockRegistry.REGISTRY.getNameForObject(this.modelBlock).toString(), this.modelState) + public Model getModel(ModelProvider provider, String name, State state) { + String primary = this.modelBlock.getModel(provider, BlockRegistry.REGISTRY.getNameForObject(this.modelBlock).toString(), this.modelState) .getPrimary(); - return new ModelBlock(primary) + return provider.getModel(primary) .stairs(state.getValue(HALF) == EnumHalf.TOP, state.getValue(SHAPE) == EnumShape.INNER_RIGHT || state.getValue(SHAPE) == EnumShape.INNER_LEFT, state.getValue(SHAPE) == EnumShape.OUTER_RIGHT || state.getValue(SHAPE) == EnumShape.OUTER_LEFT, state.getValue(SHAPE) == EnumShape.INNER_LEFT || @@ -828,7 +829,7 @@ public class BlockStairs extends Block ); } - public static enum EnumHalf implements IStringSerializable + public static enum EnumHalf implements Identifyable { TOP("top"), BOTTOM("bottom"); @@ -851,7 +852,7 @@ public class BlockStairs extends Block } } - public static enum EnumShape implements IStringSerializable + public static enum EnumShape implements Identifyable { STRAIGHT("straight"), INNER_LEFT("inner_left"), diff --git a/java/src/game/block/BlockStem.java b/java/src/game/block/BlockStem.java index f8b3364..5b715de 100755 --- a/java/src/game/block/BlockStem.java +++ b/java/src/game/block/BlockStem.java @@ -9,11 +9,12 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; import game.properties.PropertyDirection; import game.properties.PropertyInteger; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.BlockPos; import game.world.Facing; @@ -238,13 +239,13 @@ public class BlockStem extends BlockBush implements IGrowable return new IProperty[] {AGE, FACING}; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { String stem = name; String upperstem = name + "_connected"; if(state.getValue(FACING) == Facing.UP) { switch(state.getValue(AGE)) { case 0: - return new ModelBlock(stem).noOcclude() + return provider.getModel(stem).noOcclude() .add(0, -1, 8, 16, 1, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true) .n().uv(0, 0, 16, 2).tint().noCull() .s().uv(16, 0, 0, 2).tint().noCull() @@ -252,7 +253,7 @@ public class BlockStem extends BlockBush implements IGrowable .w().uv(0, 0, 16, 2).tint().noCull() .e().uv(16, 0, 0, 2).tint().noCull(); case 1: - return new ModelBlock(stem).noOcclude() + return provider.getModel(stem).noOcclude() .add(0, -1, 8, 16, 3, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true) .n().uv(0, 0, 16, 4).tint().noCull() .s().uv(16, 0, 0, 4).tint().noCull() @@ -260,7 +261,7 @@ public class BlockStem extends BlockBush implements IGrowable .w().uv(0, 0, 16, 4).tint().noCull() .e().uv(16, 0, 0, 4).tint().noCull(); case 2: - return new ModelBlock(stem).noOcclude() + return provider.getModel(stem).noOcclude() .add(0, -1, 8, 16, 5, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true) .n().uv(0, 0, 16, 6).tint().noCull() .s().uv(16, 0, 0, 6).tint().noCull() @@ -268,7 +269,7 @@ public class BlockStem extends BlockBush implements IGrowable .w().uv(0, 0, 16, 6).tint().noCull() .e().uv(16, 0, 0, 6).tint().noCull(); case 3: - return new ModelBlock(stem).noOcclude() + return provider.getModel(stem).noOcclude() .add(0, -1, 8, 16, 7, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true) .n().uv(0, 0, 16, 8).tint().noCull() .s().uv(16, 0, 0, 8).tint().noCull() @@ -276,7 +277,7 @@ public class BlockStem extends BlockBush implements IGrowable .w().uv(0, 0, 16, 8).tint().noCull() .e().uv(16, 0, 0, 8).tint().noCull(); case 4: - return new ModelBlock(stem).noOcclude() + return provider.getModel(stem).noOcclude() .add(0, -1, 8, 16, 9, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true) .n().uv(0, 0, 16, 10).tint().noCull() .s().uv(16, 0, 0, 10).tint().noCull() @@ -284,7 +285,7 @@ public class BlockStem extends BlockBush implements IGrowable .w().uv(0, 0, 16, 10).tint().noCull() .e().uv(16, 0, 0, 10).tint().noCull(); case 5: - return new ModelBlock(stem).noOcclude() + return provider.getModel(stem).noOcclude() .add(0, -1, 8, 16, 11, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true) .n().uv(0, 0, 16, 12).tint().noCull() .s().uv(16, 0, 0, 12).tint().noCull() @@ -292,7 +293,7 @@ public class BlockStem extends BlockBush implements IGrowable .w().uv(0, 0, 16, 12).tint().noCull() .e().uv(16, 0, 0, 12).tint().noCull(); case 6: - return new ModelBlock(stem).noOcclude() + return provider.getModel(stem).noOcclude() .add(0, -1, 8, 16, 13, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true) .n().uv(0, 0, 16, 14).tint().noCull() .s().uv(16, 0, 0, 14).tint().noCull() @@ -301,7 +302,7 @@ public class BlockStem extends BlockBush implements IGrowable .e().uv(16, 0, 0, 14).tint().noCull(); case 7: default: - return new ModelBlock(stem).noOcclude() + return provider.getModel(stem).noOcclude() .add(0, -1, 8, 16, 15, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true) .n().uv(0, 0, 16, 16).tint().noCull() .s().uv(16, 0, 0, 16).tint().noCull() @@ -311,7 +312,7 @@ public class BlockStem extends BlockBush implements IGrowable } } else { - return new ModelBlock(stem).noOcclude() + return provider.getModel(stem).noOcclude() .add(0, -1, 8, 16, 7, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true) .n().uv(0, 0, 16, 8).tint().noCull() .s().uv(16, 0, 0, 8).tint().noCull() diff --git a/java/src/game/block/BlockStoneBrick.java b/java/src/game/block/BlockStoneBrick.java index 3b0389d..5300cf5 100755 --- a/java/src/game/block/BlockStoneBrick.java +++ b/java/src/game/block/BlockStoneBrick.java @@ -6,10 +6,11 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; +import game.util.Identifyable; import game.world.State; public class BlockStoneBrick extends Block @@ -68,11 +69,11 @@ public class BlockStoneBrick extends Block return new IProperty[] {VARIANT}; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("stonebrick_" + state.getValue(VARIANT).getTexture()).add().all(); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("stonebrick_" + state.getValue(VARIANT).getTexture()).add().all(); } - public static enum EnumType implements IStringSerializable + public static enum EnumType implements Identifyable { DEFAULT("default", 0, "stonebrick", "Steinziegel"), MOSSY("mossy", 1, "mossy_stonebrick", "Bemooste Steinziegel"), diff --git a/java/src/game/block/BlockTNT.java b/java/src/game/block/BlockTNT.java index 843a60b..17e4550 100755 --- a/java/src/game/block/BlockTNT.java +++ b/java/src/game/block/BlockTNT.java @@ -13,10 +13,11 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyBool; import game.properties.PropertyInteger; -import game.renderer.blockmodel.ModelBlock; import game.world.BlockPos; import game.world.Explosion; import game.world.Facing; @@ -183,9 +184,9 @@ public class BlockTNT extends Block return true; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { String power = state.getValue(POWER) == 0 ? "" : ("_" + state.getValue(POWER)); - return new ModelBlock("tnt_side" + power).add().nswe().d("tnt_bottom" + power).u("tnt_top" + power); + return provider.getModel("tnt_side" + power).add().nswe().d("tnt_bottom" + power).u("tnt_top" + power); } public IProperty[] getIgnoredProperties() { diff --git a/java/src/game/block/BlockTallGrass.java b/java/src/game/block/BlockTallGrass.java index 0ac4605..bcf86a7 100755 --- a/java/src/game/block/BlockTallGrass.java +++ b/java/src/game/block/BlockTallGrass.java @@ -12,12 +12,13 @@ import game.item.Item; import game.item.ItemShears; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.tileentity.TileEntity; +import game.util.Identifyable; import game.world.BlockPos; import game.world.IWorldAccess; import game.world.State; @@ -187,14 +188,14 @@ public class BlockTallGrass extends BlockBush implements IGrowable // return EnumOffsetType.XYZ; // } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { if(state.getValue(TYPE) != EnumType.DEAD_BUSH) - return new ModelBlock(state.getValue(TYPE).getName()).crossTint(); + return provider.getModel(state.getValue(TYPE).getName()).crossTint(); else - return new ModelBlock("deadbush").cross(); + return provider.getModel("deadbush").cross(); } - public static enum EnumType implements IStringSerializable + public static enum EnumType implements Identifyable { DEAD_BUSH(0, "dead_bush"), GRASS(1, "tall_grass"), diff --git a/java/src/game/block/BlockTianReactor.java b/java/src/game/block/BlockTianReactor.java index f480c46..f1b7ca0 100755 --- a/java/src/game/block/BlockTianReactor.java +++ b/java/src/game/block/BlockTianReactor.java @@ -2,8 +2,9 @@ package game.block; import java.util.Map; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; -import game.renderer.blockmodel.ModelBlock; import game.tileentity.TileEntity; import game.tileentity.TileEntityTianReactor; import game.world.State; @@ -14,8 +15,8 @@ public class BlockTianReactor extends BlockMachine { return new TileEntityTianReactor(); } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("tian_reactor_front").add().d("tian_reactor_bottom").u("tian_reactor_top").n().s("tian_reactor_side") + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("tian_reactor_front").add().d("tian_reactor_bottom").u("tian_reactor_top").n().s("tian_reactor_side") .we("tian_reactor_side").rotate(ModelRotation.getNorthRot(state.getValue(FACING))); } diff --git a/java/src/game/block/BlockTianSoil.java b/java/src/game/block/BlockTianSoil.java index fbfea0f..e898bae 100755 --- a/java/src/game/block/BlockTianSoil.java +++ b/java/src/game/block/BlockTianSoil.java @@ -4,9 +4,10 @@ import game.init.Blocks; import game.item.CheatTab; import game.item.Item; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyBool; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.BlockPos; import game.world.IWorldAccess; @@ -44,10 +45,10 @@ public class BlockTianSoil extends Block return new IProperty[] {SNOWY}; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { if(state.getValue(SNOWY)) - return new ModelBlock("tian_soil_side_snowed").add().nswe().d("tian").u("grass_top"); + return provider.getModel("tian_soil_side_snowed").add().nswe().d("tian").u("grass_top"); else - return new ModelBlock("tian_soil_side").add().nswe().d("tian").u("tian_soil_top"); + return provider.getModel("tian_soil_side").add().nswe().d("tian").u("tian_soil_top"); } } diff --git a/java/src/game/block/BlockTorch.java b/java/src/game/block/BlockTorch.java index 5aff3b1..717009c 100755 --- a/java/src/game/block/BlockTorch.java +++ b/java/src/game/block/BlockTorch.java @@ -6,12 +6,13 @@ import game.entity.types.EntityLiving; import game.init.Blocks; import game.item.CheatTab; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; +import game.model.ParticleType; import game.properties.IProperty; import game.properties.PropertyDirection; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.particle.ParticleType; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; @@ -332,9 +333,9 @@ public class BlockTorch extends Block return new IProperty[] {FACING}; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { if(state.getValue(FACING) == Facing.UP) - return new ModelBlock(name).noOcclude() + return provider.getModel(name).noOcclude() .add(7, 0, 7, 9, 10, 9).noShade() .d().uv(7, 13, 9, 15).noCull() .u().uv(7, 6, 9, 8).noCull() @@ -345,7 +346,7 @@ public class BlockTorch extends Block .n().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull(); else - return new ModelBlock(name).noOcclude() + return provider.getModel(name).noOcclude() .add(-1, 3.5f, 7, 1, 13.5f, 9).noShade().rotate(0, 3.5f, 8, Facing.Axis.Z, -22.5f, false) .d().uv(7, 13, 9, 15).noCull() .u().uv(7, 6, 9, 8).noCull() diff --git a/java/src/game/block/BlockTrapDoor.java b/java/src/game/block/BlockTrapDoor.java index edc6932..55ffc46 100755 --- a/java/src/game/block/BlockTrapDoor.java +++ b/java/src/game/block/BlockTrapDoor.java @@ -5,15 +5,16 @@ import game.entity.types.EntityLiving; import game.init.Blocks; import game.item.CheatTab; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; +import game.model.Transforms; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyBool; import game.properties.PropertyDirection; import game.properties.PropertyEnum; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; +import game.util.Identifyable; import game.world.BlockPos; import game.world.BoundingBox; import game.world.Facing; @@ -298,10 +299,10 @@ public class BlockTrapDoor extends Block return Transforms.FLAT; } - public ModelBlock getModel(String name, State state) { - ModelBlock model; + public Model getModel(ModelProvider provider, String name, State state) { + Model model; if(state.getValue(OPEN)) { - model = new ModelBlock(name) + model = provider.getModel(name) .add(0, 0, 13, 16, 16, 16) .d().uv(0, 13, 16, 16) .u().uv(0, 16, 16, 13) @@ -311,7 +312,7 @@ public class BlockTrapDoor extends Block .e().uv(13, 0, 16, 16); } else if(state.getValue(HALF) == DoorHalf.TOP) { - model = new ModelBlock(name) + model = provider.getModel(name) .add(0, 13, 0, 16, 16, 16) .d().uv(0, 0, 16, 16).noCull() .u().uv(0, 0, 16, 16) @@ -321,7 +322,7 @@ public class BlockTrapDoor extends Block .e().uv(0, 16, 16, 13); } else { - model = new ModelBlock(name) + model = provider.getModel(name) .add(0, 0, 0, 16, 3, 16) .d().uv(0, 0, 16, 16) .u().uv(0, 0, 16, 16).noCull() @@ -333,7 +334,7 @@ public class BlockTrapDoor extends Block return model.rotate(ModelRotation.getNorthRot(state.getValue(FACING))); } - public static enum DoorHalf implements IStringSerializable + public static enum DoorHalf implements Identifyable { TOP("top"), BOTTOM("bottom"); diff --git a/java/src/game/block/BlockTripWire.java b/java/src/game/block/BlockTripWire.java index 7252904..11e1a08 100755 --- a/java/src/game/block/BlockTripWire.java +++ b/java/src/game/block/BlockTripWire.java @@ -9,11 +9,12 @@ import game.init.Items; import game.item.Item; import game.item.ItemShears; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; import game.properties.PropertyBool; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; @@ -303,9 +304,9 @@ public class BlockTripWire extends Block return new IProperty[] {POWERED, SUSPENDED, ATTACHED, DISARMED, NORTH, EAST, WEST, SOUTH}; } - private static ModelBlock getModelDetached(boolean n, boolean s, boolean w, boolean e, int sides) { + private static Model getModelDetached(boolean n, boolean s, boolean w, boolean e, int sides) { if(sides == 1) - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .d().uv(0, 2, 16, 0).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull() @@ -317,7 +318,7 @@ public class BlockTripWire extends Block .u().uv(0, 0, 16, 2).rot(90).noCull() .rotate(n ? ModelRotation.X0_Y0 : (s ? ModelRotation.X0_Y180 : (w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else if(sides == 2 && ((e != w) || (n != s))) - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .d().uv(0, 2, 16, 0).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull() @@ -333,7 +334,7 @@ public class BlockTripWire extends Block .rotate(n && e ? ModelRotation.X0_Y0 : (s && w ? ModelRotation.X0_Y180 : (n && w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else if(sides == 2) - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .d().uv(0, 2, 16, 0).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull() @@ -348,7 +349,7 @@ public class BlockTripWire extends Block .u().uv(0, 0, 16, 2).rot(90).noCull() .rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90); else if(sides == 3) - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .d().uv(0, 2, 16, 0).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull() @@ -369,7 +370,7 @@ public class BlockTripWire extends Block .u().uv(0, 0, 16, 2).noCull() .rotate(!w ? ModelRotation.X0_Y0 : (!e ? ModelRotation.X0_Y180 : (!s ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .d().uv(0, 2, 16, 0).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull() @@ -396,9 +397,9 @@ public class BlockTripWire extends Block .u().uv(0, 0, 16, 2).noCull(); } - private static ModelBlock getModelAttached(boolean n, boolean s, boolean w, boolean e, int sides) { + private static Model getModelAttached(boolean n, boolean s, boolean w, boolean e, int sides) { if(sides == 1) - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .d().uv(0, 4, 16, 2).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull() @@ -410,7 +411,7 @@ public class BlockTripWire extends Block .u().uv(0, 2, 16, 4).rot(90).noCull() .rotate(n ? ModelRotation.X0_Y0 : (s ? ModelRotation.X0_Y180 : (w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else if(sides == 2 && ((e != w) || (n != s))) - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .d().uv(0, 4, 16, 2).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull() @@ -426,7 +427,7 @@ public class BlockTripWire extends Block .rotate(n && e ? ModelRotation.X0_Y0 : (s && w ? ModelRotation.X0_Y180 : (n && w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else if(sides == 2) - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .d().uv(0, 4, 16, 2).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull() @@ -441,7 +442,7 @@ public class BlockTripWire extends Block .u().uv(0, 2, 16, 4).rot(90).noCull() .rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90); else if(sides == 3) - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .d().uv(0, 4, 16, 2).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull() @@ -462,7 +463,7 @@ public class BlockTripWire extends Block .u().uv(0, 2, 16, 4).noCull() .rotate(!w ? ModelRotation.X0_Y0 : (!e ? ModelRotation.X0_Y180 : (!s ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .d().uv(0, 4, 16, 2).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull() @@ -489,9 +490,9 @@ public class BlockTripWire extends Block .u().uv(0, 2, 16, 4).noCull(); } - private static ModelBlock getModelDetSuspend(boolean n, boolean s, boolean w, boolean e, int sides) { + private static Model getModelDetSuspend(boolean n, boolean s, boolean w, boolean e, int sides) { if(sides == 1) - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .d().uv(0, 2, 16, 0).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull() @@ -503,7 +504,7 @@ public class BlockTripWire extends Block .u().uv(0, 0, 16, 2).rot(90).noCull() .rotate(n ? ModelRotation.X0_Y0 : (s ? ModelRotation.X0_Y180 : (w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else if(sides == 2 && ((e != w) || (n != s))) - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .d().uv(0, 2, 16, 0).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull() @@ -519,7 +520,7 @@ public class BlockTripWire extends Block .rotate(n && e ? ModelRotation.X0_Y0 : (s && w ? ModelRotation.X0_Y180 : (n && w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else if(sides == 2) - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .d().uv(0, 2, 16, 0).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull() @@ -534,7 +535,7 @@ public class BlockTripWire extends Block .u().uv(0, 0, 16, 2).rot(90).noCull() .rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90); else if(sides == 3) - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .d().uv(0, 2, 16, 0).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull() @@ -555,7 +556,7 @@ public class BlockTripWire extends Block .u().uv(0, 0, 16, 2).noCull() .rotate(!w ? ModelRotation.X0_Y0 : (!e ? ModelRotation.X0_Y180 : (!s ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .d().uv(0, 2, 16, 0).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull() @@ -582,9 +583,9 @@ public class BlockTripWire extends Block .u().uv(0, 0, 16, 2).noCull(); } - private static ModelBlock getModelAttSuspend(boolean n, boolean s, boolean w, boolean e, int sides) { + private static Model getModelAttSuspend(boolean n, boolean s, boolean w, boolean e, int sides) { if(sides == 1) - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .d().uv(0, 4, 16, 2).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull() @@ -596,7 +597,7 @@ public class BlockTripWire extends Block .u().uv(0, 2, 16, 4).rot(90).noCull() .rotate(n ? ModelRotation.X0_Y0 : (s ? ModelRotation.X0_Y180 : (w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else if(sides == 2 && ((e != w) || (n != s))) - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .d().uv(0, 4, 16, 2).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull() @@ -612,7 +613,7 @@ public class BlockTripWire extends Block .rotate(n && e ? ModelRotation.X0_Y0 : (s && w ? ModelRotation.X0_Y180 : (n && w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else if(sides == 2) - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .d().uv(0, 4, 16, 2).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull() @@ -627,7 +628,7 @@ public class BlockTripWire extends Block .u().uv(0, 2, 16, 4).rot(90).noCull() .rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90); else if(sides == 3) - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .d().uv(0, 4, 16, 2).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull() @@ -648,7 +649,7 @@ public class BlockTripWire extends Block .u().uv(0, 2, 16, 4).noCull() .rotate(!w ? ModelRotation.X0_Y0 : (!e ? ModelRotation.X0_Y180 : (!s ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else - return new ModelBlock("trip_wire").noOcclude() + return ModelProvider.getModelProvider().getModel("trip_wire").noOcclude() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .d().uv(0, 4, 16, 2).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull() @@ -675,7 +676,7 @@ public class BlockTripWire extends Block .u().uv(0, 2, 16, 4).noCull(); } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { boolean n = state.getValue(NORTH); boolean s = state.getValue(SOUTH); boolean w = state.getValue(WEST); diff --git a/java/src/game/block/BlockTripWireHook.java b/java/src/game/block/BlockTripWireHook.java index c1cfb43..5dc6835 100755 --- a/java/src/game/block/BlockTripWireHook.java +++ b/java/src/game/block/BlockTripWireHook.java @@ -6,12 +6,13 @@ import game.init.SoundEvent; import game.item.CheatTab; import game.item.ItemStack; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; import game.properties.PropertyBool; import game.properties.PropertyDirection; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; @@ -377,12 +378,12 @@ public class BlockTripWireHook extends Block return true; } - public ModelBlock getModel(String name, State state) { - ModelBlock model; + public Model getModel(ModelProvider provider, String name, State state) { + Model model; if(state.getValue(ATTACHED)) { if(state.getValue(SUSPENDED)) { if(state.getValue(POWERED)) - model = new ModelBlock("oak_planks") + model = provider.getModel("oak_planks") .add(7.75f, 2.5f, 0, 8.25f, 2.5f, 6.7f).rotate(8, 0, 0, Facing.Axis.X, -22.5f, true) .d("trip_wire").uv(0, 8, 16, 6).rot(90).noCull() .u("trip_wire").uv(0, 6, 16, 8).rot(90).noCull() @@ -416,7 +417,7 @@ public class BlockTripWireHook extends Block .w().uv(0, 7, 2, 15).noCull() .e().uv(14, 7, 16, 15).noCull(); else - model = new ModelBlock("oak_planks") + model = provider.getModel("oak_planks") .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 6.7f).rotate(8, 0, 0, Facing.Axis.X, -22.5f, true) .d("trip_wire").uv(0, 8, 16, 6).rot(90).noCull() .u("trip_wire").uv(0, 6, 16, 8).rot(90).noCull() @@ -452,7 +453,7 @@ public class BlockTripWireHook extends Block } else { if(state.getValue(POWERED)) - model = new ModelBlock("oak_planks") + model = provider.getModel("oak_planks") .add(7.75f, 0.5f, 0, 8.25f, 0.5f, 6.7f).rotate(8, 0, 0, Facing.Axis.X, -22.5f, true) .d("trip_wire").uv(0, 8, 16, 6).rot(90).noCull() .u("trip_wire").uv(0, 6, 16, 8).rot(90).noCull() @@ -486,7 +487,7 @@ public class BlockTripWireHook extends Block .w().uv(0, 7, 2, 15).noCull() .e().uv(14, 7, 16, 15).noCull(); else - model = new ModelBlock("oak_planks") + model = provider.getModel("oak_planks") .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 6.7f).rotate(8, 0, 0, Facing.Axis.X, -22.5f, true) .d("trip_wire").uv(0, 8, 16, 6).rot(90).noCull() .u("trip_wire").uv(0, 6, 16, 8).rot(90).noCull() @@ -523,7 +524,7 @@ public class BlockTripWireHook extends Block } else { if(state.getValue(POWERED)) - model = new ModelBlock("oak_planks") + model = provider.getModel("oak_planks") .add(6.2f, 4.2f, 6.7f, 9.8f, 5, 10.3f) .d("tripwire_hook").uv(5, 3, 11, 9).noCull() .u("tripwire_hook").uv(5, 3, 11, 9).noCull() @@ -554,7 +555,7 @@ public class BlockTripWireHook extends Block .w().uv(0, 7, 2, 15).noCull() .e().uv(14, 7, 16, 15).noCull(); else - model = new ModelBlock("oak_planks") + model = provider.getModel("oak_planks") .add(6.2f, 3.8f, 7.9f, 9.8f, 4.6f, 11.5f).rotate(8, 6, 5.2f, Facing.Axis.X, -45, false) .d("tripwire_hook").uv(5, 3, 11, 9).noCull() .u("tripwire_hook").uv(5, 3, 11, 9).noCull() diff --git a/java/src/game/block/BlockVine.java b/java/src/game/block/BlockVine.java index 779cd88..b7d516e 100755 --- a/java/src/game/block/BlockVine.java +++ b/java/src/game/block/BlockVine.java @@ -10,11 +10,12 @@ import game.item.Item; import game.item.ItemShears; import game.item.ItemStack; import game.material.Material; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; import game.properties.PropertyBool; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.tileentity.TileEntity; import game.world.BlockPos; @@ -518,8 +519,8 @@ public class BlockVine extends Block return i; } - public ModelBlock getModel(String name, State state) { - ModelBlock model = new ModelBlock("vine").noOcclude(); + public Model getModel(ModelProvider provider, String name, State state) { + Model model = provider.getModel("vine").noOcclude(); if(state.getValue(UP)) model.add(0, 15.2f, 0, 16, 15.2f, 16).noShade() .d().uv(0, 0, 16, 16).tint().noCull() diff --git a/java/src/game/block/BlockWall.java b/java/src/game/block/BlockWall.java index 38383f3..c49c0ca 100755 --- a/java/src/game/block/BlockWall.java +++ b/java/src/game/block/BlockWall.java @@ -6,12 +6,13 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; import game.properties.IProperty; -import game.properties.IStringSerializable; import game.properties.PropertyBool; import game.properties.PropertyEnum; -import game.renderer.blockmodel.ModelBlock; +import game.util.Identifyable; import game.world.BlockPos; import game.world.BoundingBox; import game.world.Facing; @@ -181,7 +182,7 @@ public class BlockWall extends Block return new IProperty[] {UP, NORTH, EAST, WEST, SOUTH, VARIANT}; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { String wall = state.getValue(VARIANT).getName(); boolean n = state.getValue(NORTH); boolean s = state.getValue(SOUTH); @@ -189,7 +190,7 @@ public class BlockWall extends Block boolean e = state.getValue(EAST); int sides = (n ? 1 : 0) + (s ? 1 : 0) + (w ? 1 : 0) + (e ? 1 : 0); if(sides == 0) - return new ModelBlock(wall) + return provider.getModel(wall) .add(4, 0, 4, 12, 16, 12) .d().uv(4, 4, 12, 12) .u().uv(4, 4, 12, 12) @@ -198,7 +199,7 @@ public class BlockWall extends Block .w().uv(4, 0, 12, 16).noCull() .e().uv(4, 0, 12, 16).noCull(); else if(sides == 4) - return new ModelBlock(wall) + return provider.getModel(wall) .add(4, 0, 4, 12, 16, 12) .d().uv(4, 4, 12, 12) .u().uv(4, 4, 12, 12) @@ -231,7 +232,7 @@ public class BlockWall extends Block .s().uv(0, 3, 4, 16).noCull() .w().uv(5, 3, 11, 16); else if(sides == 1) - return new ModelBlock(wall).uvLock() + return provider.getModel(wall).uvLock() .add(4, 0, 4, 12, 16, 12) .d().uv(4, 4, 12, 12) .u().uv(4, 4, 12, 12) @@ -247,7 +248,7 @@ public class BlockWall extends Block .e().uv(0, 3, 4, 16).noCull() .rotate(n ? ModelRotation.X0_Y0 : (s ? ModelRotation.X0_Y180 : (w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else if(sides == 2 && ((e != w) || (n != s))) - return new ModelBlock(wall).uvLock() + return provider.getModel(wall).uvLock() .add(4, 0, 4, 12, 16, 12) .d().uv(4, 4, 12, 12) .u().uv(4, 4, 12, 12) @@ -270,7 +271,7 @@ public class BlockWall extends Block .rotate(n && e ? ModelRotation.X0_Y0 : (s && w ? ModelRotation.X0_Y180 : (n && w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); else if(sides == 2 && state.getValue(UP)) - return new ModelBlock(wall).uvLock() + return provider.getModel(wall).uvLock() .add(4, 0, 4, 12, 16, 12) .d().uv(4, 4, 12, 12) .u().uv(4, 4, 12, 12) @@ -287,7 +288,7 @@ public class BlockWall extends Block .e().uv(0, 3, 16, 16).noCull() .rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90); else if(sides == 2) - return new ModelBlock(wall).uvLock() + return provider.getModel(wall).uvLock() .add(5, 0, 0, 11, 13, 16) .d().uv(5, 0, 11, 16) .u().uv(5, 0, 11, 16).noCull() @@ -297,7 +298,7 @@ public class BlockWall extends Block .e().uv(0, 3, 16, 16).noCull() .rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90); else - return new ModelBlock(wall).uvLock() + return provider.getModel(wall).uvLock() .add(4, 0, 4, 12, 16, 12) .d().uv(4, 4, 12, 12) .u().uv(4, 4, 12, 12) @@ -326,7 +327,7 @@ public class BlockWall extends Block .rotate(!w ? ModelRotation.X0_Y0 : (!e ? ModelRotation.X0_Y180 : (!s ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); } - public static enum EnumType implements IStringSerializable + public static enum EnumType implements Identifyable { NORMAL(0, "cobblestone", "Bruchsteinmauer"), MOSSY(1, "mossy_cobblestone", "Bemooste Bruchsteinmauer"); diff --git a/java/src/game/block/BlockWarpChest.java b/java/src/game/block/BlockWarpChest.java index 423ad01..a8776d2 100755 --- a/java/src/game/block/BlockWarpChest.java +++ b/java/src/game/block/BlockWarpChest.java @@ -9,11 +9,12 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.model.ModelRotation; +import game.model.ParticleType; import game.properties.IProperty; import game.properties.PropertyDirection; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.particle.ParticleType; import game.rng.Random; import game.world.BlockPos; import game.world.Facing; @@ -54,8 +55,8 @@ public class BlockWarpChest extends Block // return 2; // } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("warp_chest_side").add(1, 0, 1, 15, 14, 15).d("warp_chest_top").u("warp_chest_top").noCull() + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("warp_chest_side").add(1, 0, 1, 15, 14, 15).d("warp_chest_top").u("warp_chest_top").noCull() .n("warp_chest_front").noCull().s().noCull().we().noCull().rotate(ModelRotation.getNorthRot(state.getValue(FACING))); } diff --git a/java/src/game/block/BlockWart.java b/java/src/game/block/BlockWart.java index ee31c6a..c77813c 100755 --- a/java/src/game/block/BlockWart.java +++ b/java/src/game/block/BlockWart.java @@ -7,9 +7,10 @@ import game.item.CheatTab; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.Model; +import game.model.ModelProvider; import game.properties.IProperty; import game.properties.PropertyInteger; -import game.renderer.blockmodel.ModelBlock; import game.rng.Random; import game.world.BlockPos; import game.world.State; @@ -126,8 +127,8 @@ public class BlockWart extends BlockBush return new IProperty[] {AGE}; } - public ModelBlock getModel(String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { int age = state.getValue(AGE); - return BlockCrops.crop(name + "_" + (age >= 2 ? age - 1 : age)); + return BlockCrops.crop(provider, name + "_" + (age >= 2 ? age - 1 : age)); } } diff --git a/java/src/game/block/BlockWeb.java b/java/src/game/block/BlockWeb.java index e7cf5c4..261b092 100755 --- a/java/src/game/block/BlockWeb.java +++ b/java/src/game/block/BlockWeb.java @@ -5,8 +5,9 @@ import game.init.Items; import game.item.CheatTab; import game.item.Item; import game.material.Material; -import game.renderer.BlockLayer; -import game.renderer.blockmodel.ModelBlock; +import game.model.BlockLayer; +import game.model.Model; +import game.model.ModelProvider; import game.rng.Random; import game.world.BlockPos; import game.world.BoundingBox; @@ -65,7 +66,7 @@ public class BlockWeb extends Block return BlockLayer.CUTOUT; } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("web").cross(); + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("web").cross(); } } diff --git a/java/src/game/block/BlockWorkbench.java b/java/src/game/block/BlockWorkbench.java index 453d852..a970372 100755 --- a/java/src/game/block/BlockWorkbench.java +++ b/java/src/game/block/BlockWorkbench.java @@ -6,7 +6,8 @@ import game.inventory.ContainerWorkbench; import game.inventory.InventoryPlayer; import game.item.CheatTab; import game.material.Material; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; import game.tileentity.IInteractionObject; import game.world.BlockPos; import game.world.Facing; @@ -35,8 +36,8 @@ public class BlockWorkbench extends Block } } - public ModelBlock getModel(String name, State state) { - return new ModelBlock("crafting_table_front").add().d("oak_planks").u("crafting_table_top").n().s("crafting_table_side") + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel("crafting_table_front").add().d("oak_planks").u("crafting_table_top").n().s("crafting_table_side") .w().e("crafting_table_side"); } diff --git a/java/src/game/block/LeavesType.java b/java/src/game/block/LeavesType.java index 22bc1cb..faa13f1 100755 --- a/java/src/game/block/LeavesType.java +++ b/java/src/game/block/LeavesType.java @@ -1,8 +1,8 @@ package game.block; -import game.properties.IStringSerializable; +import game.util.Identifyable; -public enum LeavesType implements IStringSerializable { +public enum LeavesType implements Identifyable { SPRING(0, "spring", true, "Frühling"), SUMMER(1, "summer", true, "Sommer"), AUTUMN(2, "autumn", false, "Herbst"), diff --git a/java/src/game/audio/SoundType.java b/java/src/game/block/SoundType.java similarity index 94% rename from java/src/game/audio/SoundType.java rename to java/src/game/block/SoundType.java index 74c6519..9dfc4ec 100755 --- a/java/src/game/audio/SoundType.java +++ b/java/src/game/block/SoundType.java @@ -1,4 +1,4 @@ -package game.audio; +package game.block; import game.init.SoundEvent; diff --git a/java/src/game/clipboard/ClipboardPlacer.java b/java/src/game/clipboard/ClipboardPlacer.java index 02dd51b..5a94c52 100755 --- a/java/src/game/clipboard/ClipboardPlacer.java +++ b/java/src/game/clipboard/ClipboardPlacer.java @@ -8,12 +8,11 @@ import java.util.List; import java.util.Map; import java.util.Set; -import game.collect.Lists; - import game.block.Block; import game.block.BlockDoor; import game.block.BlockRailBase; import game.block.ITileEntityProvider; +import game.collect.Lists; import game.init.Blocks; import game.init.ReorderRegistry; import game.inventory.IInventory; diff --git a/java/src/game/color/Colorizer.java b/java/src/game/color/Colorizer.java index 2b42b87..0e45326 100755 --- a/java/src/game/color/Colorizer.java +++ b/java/src/game/color/Colorizer.java @@ -2,8 +2,8 @@ package game.color; import java.awt.image.BufferedImage; +import client.renderer.texture.TextureUtil; import game.biome.Biome; -import game.renderer.texture.TextureUtil; import game.util.FileUtils; import game.world.BlockPos; import game.world.IWorldAccess; diff --git a/java/src/game/color/DyeColor.java b/java/src/game/color/DyeColor.java index 8681ee5..497f6b5 100755 --- a/java/src/game/color/DyeColor.java +++ b/java/src/game/color/DyeColor.java @@ -3,10 +3,9 @@ package game.color; import java.util.Map; import game.collect.Maps; +import game.util.Identifyable; -import game.properties.IStringSerializable; - -public enum DyeColor implements IStringSerializable +public enum DyeColor implements Identifyable { WHITE(0, 15, "white", "Weiß", "Weißes", "Weißer", "Weiße", "Knochenmehl", 16777215, TextColor.WHITE), ORANGE(1, 14, "orange", "Orange", "Oranges", "Oranger", "Orange", "Oranger Farbstoff", 14188339, TextColor.ORANGE), diff --git a/java/src/game/command/Command.java b/java/src/game/command/Command.java index cfb029e..42f8e5e 100644 --- a/java/src/game/command/Command.java +++ b/java/src/game/command/Command.java @@ -7,7 +7,6 @@ import java.util.Map; import game.collect.Lists; import game.collect.Maps; - import game.command.DoubleParser.DefType; import game.world.Vec3; import game.world.World; diff --git a/java/src/game/command/CommandEnvironment.java b/java/src/game/command/CommandEnvironment.java index 458a2c2..5b4b243 100644 --- a/java/src/game/command/CommandEnvironment.java +++ b/java/src/game/command/CommandEnvironment.java @@ -10,10 +10,25 @@ import java.util.function.Function; import game.collect.Lists; import game.collect.Maps; import game.collect.Sets; -import game.Server; import game.color.TextColor; -import game.command.commands.*; +import game.command.commands.CommandAdmin; +import game.command.commands.CommandHelp; +import game.command.commands.CommandKick; +import game.command.commands.CommandMessage; +import game.command.commands.CommandMilk; +import game.command.commands.CommandOfflinetp; +import game.command.commands.CommandPotion; +import game.command.commands.CommandRemove; +import game.command.commands.CommandRevoke; +import game.command.commands.CommandSpawn; +import game.command.commands.CommandTele; +import game.command.commands.CommandTime; +import game.command.commands.CommandTp; +import game.command.commands.CommandWarp; +import game.command.commands.CommandWeather; +import game.command.commands.CommandWorld; import game.log.Log; +import server.Server; public class CommandEnvironment { private final Server server; diff --git a/java/src/game/command/FixedExecutor.java b/java/src/game/command/FixedExecutor.java index 04b5d43..465b298 100644 --- a/java/src/game/command/FixedExecutor.java +++ b/java/src/game/command/FixedExecutor.java @@ -1,9 +1,9 @@ package game.command; -import game.Server; import game.entity.Entity; import game.world.BlockPos; import game.world.Position; +import server.Server; public class FixedExecutor implements Executor { private final Server server; diff --git a/java/src/game/command/PlayerParser.java b/java/src/game/command/PlayerParser.java index 0c5d7c8..b9fc191 100644 --- a/java/src/game/command/PlayerParser.java +++ b/java/src/game/command/PlayerParser.java @@ -1,6 +1,7 @@ package game.command; import java.util.Collection; + import game.network.Player; public class PlayerParser extends CompletingParser { diff --git a/java/src/game/command/WorldParser.java b/java/src/game/command/WorldParser.java index c2df3bf..2c32352 100644 --- a/java/src/game/command/WorldParser.java +++ b/java/src/game/command/WorldParser.java @@ -4,7 +4,6 @@ import java.util.Collection; import java.util.List; import game.collect.Lists; - import game.dimension.Dimension; import game.world.WorldServer; diff --git a/java/src/game/command/commands/CommandAdmin.java b/java/src/game/command/commands/CommandAdmin.java index eb58a51..813948b 100644 --- a/java/src/game/command/commands/CommandAdmin.java +++ b/java/src/game/command/commands/CommandAdmin.java @@ -1,9 +1,9 @@ package game.command.commands; -import game.command.CommandEnvironment; -import game.command.RunException; import game.command.Command; +import game.command.CommandEnvironment; import game.command.Executor; +import game.command.RunException; import game.network.Player; public class CommandAdmin extends Command { diff --git a/java/src/game/command/commands/CommandHelp.java b/java/src/game/command/commands/CommandHelp.java index 3d2b988..5803721 100644 --- a/java/src/game/command/commands/CommandHelp.java +++ b/java/src/game/command/commands/CommandHelp.java @@ -5,13 +5,12 @@ import java.util.Map.Entry; import java.util.function.Function; import game.collect.Lists; - import game.command.ArgumentParser; import game.command.CachedExecutable; -import game.command.Parameter; -import game.command.CommandEnvironment; import game.command.Command; +import game.command.CommandEnvironment; import game.command.Executor; +import game.command.Parameter; import game.util.Util; public class CommandHelp extends Command { diff --git a/java/src/game/command/commands/CommandKick.java b/java/src/game/command/commands/CommandKick.java index 5f93b33..26f054a 100644 --- a/java/src/game/command/commands/CommandKick.java +++ b/java/src/game/command/commands/CommandKick.java @@ -1,9 +1,9 @@ package game.command.commands; -import game.command.CommandEnvironment; -import game.command.RunException; import game.command.Command; +import game.command.CommandEnvironment; import game.command.Executor; +import game.command.RunException; import game.network.Player; public class CommandKick extends Command { diff --git a/java/src/game/command/commands/CommandMessage.java b/java/src/game/command/commands/CommandMessage.java index ecd6702..997258f 100644 --- a/java/src/game/command/commands/CommandMessage.java +++ b/java/src/game/command/commands/CommandMessage.java @@ -1,7 +1,7 @@ package game.command.commands; -import game.command.CommandEnvironment; import game.command.Command; +import game.command.CommandEnvironment; import game.command.Executor; import game.packet.SPacketMessage; diff --git a/java/src/game/command/commands/CommandMilk.java b/java/src/game/command/commands/CommandMilk.java index 66c6769..a016afa 100644 --- a/java/src/game/command/commands/CommandMilk.java +++ b/java/src/game/command/commands/CommandMilk.java @@ -1,9 +1,10 @@ package game.command.commands; import java.util.List; + import game.collect.Lists; -import game.command.CommandEnvironment; import game.command.Command; +import game.command.CommandEnvironment; import game.command.Executor; import game.entity.types.EntityLiving; import game.potion.Potion; diff --git a/java/src/game/command/commands/CommandOfflinetp.java b/java/src/game/command/commands/CommandOfflinetp.java index a7340b7..f4b7591 100644 --- a/java/src/game/command/commands/CommandOfflinetp.java +++ b/java/src/game/command/commands/CommandOfflinetp.java @@ -2,9 +2,10 @@ package game.command.commands; import java.util.Collection; import java.util.List; -import game.command.CommandEnvironment; + import game.collect.Lists; import game.command.Command; +import game.command.CommandEnvironment; import game.command.Executor; import game.command.RunException; import game.command.StringCompleter; diff --git a/java/src/game/command/commands/CommandPotion.java b/java/src/game/command/commands/CommandPotion.java index edf0d5a..e5500e9 100644 --- a/java/src/game/command/commands/CommandPotion.java +++ b/java/src/game/command/commands/CommandPotion.java @@ -1,8 +1,9 @@ package game.command.commands; import java.util.List; -import game.command.CommandEnvironment; + import game.command.Command; +import game.command.CommandEnvironment; import game.command.Executor; import game.entity.types.EntityLiving; import game.potion.Potion; diff --git a/java/src/game/command/commands/CommandRemove.java b/java/src/game/command/commands/CommandRemove.java index 314dcc6..fa43608 100644 --- a/java/src/game/command/commands/CommandRemove.java +++ b/java/src/game/command/commands/CommandRemove.java @@ -1,8 +1,9 @@ package game.command.commands; import java.util.List; -import game.command.CommandEnvironment; + import game.command.Command; +import game.command.CommandEnvironment; import game.command.Executor; import game.entity.Entity; diff --git a/java/src/game/command/commands/CommandRevoke.java b/java/src/game/command/commands/CommandRevoke.java index 25ceb93..5269241 100644 --- a/java/src/game/command/commands/CommandRevoke.java +++ b/java/src/game/command/commands/CommandRevoke.java @@ -1,9 +1,9 @@ package game.command.commands; -import game.command.CommandEnvironment; -import game.command.RunException; import game.command.Command; +import game.command.CommandEnvironment; import game.command.Executor; +import game.command.RunException; import game.network.Player; public class CommandRevoke extends Command { diff --git a/java/src/game/command/commands/CommandSpawn.java b/java/src/game/command/commands/CommandSpawn.java index aff6b20..0236021 100644 --- a/java/src/game/command/commands/CommandSpawn.java +++ b/java/src/game/command/commands/CommandSpawn.java @@ -5,11 +5,10 @@ import java.util.Set; import game.collect.Lists; import game.collect.Sets; - -import game.command.CommandEnvironment; -import game.command.RunException; import game.command.Command; +import game.command.CommandEnvironment; import game.command.Executor; +import game.command.RunException; import game.entity.Entity; import game.entity.types.EntityLiving; import game.init.EntityRegistry; diff --git a/java/src/game/command/commands/CommandTele.java b/java/src/game/command/commands/CommandTele.java index 5b918c1..82dbace 100644 --- a/java/src/game/command/commands/CommandTele.java +++ b/java/src/game/command/commands/CommandTele.java @@ -1,10 +1,11 @@ package game.command.commands; import java.util.List; -import game.command.CommandEnvironment; -import game.dimension.Dimension; + import game.command.Command; +import game.command.CommandEnvironment; import game.command.Executor; +import game.dimension.Dimension; import game.entity.Entity; import game.world.Vec3; diff --git a/java/src/game/command/commands/CommandTime.java b/java/src/game/command/commands/CommandTime.java index 0f31c8b..2df30de 100644 --- a/java/src/game/command/commands/CommandTime.java +++ b/java/src/game/command/commands/CommandTime.java @@ -1,10 +1,10 @@ package game.command.commands; +import game.command.Command; import game.command.CommandEnvironment; +import game.command.Executor; import game.command.RunException; import game.dimension.Dimension; -import game.command.Command; -import game.command.Executor; import game.item.ItemSpaceNavigator; import game.world.Position; import game.world.WorldServer; diff --git a/java/src/game/command/commands/CommandTp.java b/java/src/game/command/commands/CommandTp.java index 56a1443..0fbf23e 100644 --- a/java/src/game/command/commands/CommandTp.java +++ b/java/src/game/command/commands/CommandTp.java @@ -1,8 +1,9 @@ package game.command.commands; import java.util.List; -import game.command.CommandEnvironment; + import game.command.Command; +import game.command.CommandEnvironment; import game.command.Executor; import game.entity.Entity; import game.init.UniverseRegistry; diff --git a/java/src/game/command/commands/CommandWarp.java b/java/src/game/command/commands/CommandWarp.java index 8f102ef..4cd5897 100644 --- a/java/src/game/command/commands/CommandWarp.java +++ b/java/src/game/command/commands/CommandWarp.java @@ -2,8 +2,9 @@ package game.command.commands; import java.util.Collection; import java.util.List; -import game.command.CommandEnvironment; + import game.command.Command; +import game.command.CommandEnvironment; import game.command.Executor; import game.command.RunException; import game.command.StringCompleter; diff --git a/java/src/game/command/commands/CommandWeather.java b/java/src/game/command/commands/CommandWeather.java index 30b7ab8..b8c1e45 100644 --- a/java/src/game/command/commands/CommandWeather.java +++ b/java/src/game/command/commands/CommandWeather.java @@ -1,9 +1,9 @@ package game.command.commands; -import game.command.CommandEnvironment; -import game.command.RunException; import game.command.Command; +import game.command.CommandEnvironment; import game.command.Executor; +import game.command.RunException; import game.world.Weather; import game.world.WorldServer; diff --git a/java/src/game/command/commands/CommandWorld.java b/java/src/game/command/commands/CommandWorld.java index a673dca..325c5f9 100644 --- a/java/src/game/command/commands/CommandWorld.java +++ b/java/src/game/command/commands/CommandWorld.java @@ -1,8 +1,9 @@ package game.command.commands; import java.util.List; -import game.command.CommandEnvironment; + import game.command.Command; +import game.command.CommandEnvironment; import game.command.Executor; import game.entity.Entity; import game.world.BlockPos; diff --git a/java/src/game/dimension/Dimension.java b/java/src/game/dimension/Dimension.java index 3cad8cf..7c330a9 100755 --- a/java/src/game/dimension/Dimension.java +++ b/java/src/game/dimension/Dimension.java @@ -4,12 +4,11 @@ import java.util.List; import java.util.Map; import java.util.Set; +import game.biome.Biome; +import game.block.LeavesType; import game.collect.Lists; import game.collect.Maps; import game.collect.Sets; - -import game.biome.Biome; -import game.block.LeavesType; import game.init.BlockRegistry; import game.init.Blocks; import game.init.MetalType; diff --git a/java/src/game/dimension/Star.java b/java/src/game/dimension/Star.java index 6cfa58d..4a2452b 100755 --- a/java/src/game/dimension/Star.java +++ b/java/src/game/dimension/Star.java @@ -3,7 +3,6 @@ package game.dimension; import java.util.Set; import game.collect.Sets; - import game.world.State; public final class Star extends Dimension { diff --git a/java/src/game/enchantment/Enchantment.java b/java/src/game/enchantment/Enchantment.java index b212fd0..2241101 100755 --- a/java/src/game/enchantment/Enchantment.java +++ b/java/src/game/enchantment/Enchantment.java @@ -6,7 +6,6 @@ import java.util.Set; import game.collect.Lists; import game.collect.Maps; - import game.entity.DamageSource; import game.entity.Entity; import game.entity.types.EntityLiving; diff --git a/java/src/game/enchantment/EnchantmentHelper.java b/java/src/game/enchantment/EnchantmentHelper.java index 364d437..6a74e6e 100755 --- a/java/src/game/enchantment/EnchantmentHelper.java +++ b/java/src/game/enchantment/EnchantmentHelper.java @@ -6,7 +6,6 @@ import java.util.Map; import game.collect.Lists; import game.collect.Maps; - import game.entity.DamageSource; import game.entity.Entity; import game.entity.types.EntityLiving; diff --git a/java/src/game/entity/DataWatcher.java b/java/src/game/entity/DataWatcher.java index 5b95477..bc7f2a7 100755 --- a/java/src/game/entity/DataWatcher.java +++ b/java/src/game/entity/DataWatcher.java @@ -8,7 +8,6 @@ import java.util.concurrent.locks.ReentrantReadWriteLock; import game.collect.Lists; import game.collect.Maps; - import game.item.ItemStack; import game.network.PacketBuffer; import game.world.BlockPos; diff --git a/java/src/game/entity/Entity.java b/java/src/game/entity/Entity.java index e972e30..331864e 100755 --- a/java/src/game/entity/Entity.java +++ b/java/src/game/entity/Entity.java @@ -2,12 +2,12 @@ package game.entity; import java.util.List; -import game.audio.SoundType; import game.block.Block; import game.block.BlockFence; import game.block.BlockFenceGate; import game.block.BlockLiquid; import game.block.BlockWall; +import game.block.SoundType; import game.color.TextColor; import game.dimension.DimType; import game.enchantment.EnchantmentHelper; @@ -26,11 +26,11 @@ import game.init.UniverseRegistry; import game.item.Item; import game.item.ItemStack; import game.material.Material; +import game.model.ParticleType; import game.nbt.NBTTagCompound; import game.nbt.NBTTagDouble; import game.nbt.NBTTagFloat; import game.nbt.NBTTagList; -import game.renderer.particle.ParticleType; import game.rng.Random; import game.util.ExtMath; import game.world.BlockPos; diff --git a/java/src/game/entity/EntityTrackerEntry.java b/java/src/game/entity/EntityTrackerEntry.java index b560415..e661a3d 100755 --- a/java/src/game/entity/EntityTrackerEntry.java +++ b/java/src/game/entity/EntityTrackerEntry.java @@ -5,7 +5,6 @@ import java.util.List; import java.util.Set; import game.collect.Sets; - import game.entity.attributes.AttributeInstance; import game.entity.attributes.AttributeMap; import game.entity.npc.EntityNPC; diff --git a/java/src/game/entity/animal/EntityDragon.java b/java/src/game/entity/animal/EntityDragon.java index 52653bc..4084f10 100755 --- a/java/src/game/entity/animal/EntityDragon.java +++ b/java/src/game/entity/animal/EntityDragon.java @@ -3,7 +3,6 @@ package game.entity.animal; import java.util.List; import game.collect.Lists; - import game.entity.DamageSource; import game.entity.Entity; import game.entity.EntityType; @@ -13,7 +12,7 @@ import game.entity.types.EntityLiving; import game.entity.types.IEntityMultiPart; import game.init.Config; import game.init.SoundEvent; -import game.renderer.particle.ParticleType; +import game.model.ParticleType; import game.util.ExtMath; import game.world.Vec3; import game.world.World; diff --git a/java/src/game/entity/animal/EntityHorse.java b/java/src/game/entity/animal/EntityHorse.java index b9ed9b2..515a0e5 100755 --- a/java/src/game/entity/animal/EntityHorse.java +++ b/java/src/game/entity/animal/EntityHorse.java @@ -10,8 +10,8 @@ import game.ai.EntityAIRunAroundLikeCrazy; import game.ai.EntityAISwimming; import game.ai.EntityAIWander; import game.ai.EntityAIWatchClosest; -import game.audio.SoundType; import game.block.Block; +import game.block.SoundType; import game.entity.DamageSource; import game.entity.Entity; import game.entity.attributes.AttributeInstance; @@ -31,11 +31,11 @@ import game.item.Item; import game.item.ItemMonsterPlacer; import game.item.ItemStack; import game.material.Material; +import game.model.ParticleType; import game.nbt.NBTTagCompound; import game.nbt.NBTTagList; import game.pathfinding.PathNavigateGround; import game.potion.Potion; -import game.renderer.particle.ParticleType; import game.util.ExtMath; import game.world.BlockPos; import game.world.World; diff --git a/java/src/game/entity/animal/EntityMooshroom.java b/java/src/game/entity/animal/EntityMooshroom.java index 610c8bb..3b57c9b 100755 --- a/java/src/game/entity/animal/EntityMooshroom.java +++ b/java/src/game/entity/animal/EntityMooshroom.java @@ -8,7 +8,7 @@ import game.init.Items; import game.init.SoundEvent; import game.item.ItemShears; import game.item.ItemStack; -import game.renderer.particle.ParticleType; +import game.model.ParticleType; import game.world.World; public class EntityMooshroom extends EntityCow diff --git a/java/src/game/entity/animal/EntityRabbit.java b/java/src/game/entity/animal/EntityRabbit.java index 7878ba3..1a58e41 100755 --- a/java/src/game/entity/animal/EntityRabbit.java +++ b/java/src/game/entity/animal/EntityRabbit.java @@ -32,12 +32,12 @@ import game.init.Items; import game.init.SoundEvent; import game.item.Item; import game.item.ItemStack; +import game.model.ParticleType; import game.nbt.NBTTagCompound; import game.pathfinding.PathEntity; import game.pathfinding.PathNavigateGround; import game.potion.Potion; import game.potion.PotionEffect; -import game.renderer.particle.ParticleType; import game.util.ExtMath; import game.world.BlockPos; import game.world.State; diff --git a/java/src/game/entity/animal/EntitySheep.java b/java/src/game/entity/animal/EntitySheep.java index 2410159..71f19b8 100755 --- a/java/src/game/entity/animal/EntitySheep.java +++ b/java/src/game/entity/animal/EntitySheep.java @@ -2,8 +2,6 @@ package game.entity.animal; import java.util.Map; -import game.collect.Maps; - import game.ai.EntityAIEatGrass; import game.ai.EntityAIFollowParent; import game.ai.EntityAILookIdle; @@ -14,6 +12,7 @@ import game.ai.EntityAITempt; import game.ai.EntityAIWander; import game.ai.EntityAIWatchClosest; import game.biome.Biome; +import game.collect.Maps; import game.color.DyeColor; import game.entity.attributes.Attributes; import game.entity.item.EntityItem; diff --git a/java/src/game/entity/animal/EntityWolf.java b/java/src/game/entity/animal/EntityWolf.java index 33c7ee3..5f2ddd7 100755 --- a/java/src/game/entity/animal/EntityWolf.java +++ b/java/src/game/entity/animal/EntityWolf.java @@ -30,9 +30,9 @@ import game.init.SoundEvent; import game.item.Item; import game.item.ItemFood; import game.item.ItemStack; +import game.model.ParticleType; import game.nbt.NBTTagCompound; import game.pathfinding.PathNavigateGround; -import game.renderer.particle.ParticleType; import game.util.ExtMath; import game.world.World; diff --git a/java/src/game/entity/attributes/Attribute.java b/java/src/game/entity/attributes/Attribute.java index 25804a4..81ea3b4 100755 --- a/java/src/game/entity/attributes/Attribute.java +++ b/java/src/game/entity/attributes/Attribute.java @@ -3,7 +3,6 @@ package game.entity.attributes; import java.util.Map; import game.collect.Maps; - import game.util.ExtMath; public class Attribute diff --git a/java/src/game/entity/item/EntityBoat.java b/java/src/game/entity/item/EntityBoat.java index 77f22d2..ca7e129 100755 --- a/java/src/game/entity/item/EntityBoat.java +++ b/java/src/game/entity/item/EntityBoat.java @@ -14,8 +14,8 @@ import game.init.Config; import game.init.ItemRegistry; import game.init.Items; import game.item.Item; +import game.model.ParticleType; import game.nbt.NBTTagCompound; -import game.renderer.particle.ParticleType; import game.util.ExtMath; import game.world.BlockPos; import game.world.BoundingBox; diff --git a/java/src/game/entity/item/EntityFalling.java b/java/src/game/entity/item/EntityFalling.java index b5e633f..8196747 100755 --- a/java/src/game/entity/item/EntityFalling.java +++ b/java/src/game/entity/item/EntityFalling.java @@ -2,12 +2,11 @@ package game.entity.item; import java.util.List; -import game.collect.Lists; - import game.block.Block; import game.block.BlockAnvil; import game.block.BlockFalling; import game.block.ITileEntityProvider; +import game.collect.Lists; import game.entity.DamageSource; import game.entity.Entity; import game.entity.EntityType; diff --git a/java/src/game/entity/item/EntityFireworks.java b/java/src/game/entity/item/EntityFireworks.java index a58c58b..dc20a18 100755 --- a/java/src/game/entity/item/EntityFireworks.java +++ b/java/src/game/entity/item/EntityFireworks.java @@ -4,8 +4,8 @@ import game.entity.Entity; import game.entity.EntityType; import game.init.SoundEvent; import game.item.ItemStack; +import game.model.ParticleType; import game.nbt.NBTTagCompound; -import game.renderer.particle.ParticleType; import game.util.ExtMath; import game.world.World; import game.world.WorldClient; diff --git a/java/src/game/entity/item/EntityHopperCart.java b/java/src/game/entity/item/EntityHopperCart.java index d21856d..9441c6a 100755 --- a/java/src/game/entity/item/EntityHopperCart.java +++ b/java/src/game/entity/item/EntityHopperCart.java @@ -1,7 +1,6 @@ package game.entity.item; import java.util.List; - import java.util.function.Predicate; import game.entity.DamageSource; diff --git a/java/src/game/entity/item/EntityItem.java b/java/src/game/entity/item/EntityItem.java index 01c751b..fb04bbd 100755 --- a/java/src/game/entity/item/EntityItem.java +++ b/java/src/game/entity/item/EntityItem.java @@ -13,8 +13,8 @@ import game.init.SoundEvent; import game.item.ItemStack; import game.log.Log; import game.material.Material; +import game.model.ParticleType; import game.nbt.NBTTagCompound; -import game.renderer.particle.ParticleType; import game.util.ExtMath; import game.world.BlockPos; import game.world.PortalType; diff --git a/java/src/game/entity/item/EntityNuke.java b/java/src/game/entity/item/EntityNuke.java index abca66f..9828a96 100755 --- a/java/src/game/entity/item/EntityNuke.java +++ b/java/src/game/entity/item/EntityNuke.java @@ -2,8 +2,8 @@ package game.entity.item; import game.entity.Entity; import game.entity.EntityType; +import game.model.ParticleType; import game.nbt.NBTTagCompound; -import game.renderer.particle.ParticleType; import game.world.World; public class EntityNuke extends Entity diff --git a/java/src/game/entity/item/EntityOrb.java b/java/src/game/entity/item/EntityOrb.java index ec9743b..bd1f534 100755 --- a/java/src/game/entity/item/EntityOrb.java +++ b/java/src/game/entity/item/EntityOrb.java @@ -5,7 +5,7 @@ import game.entity.Entity; import game.entity.types.EntityLiving; import game.entity.types.EntityThrowable; import game.init.Config; -import game.renderer.particle.ParticleType; +import game.model.ParticleType; import game.world.HitPosition; import game.world.World; diff --git a/java/src/game/entity/item/EntityTnt.java b/java/src/game/entity/item/EntityTnt.java index f140c85..e306bf9 100755 --- a/java/src/game/entity/item/EntityTnt.java +++ b/java/src/game/entity/item/EntityTnt.java @@ -4,8 +4,8 @@ import game.entity.Entity; import game.entity.EntityType; import game.entity.types.EntityLiving; import game.entity.types.IObjectData; +import game.model.ParticleType; import game.nbt.NBTTagCompound; -import game.renderer.particle.ParticleType; import game.world.World; public class EntityTnt extends Entity implements IObjectData diff --git a/java/src/game/entity/item/EntityTntCart.java b/java/src/game/entity/item/EntityTntCart.java index f318b98..16fa7c7 100755 --- a/java/src/game/entity/item/EntityTntCart.java +++ b/java/src/game/entity/item/EntityTntCart.java @@ -8,8 +8,8 @@ import game.init.Blocks; import game.init.Config; import game.init.SoundEvent; import game.item.ItemStack; +import game.model.ParticleType; import game.nbt.NBTTagCompound; -import game.renderer.particle.ParticleType; import game.world.BlockPos; import game.world.Explosion; import game.world.State; diff --git a/java/src/game/entity/item/EntityXp.java b/java/src/game/entity/item/EntityXp.java index e8cae54..3ab09b2 100755 --- a/java/src/game/entity/item/EntityXp.java +++ b/java/src/game/entity/item/EntityXp.java @@ -9,8 +9,8 @@ import game.entity.types.IObjectData; import game.init.Config; import game.init.SoundEvent; import game.material.Material; +import game.model.ParticleType; import game.nbt.NBTTagCompound; -import game.renderer.particle.ParticleType; import game.util.ExtMath; import game.world.BlockPos; import game.world.PortalType; diff --git a/java/src/game/entity/npc/Alignment.java b/java/src/game/entity/npc/Alignment.java index f38481c..8e96033 100755 --- a/java/src/game/entity/npc/Alignment.java +++ b/java/src/game/entity/npc/Alignment.java @@ -3,7 +3,6 @@ package game.entity.npc; import java.util.Map; import game.collect.Maps; - import game.color.TextColor; public enum Alignment { diff --git a/java/src/game/entity/npc/EntityChaosMarine.java b/java/src/game/entity/npc/EntityChaosMarine.java index 51ade10..a988ac3 100755 --- a/java/src/game/entity/npc/EntityChaosMarine.java +++ b/java/src/game/entity/npc/EntityChaosMarine.java @@ -3,17 +3,16 @@ package game.entity.npc; import java.util.List; import game.collect.Lists; - import game.entity.attributes.Attributes; import game.init.Items; import game.init.SpeciesRegistry; import game.item.ItemStack; -import game.properties.IStringSerializable; import game.rng.Random; +import game.util.Identifyable; import game.world.World; public class EntityChaosMarine extends EntityNPC { - public static enum Legion implements IStringSerializable { + public static enum Legion implements Identifyable { OTHER("other", null, 0x000000, 0x000000, 2.15f, 200), EMPERORS_CHILDREN("emperorchild", "Emperors Children", 0xa224cc, 0xccb963, 2.43f, 300, "emperors_child"); diff --git a/java/src/game/entity/npc/EntityDarkMage.java b/java/src/game/entity/npc/EntityDarkMage.java index cec4c6f..790cc12 100755 --- a/java/src/game/entity/npc/EntityDarkMage.java +++ b/java/src/game/entity/npc/EntityDarkMage.java @@ -2,7 +2,7 @@ package game.entity.npc; import game.ai.AISmallFireballAttack; import game.init.SoundEvent; -import game.renderer.particle.ParticleType; +import game.model.ParticleType; import game.rng.Random; import game.world.World; import game.world.WorldClient; diff --git a/java/src/game/entity/npc/EntityGargoyle.java b/java/src/game/entity/npc/EntityGargoyle.java index 8291424..9443e01 100755 --- a/java/src/game/entity/npc/EntityGargoyle.java +++ b/java/src/game/entity/npc/EntityGargoyle.java @@ -5,8 +5,8 @@ import game.entity.DamageSource; import game.entity.attributes.Attributes; import game.init.Config; import game.item.ItemStack; +import game.model.ParticleType; import game.nbt.NBTTagCompound; -import game.renderer.particle.ParticleType; import game.rng.Random; import game.world.World; diff --git a/java/src/game/entity/npc/EntityHuman.java b/java/src/game/entity/npc/EntityHuman.java index 18af6a7..aa68011 100755 --- a/java/src/game/entity/npc/EntityHuman.java +++ b/java/src/game/entity/npc/EntityHuman.java @@ -3,15 +3,15 @@ package game.entity.npc; import game.entity.types.EntityLiving; import game.init.Items; import game.item.ItemStack; -import game.properties.IStringSerializable; import game.rng.Random; +import game.util.Identifyable; import game.village.Village; import game.world.BlockPos; import game.world.World; import game.world.WorldServer; public class EntityHuman extends EntityNPC { - public static enum ClassType implements IStringSerializable { + public static enum ClassType implements Identifyable { NONE("none", ""), KNIGHT("knight", "Krieger"), PEASANT("peasant", "Bauer"), diff --git a/java/src/game/entity/npc/EntityMagma.java b/java/src/game/entity/npc/EntityMagma.java index 8d6e679..049852c 100755 --- a/java/src/game/entity/npc/EntityMagma.java +++ b/java/src/game/entity/npc/EntityMagma.java @@ -1,6 +1,6 @@ package game.entity.npc; -import game.renderer.particle.ParticleType; +import game.model.ParticleType; import game.world.World; public class EntityMagma extends EntitySlime diff --git a/java/src/game/entity/npc/EntityNPC.java b/java/src/game/entity/npc/EntityNPC.java index 5d53a6a..dc4aa1a 100755 --- a/java/src/game/entity/npc/EntityNPC.java +++ b/java/src/game/entity/npc/EntityNPC.java @@ -2,10 +2,22 @@ package game.entity.npc; import java.lang.reflect.InvocationTargetException; import java.util.List; - import java.util.function.Predicate; -import game.Game; +import client.Game; +import client.gui.container.GuiBrewing; +import client.gui.container.GuiChest; +import client.gui.container.GuiCrafting; +import client.gui.container.GuiDispenser; +import client.gui.container.GuiEnchant; +import client.gui.container.GuiFurnace; +import client.gui.container.GuiHopper; +import client.gui.container.GuiHorse; +import client.gui.container.GuiMerchant; +import client.gui.container.GuiRepair; +import client.gui.ingame.GuiSign; +import client.renderer.layers.LayerExtra; +import client.renderer.texture.EntityTexManager; import game.ai.AIRangedAttack; import game.ai.EntityAIAttackOnCollide; import game.ai.EntityAIAvoidEntity; @@ -21,7 +33,6 @@ import game.ai.EntityAISwimming; import game.ai.EntityAIWander; import game.ai.EntityAIWatchClosest; import game.ai.EntityAIWatchClosest2; -import game.audio.MovingSoundMinecartRiding; import game.block.Block; import game.block.BlockBed; import game.dimension.Space; @@ -45,17 +56,6 @@ import game.entity.projectile.EntityPotion; import game.entity.projectile.EntitySnowball; import game.entity.types.EntityLiving; import game.entity.types.IEntityMultiPart; -import game.gui.container.GuiBrewing; -import game.gui.container.GuiChest; -import game.gui.container.GuiCrafting; -import game.gui.container.GuiDispenser; -import game.gui.container.GuiEnchant; -import game.gui.container.GuiFurnace; -import game.gui.container.GuiHopper; -import game.gui.container.GuiHorse; -import game.gui.container.GuiMerchant; -import game.gui.container.GuiRepair; -import game.gui.ingame.GuiSign; import game.init.Config; import game.init.ItemRegistry; import game.init.Items; @@ -80,6 +80,7 @@ import game.item.ItemShears; import game.item.ItemStack; import game.item.ItemSword; import game.item.ItemTool; +import game.model.ParticleType; import game.nbt.NBTTagCompound; import game.nbt.NBTTagList; import game.network.ClientPlayer; @@ -93,10 +94,8 @@ import game.packet.SPacketEntityVelocity; import game.pathfinding.PathNavigateGround; import game.potion.Potion; import game.potion.PotionEffect; -import game.renderer.layers.LayerExtra; -import game.renderer.particle.ParticleType; -import game.renderer.texture.EntityTexManager; import game.rng.Random; +import game.sound.MovingSoundMinecartRiding; import game.tileentity.IInteractionObject; import game.tileentity.LockCode; import game.tileentity.TileEntitySign; diff --git a/java/src/game/entity/npc/EntityPrimarch.java b/java/src/game/entity/npc/EntityPrimarch.java index a09e4ec..9edcf12 100755 --- a/java/src/game/entity/npc/EntityPrimarch.java +++ b/java/src/game/entity/npc/EntityPrimarch.java @@ -3,14 +3,13 @@ package game.entity.npc; import java.util.List; import game.collect.Lists; - import game.entity.attributes.Attributes; -import game.properties.IStringSerializable; import game.rng.Random; +import game.util.Identifyable; import game.world.World; public class EntityPrimarch extends EntityMobNPC { - public static enum Founding implements IStringSerializable { + public static enum Founding implements Identifyable { OTHER("other", "", 0, 0x000000, 0x000000), DARK_ANGELS("darkangel", "Dark Angels", 1, 0xaf0000, 0x400000, "Lion El'Jonson:lion_el_jonson", 2.65f, 850, Alignment.GOOD), UNKNOWN_A("unkna", "[Legion 2]", 2, 0xaf0000, 0x400000), diff --git a/java/src/game/entity/npc/EntitySlime.java b/java/src/game/entity/npc/EntitySlime.java index e853c79..578b1b9 100755 --- a/java/src/game/entity/npc/EntitySlime.java +++ b/java/src/game/entity/npc/EntitySlime.java @@ -9,9 +9,9 @@ import game.entity.attributes.Attributes; import game.entity.types.EntityLiving; import game.init.Config; import game.init.SoundEvent; +import game.model.ParticleType; import game.nbt.NBTTagCompound; import game.pathfinding.PathNavigateGround; -import game.renderer.particle.ParticleType; import game.rng.Random; import game.util.ExtMath; import game.world.BlockPos; diff --git a/java/src/game/entity/npc/EntitySpaceMarine.java b/java/src/game/entity/npc/EntitySpaceMarine.java index 7d48b33..18cbf31 100755 --- a/java/src/game/entity/npc/EntitySpaceMarine.java +++ b/java/src/game/entity/npc/EntitySpaceMarine.java @@ -3,17 +3,16 @@ package game.entity.npc; import java.util.List; import game.collect.Lists; - import game.entity.attributes.Attributes; import game.init.Items; import game.init.SpeciesRegistry; import game.item.ItemStack; -import game.properties.IStringSerializable; import game.rng.Random; +import game.util.Identifyable; import game.world.World; public class EntitySpaceMarine extends EntityNPC { - public static enum Legion implements IStringSerializable { + public static enum Legion implements Identifyable { OTHER("other", null, 0x000000, 0x000000, 2.15f, 200), BLACK_TEMPLARS("blacktemplar", "Black Templars", 0x101010, 0xc0c0c0, 2.43f, 300, "black_templar"); diff --git a/java/src/game/entity/npc/EntityZombie.java b/java/src/game/entity/npc/EntityZombie.java index d61bec4..8ca32f5 100755 --- a/java/src/game/entity/npc/EntityZombie.java +++ b/java/src/game/entity/npc/EntityZombie.java @@ -1,7 +1,6 @@ package game.entity.npc; import java.util.List; - import java.util.function.Predicate; import game.ai.EntityAIMoveThroughVillage; diff --git a/java/src/game/entity/npc/SpeciesInfo.java b/java/src/game/entity/npc/SpeciesInfo.java index 33f341f..9e8242f 100755 --- a/java/src/game/entity/npc/SpeciesInfo.java +++ b/java/src/game/entity/npc/SpeciesInfo.java @@ -1,13 +1,14 @@ package game.entity.npc; import java.util.List; + import game.collect.BiMap; import game.collect.HashBiMap; import game.collect.Lists; import game.init.SpeciesRegistry; import game.init.SpeciesRegistry.ModelType; -import game.properties.IStringSerializable; import game.rng.Random; +import game.util.Identifyable; public class SpeciesInfo { public final BiMap classnames; @@ -76,7 +77,7 @@ public class SpeciesInfo { SpeciesRegistry.CLASSES.put(this.clazz, this); if(this.classEnum != null) { for(Enum type : this.classEnum.getEnumConstants()) { - this.classnames.put(((IStringSerializable)type).getName(), type); + this.classnames.put(((Identifyable)type).getName(), type); } } } diff --git a/java/src/game/entity/projectile/EntityArrow.java b/java/src/game/entity/projectile/EntityArrow.java index 911c1bf..59180f1 100755 --- a/java/src/game/entity/projectile/EntityArrow.java +++ b/java/src/game/entity/projectile/EntityArrow.java @@ -17,8 +17,8 @@ import game.init.Items; import game.init.SoundEvent; import game.item.ItemStack; import game.material.Material; +import game.model.ParticleType; import game.nbt.NBTTagCompound; -import game.renderer.particle.ParticleType; import game.util.ExtMath; import game.world.BlockPos; import game.world.BoundingBox; diff --git a/java/src/game/entity/projectile/EntityDynamite.java b/java/src/game/entity/projectile/EntityDynamite.java index 0ca9029..abe2a29 100755 --- a/java/src/game/entity/projectile/EntityDynamite.java +++ b/java/src/game/entity/projectile/EntityDynamite.java @@ -8,8 +8,8 @@ import game.entity.types.IObjectData; import game.init.Config; import game.init.ItemRegistry; import game.init.Items; +import game.model.ParticleType; import game.nbt.NBTTagCompound; -import game.renderer.particle.ParticleType; import game.world.HitPosition; import game.world.World; diff --git a/java/src/game/entity/projectile/EntityEgg.java b/java/src/game/entity/projectile/EntityEgg.java index c693d74..2b5f183 100755 --- a/java/src/game/entity/projectile/EntityEgg.java +++ b/java/src/game/entity/projectile/EntityEgg.java @@ -7,7 +7,7 @@ import game.entity.types.EntityThrowable; import game.init.Config; import game.init.ItemRegistry; import game.init.Items; -import game.renderer.particle.ParticleType; +import game.model.ParticleType; import game.world.HitPosition; import game.world.World; diff --git a/java/src/game/entity/projectile/EntityHook.java b/java/src/game/entity/projectile/EntityHook.java index 15fc77f..d5ef76a 100755 --- a/java/src/game/entity/projectile/EntityHook.java +++ b/java/src/game/entity/projectile/EntityHook.java @@ -17,8 +17,8 @@ import game.init.Config; import game.init.Items; import game.init.SoundEvent; import game.item.ItemStack; +import game.model.ParticleType; import game.nbt.NBTTagCompound; -import game.renderer.particle.ParticleType; import game.util.ExtMath; import game.world.BlockPos; import game.world.BoundingBox; diff --git a/java/src/game/entity/projectile/EntityProjectile.java b/java/src/game/entity/projectile/EntityProjectile.java index cde6ff9..97d0578 100755 --- a/java/src/game/entity/projectile/EntityProjectile.java +++ b/java/src/game/entity/projectile/EntityProjectile.java @@ -8,9 +8,9 @@ import game.entity.Entity; import game.entity.EntityType; import game.entity.types.EntityLiving; import game.init.BlockRegistry; +import game.model.ParticleType; import game.nbt.NBTTagCompound; import game.nbt.NBTTagList; -import game.renderer.particle.ParticleType; import game.util.ExtMath; import game.world.BlockPos; import game.world.BoundingBox; diff --git a/java/src/game/entity/projectile/EntitySnowball.java b/java/src/game/entity/projectile/EntitySnowball.java index 883d290..9c0ee15 100755 --- a/java/src/game/entity/projectile/EntitySnowball.java +++ b/java/src/game/entity/projectile/EntitySnowball.java @@ -4,7 +4,7 @@ import game.entity.DamageSource; import game.entity.types.EntityLiving; import game.entity.types.EntityThrowable; import game.init.Config; -import game.renderer.particle.ParticleType; +import game.model.ParticleType; import game.world.HitPosition; import game.world.World; diff --git a/java/src/game/entity/types/EntityAnimal.java b/java/src/game/entity/types/EntityAnimal.java index e9f995d..85c8944 100755 --- a/java/src/game/entity/types/EntityAnimal.java +++ b/java/src/game/entity/types/EntityAnimal.java @@ -2,9 +2,8 @@ package game.entity.types; import java.util.Set; -import game.collect.Sets; - import game.block.Block; +import game.collect.Sets; import game.entity.DamageSource; import game.entity.EntityType; import game.entity.npc.Alignment; @@ -12,8 +11,8 @@ import game.entity.npc.EntityNPC; import game.init.Blocks; import game.init.Items; import game.item.ItemStack; +import game.model.ParticleType; import game.nbt.NBTTagCompound; -import game.renderer.particle.ParticleType; import game.util.ExtMath; import game.world.BlockPos; import game.world.World; diff --git a/java/src/game/entity/types/EntityLiving.java b/java/src/game/entity/types/EntityLiving.java index 560d5b7..7089c2b 100755 --- a/java/src/game/entity/types/EntityLiving.java +++ b/java/src/game/entity/types/EntityLiving.java @@ -4,10 +4,7 @@ import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Map; - import java.util.function.Predicate; -import game.collect.Lists; -import game.collect.Maps; import game.ai.EntityAIBase; import game.ai.EntityAIMoveTowardsRestriction; @@ -16,8 +13,10 @@ import game.ai.EntityJumpHelper; import game.ai.EntityLookHelper; import game.ai.EntityMoveHelper; import game.ai.EntitySenses; -import game.audio.SoundType; import game.block.Block; +import game.block.SoundType; +import game.collect.Lists; +import game.collect.Maps; import game.color.TextColor; import game.enchantment.EnchantmentHelper; import game.entity.DamageSource; @@ -48,6 +47,7 @@ import game.item.ItemArmor; import game.item.ItemMonsterPlacer; import game.item.ItemStack; import game.material.Material; +import game.model.ParticleType; import game.nbt.NBTTagCompound; import game.nbt.NBTTagList; import game.network.Player; @@ -59,7 +59,6 @@ import game.pathfinding.PathNavigateGround; import game.potion.Potion; import game.potion.PotionEffect; import game.potion.PotionHelper; -import game.renderer.particle.ParticleType; import game.rng.Random; import game.util.ExtMath; import game.world.BlockPos; diff --git a/java/src/game/entity/types/EntityTameable.java b/java/src/game/entity/types/EntityTameable.java index 3563575..ab00c53 100755 --- a/java/src/game/entity/types/EntityTameable.java +++ b/java/src/game/entity/types/EntityTameable.java @@ -1,8 +1,8 @@ package game.entity.types; import game.ai.EntityAISit; +import game.model.ParticleType; import game.nbt.NBTTagCompound; -import game.renderer.particle.ParticleType; import game.world.World; public abstract class EntityTameable extends EntityAnimal implements IEntityOwnable diff --git a/java/src/game/entity/types/EntityThrowable.java b/java/src/game/entity/types/EntityThrowable.java index c781e42..79395d4 100755 --- a/java/src/game/entity/types/EntityThrowable.java +++ b/java/src/game/entity/types/EntityThrowable.java @@ -8,8 +8,8 @@ import game.entity.Entity; import game.entity.EntityType; import game.init.BlockRegistry; import game.init.Blocks; +import game.model.ParticleType; import game.nbt.NBTTagCompound; -import game.renderer.particle.ParticleType; import game.util.ExtMath; import game.world.BlockPos; import game.world.BoundingBox; diff --git a/java/src/game/init/BlockRegistry.java b/java/src/game/init/BlockRegistry.java index 699ee3b..4536a76 100755 --- a/java/src/game/init/BlockRegistry.java +++ b/java/src/game/init/BlockRegistry.java @@ -1,15 +1,14 @@ package game.init; -import game.audio.SoundType; +import client.renderer.ticked.TextureLavaFX; +import client.renderer.ticked.TextureLavaFlowFX; +import client.renderer.ticked.TextureWaterFX; +import client.renderer.ticked.TextureWaterFlowFX; import game.block.*; import game.color.DyeColor; import game.init.FluidRegistry.LiquidType; import game.item.CheatTab; import game.material.Material; -import game.renderer.ticked.TextureLavaFX; -import game.renderer.ticked.TextureLavaFlowFX; -import game.renderer.ticked.TextureWaterFX; -import game.renderer.ticked.TextureWaterFlowFX; import game.world.State; public abstract class BlockRegistry { diff --git a/java/src/game/init/Config.java b/java/src/game/init/Config.java index 6ac62fb..3210f9f 100755 --- a/java/src/game/init/Config.java +++ b/java/src/game/init/Config.java @@ -11,10 +11,10 @@ import java.lang.reflect.Modifier; import java.util.Map; import java.util.TreeMap; -import game.Server; import game.packet.SPacketWorld; import game.util.ExtMath; import game.world.WorldServer; +import server.Server; public abstract class Config { public static enum ValueType { diff --git a/java/src/game/init/CraftingRegistry.java b/java/src/game/init/CraftingRegistry.java index 930d644..58f80df 100755 --- a/java/src/game/init/CraftingRegistry.java +++ b/java/src/game/init/CraftingRegistry.java @@ -6,9 +6,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import game.collect.Lists; -import game.collect.Maps; - import game.block.Block; import game.block.BlockBed; import game.block.BlockDirt; @@ -19,6 +16,8 @@ import game.block.BlockSand; import game.block.BlockSandStone; import game.block.BlockStoneBrick; import game.block.BlockWall; +import game.collect.Lists; +import game.collect.Maps; import game.color.DyeColor; import game.entity.animal.EntitySheep; import game.inventory.InventoryCrafting; diff --git a/java/src/game/init/EntityRegistry.java b/java/src/game/init/EntityRegistry.java index d43d4d4..86d8e97 100755 --- a/java/src/game/init/EntityRegistry.java +++ b/java/src/game/init/EntityRegistry.java @@ -4,7 +4,6 @@ import java.util.Map; import java.util.Set; import game.collect.Maps; - import game.entity.Entity; import game.entity.animal.EntityBat; import game.entity.animal.EntityChicken; @@ -19,9 +18,7 @@ import game.entity.animal.EntityRabbit; import game.entity.animal.EntitySheep; import game.entity.animal.EntitySquid; import game.entity.animal.EntityWolf; -import game.entity.effect.EntityLightning; import game.entity.item.EntityBoat; -import game.entity.item.EntityCart; import game.entity.item.EntityChestCart; import game.entity.item.EntityCrystal; import game.entity.item.EntityExplosion; @@ -51,61 +48,8 @@ import game.entity.projectile.EntityPotion; import game.entity.projectile.EntitySnowball; import game.entity.types.EntityLiving; import game.entity.types.IObjectData; -import game.init.SpeciesRegistry.ModelType; import game.log.Log; import game.nbt.NBTTagCompound; -import game.renderer.entity.Render; -import game.renderer.entity.RenderArachnoid; -import game.renderer.entity.RenderArrow; -import game.renderer.entity.RenderBat; -import game.renderer.entity.RenderBlockEntity; -import game.renderer.entity.RenderBoat; -import game.renderer.entity.RenderBullet; -import game.renderer.entity.RenderChicken; -import game.renderer.entity.RenderCow; -import game.renderer.entity.RenderCrystal; -import game.renderer.entity.RenderDie; -import game.renderer.entity.RenderDragon; -import game.renderer.entity.RenderDynamite; -import game.renderer.entity.RenderEntity; -import game.renderer.entity.RenderEntityItem; -import game.renderer.entity.RenderFallingBlock; -import game.renderer.entity.RenderFireball; -import game.renderer.entity.RenderFish; -import game.renderer.entity.RenderFlyingBox; -import game.renderer.entity.RenderHorse; -import game.renderer.entity.RenderHumanoid; -import game.renderer.entity.RenderItem; -import game.renderer.entity.RenderItemEntity; -import game.renderer.entity.RenderLeashKnot; -import game.renderer.entity.RenderLightning; -import game.renderer.entity.RenderManager; -import game.renderer.entity.RenderMinecart; -import game.renderer.entity.RenderMooshroom; -import game.renderer.entity.RenderMouse; -import game.renderer.entity.RenderNpc; -import game.renderer.entity.RenderOcelot; -import game.renderer.entity.RenderPig; -import game.renderer.entity.RenderPotion; -import game.renderer.entity.RenderRabbit; -import game.renderer.entity.RenderSheep; -import game.renderer.entity.RenderSlime; -import game.renderer.entity.RenderSpaceMarine; -import game.renderer.entity.RenderSquid; -import game.renderer.entity.RenderTntMinecart; -import game.renderer.entity.RenderTntPrimed; -import game.renderer.entity.RenderWolf; -import game.renderer.entity.RenderXpOrb; -import game.renderer.model.ModelChicken; -import game.renderer.model.ModelCow; -import game.renderer.model.ModelHorse; -import game.renderer.model.ModelMouse; -import game.renderer.model.ModelOcelot; -import game.renderer.model.ModelPig; -import game.renderer.model.ModelRabbit; -import game.renderer.model.ModelSheep2; -import game.renderer.model.ModelSquid; -import game.renderer.model.ModelWolf; import game.world.World; public abstract class EntityRegistry { @@ -385,59 +329,4 @@ public abstract class EntityRegistry { // } registerEggs(); } - - public static void registerRenderers(Map, Render> map, - Map models, RenderManager mgr, RenderItem ritem) { - map.put(EntityPig.class, new RenderPig(mgr, new ModelPig())); - map.put(EntitySheep.class, new RenderSheep(mgr, new ModelSheep2())); - map.put(EntityCow.class, new RenderCow(mgr, new ModelCow())); - map.put(EntityMooshroom.class, new RenderMooshroom(mgr, new ModelCow())); - map.put(EntityWolf.class, new RenderWolf(mgr, new ModelWolf())); - map.put(EntityChicken.class, new RenderChicken(mgr, new ModelChicken())); - map.put(EntityOcelot.class, new RenderOcelot(mgr, new ModelOcelot())); - map.put(EntityRabbit.class, new RenderRabbit(mgr, new ModelRabbit())); - map.put(EntitySquid.class, new RenderSquid(mgr, new ModelSquid())); - map.put(EntityBat.class, new RenderBat(mgr)); - map.put(EntityDragon.class, new RenderDragon(mgr)); - map.put(EntityCrystal.class, new RenderCrystal(mgr)); - map.put(Entity.class, new RenderEntity(mgr)); -// map.put(EntityPainting.class, new RenderPainting(mgr)); -// map.put(EntityFrame.class, new RenderItemFrame(mgr, ritem)); - map.put(EntityLeashKnot.class, new RenderLeashKnot(mgr)); - map.put(EntityArrow.class, new RenderArrow(mgr)); - map.put(EntitySnowball.class, new RenderItemEntity(mgr, Items.snowball, ritem)); - map.put(EntityOrb.class, new RenderItemEntity(mgr, Items.charged_orb, ritem)); - map.put(EntityEgg.class, new RenderItemEntity(mgr, Items.egg, ritem)); - map.put(EntityPotion.class, new RenderPotion(mgr, ritem)); - map.put(EntityXpBottle.class, new RenderItemEntity(mgr, Items.experience_bottle, ritem)); - map.put(EntityFireworks.class, new RenderItemEntity(mgr, Items.fireworks, ritem)); - map.put(EntityFireball.class, new RenderFireball(mgr, 0.75F)); - map.put(EntityFireCharge.class, new RenderFireball(mgr, 0.5F)); - map.put(EntityBox.class, new RenderFlyingBox(mgr)); - map.put(EntityItem.class, new RenderEntityItem(mgr, ritem)); - map.put(EntityXp.class, new RenderXpOrb(mgr)); - map.put(EntityTnt.class, new RenderTntPrimed(mgr)); - map.put(EntityFalling.class, new RenderFallingBlock(mgr)); - map.put(EntityTntCart.class, new RenderTntMinecart(mgr)); - map.put(EntityCart.class, new RenderMinecart(mgr)); - map.put(EntityBoat.class, new RenderBoat(mgr)); - map.put(EntityHook.class, new RenderFish(mgr)); - map.put(EntityHorse.class, new RenderHorse(mgr, new ModelHorse())); - map.put(EntityDynamite.class, new RenderDynamite(mgr, Items.dynamite, ritem)); - map.put(EntityNuke.class, new RenderBlockEntity(mgr, Blocks.nuke.getState())); - map.put(EntityMouse.class, new RenderMouse(mgr, new ModelMouse())); - map.put(EntityDie.class, new RenderDie(mgr)); - map.put(EntityBullet.class, new RenderBullet(mgr)); - map.put(EntityLightning.class, new RenderLightning(mgr)); - models.put(ModelType.HUMANOID, new RenderHumanoid(mgr, 12, 12, "textures/entity/char.png")); - models.put(ModelType.ARACHNOID, new RenderArachnoid(mgr)); - models.put(ModelType.SLIME, new RenderSlime(mgr)); - models.put(ModelType.DWARF, new RenderHumanoid(mgr, 10, 10, "textures/entity/dwarf.png")); - models.put(ModelType.HALFLING, new RenderHumanoid(mgr, 8, 8, "textures/entity/goblin.png")); - models.put(ModelType.SPACE_MARINE, new RenderSpaceMarine(mgr)); - for(int z = 0; z < SpeciesRegistry.SPECIMEN.size(); z++) { - SpeciesInfo info = SpeciesRegistry.SPECIMEN.get(z); - map.put(info.clazz, models.get(info.renderer)); - } - } } diff --git a/java/src/game/init/FluidRegistry.java b/java/src/game/init/FluidRegistry.java index 429adcf..88545a9 100755 --- a/java/src/game/init/FluidRegistry.java +++ b/java/src/game/init/FluidRegistry.java @@ -3,13 +3,12 @@ package game.init; import java.util.List; import java.util.Map; -import game.collect.Lists; -import game.collect.Maps; - import game.block.Block; import game.block.BlockDynamicLiquid; import game.block.BlockLiquid; import game.block.BlockStaticLiquid; +import game.collect.Lists; +import game.collect.Maps; import game.material.Material; public abstract class FluidRegistry { diff --git a/java/src/game/init/ItemRegistry.java b/java/src/game/init/ItemRegistry.java index 27b52e3..161ba68 100755 --- a/java/src/game/init/ItemRegistry.java +++ b/java/src/game/init/ItemRegistry.java @@ -4,9 +4,6 @@ import java.util.Map; import java.util.Set; import java.util.function.Function; -import game.collect.Maps; -import game.collect.Sets; - import game.block.Block; import game.block.BlockBed; import game.block.BlockButton; @@ -23,6 +20,8 @@ import game.block.BlockSapling; import game.block.BlockSlab; import game.block.BlockStoneBrick; import game.block.BlockWall; +import game.collect.Maps; +import game.collect.Sets; import game.color.DyeColor; import game.color.TextColor; import game.entity.item.EntityCart; diff --git a/java/src/game/init/ObjectIntIdentityMap.java b/java/src/game/init/ObjectIntIdentityMap.java index ea81b20..42b0642 100755 --- a/java/src/game/init/ObjectIntIdentityMap.java +++ b/java/src/game/init/ObjectIntIdentityMap.java @@ -4,9 +4,9 @@ import java.util.IdentityHashMap; import java.util.Iterator; import java.util.List; -import game.util.Predicates; import game.collect.Iterators; import game.collect.Lists; +import game.util.Predicates; public class ObjectIntIdentityMap implements IObjectIntIterable { diff --git a/java/src/game/init/RotationRegistry.java b/java/src/game/init/RotationRegistry.java index 52c8bc2..e8b38ff 100755 --- a/java/src/game/init/RotationRegistry.java +++ b/java/src/game/init/RotationRegistry.java @@ -3,10 +3,7 @@ package game.init; import java.util.HashMap; import java.util.List; import java.util.Map; - import java.util.function.Predicate; -import game.collect.Lists; -import game.collect.Maps; import game.block.Block; import game.block.BlockDoor; @@ -22,6 +19,8 @@ import game.block.BlockRotatedPillar; import game.clipboard.Rotation; import game.clipboard.RotationValue; import game.clipboard.Vector; +import game.collect.Lists; +import game.collect.Maps; import game.properties.IProperty; import game.properties.PropertyDirection; import game.world.Facing; diff --git a/java/src/game/init/SmeltingRegistry.java b/java/src/game/init/SmeltingRegistry.java index b8e3e6f..1d2e404 100755 --- a/java/src/game/init/SmeltingRegistry.java +++ b/java/src/game/init/SmeltingRegistry.java @@ -4,10 +4,9 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import game.collect.Maps; - import game.block.Block; import game.block.BlockStoneBrick; +import game.collect.Maps; import game.color.DyeColor; import game.item.Item; import game.item.ItemFishFood; diff --git a/java/src/game/init/SoundEvent.java b/java/src/game/init/SoundEvent.java index 716f5d2..ddeb5b2 100755 --- a/java/src/game/init/SoundEvent.java +++ b/java/src/game/init/SoundEvent.java @@ -1,14 +1,5 @@ package game.init; -import java.io.BufferedInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import game.audio.CodecJOrbis; -import game.log.Log; -import game.rng.Random; -import game.util.FileUtils; - public enum SoundEvent { CLOTH("cloth1", "cloth2", "cloth3", "cloth4"), GRASS("grass1", "grass2", "grass3", "grass4"), @@ -122,53 +113,14 @@ public enum SoundEvent { SLIME_ATTACK("slime_attack1", "slime_attack2"), SLIME_BIG("slime_big1", "slime_big2", "slime_big3", "slime_big4"), SLIME_SMALL("slime_small1", "slime_small2", "slime_small3", "slime_small4", "slime_small5"); - - private static final Random RANDOM = new Random(); private final String[] sounds; - private final short[][] buffers; - - public static void loadSounds() { - int n = 0; - for(SoundEvent entry : SoundEvent.values()) { - for(int z = 0; z < entry.sounds.length; z++) { - String sound = entry.sounds[z]; - Log.SOUND.trace("Lade Sound %s", sound); - entry.buffers[z] = readOgg("sounds/" + sound + ".ogg"); - } - } - } - - private static short[] readOgg(String filename) { - InputStream in = null; - try { - in = new BufferedInputStream(FileUtils.getResource(filename)); - return CodecJOrbis.readAll(in); - } - catch(FileNotFoundException e) { - Log.IO.error("Fehler beim Lesen von OPUS-Datei '%s': Datei nicht gefunden", filename); - return null; - } - catch(Exception e) { - Log.IO.error("Fehler beim Lesen von OPUS-Datei '%s': %s", filename, e.getMessage()); - return null; - } - finally { - try { - if(in != null) - in.close(); - } - catch(IOException e) { - } - } - } private SoundEvent(String ... sounds) { this.sounds = sounds; - this.buffers = new short[sounds.length][]; } - public short[] getBuffer() { - return RANDOM.pick(this.buffers); + public String[] getSounds() { + return this.sounds; } } diff --git a/java/src/game/init/SpeciesRegistry.java b/java/src/game/init/SpeciesRegistry.java index e6df5e4..5afa09e 100755 --- a/java/src/game/init/SpeciesRegistry.java +++ b/java/src/game/init/SpeciesRegistry.java @@ -7,7 +7,6 @@ import java.util.Set; import game.collect.Lists; import game.collect.Maps; import game.collect.Sets; - import game.entity.npc.EntityArachnoid; import game.entity.npc.EntityBloodElf; import game.entity.npc.EntityChaosMarine; diff --git a/java/src/game/init/TileRegistry.java b/java/src/game/init/TileRegistry.java index d8d4147..8da4f9d 100755 --- a/java/src/game/init/TileRegistry.java +++ b/java/src/game/init/TileRegistry.java @@ -3,7 +3,6 @@ package game.init; import java.util.Map; import game.collect.Maps; - import game.tileentity.TileEntity; import game.tileentity.TileEntityBanner; import game.tileentity.TileEntityBeacon; diff --git a/java/src/game/init/ToolMaterial.java b/java/src/game/init/ToolMaterial.java index bff7669..85fade6 100755 --- a/java/src/game/init/ToolMaterial.java +++ b/java/src/game/init/ToolMaterial.java @@ -3,7 +3,6 @@ package game.init; import java.util.Set; import game.collect.Sets; - import game.item.Item; public class ToolMaterial diff --git a/java/src/game/init/UniverseRegistry.java b/java/src/game/init/UniverseRegistry.java index e42c48c..396de6c 100755 --- a/java/src/game/init/UniverseRegistry.java +++ b/java/src/game/init/UniverseRegistry.java @@ -5,14 +5,13 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import game.collect.Lists; -import game.collect.Maps; -import game.collect.Sets; - import game.biome.Biome; import game.block.BlockColored; import game.block.BlockSand; import game.block.LeavesType; +import game.collect.Lists; +import game.collect.Maps; +import game.collect.Sets; import game.color.DyeColor; import game.dimension.Area; import game.dimension.DimType; diff --git a/java/src/game/inventory/Container.java b/java/src/game/inventory/Container.java index 34fa6fb..8472563 100755 --- a/java/src/game/inventory/Container.java +++ b/java/src/game/inventory/Container.java @@ -5,7 +5,6 @@ import java.util.Set; import game.collect.Lists; import game.collect.Sets; - import game.entity.npc.EntityNPC; import game.item.Item; import game.item.ItemStack; diff --git a/java/src/game/inventory/ContainerLocalMenu.java b/java/src/game/inventory/ContainerLocalMenu.java index 9b2fa72..08d7992 100755 --- a/java/src/game/inventory/ContainerLocalMenu.java +++ b/java/src/game/inventory/ContainerLocalMenu.java @@ -3,7 +3,6 @@ package game.inventory; import java.util.Map; import game.collect.Maps; - import game.entity.npc.EntityNPC; import game.tileentity.ILockableContainer; import game.tileentity.LockCode; diff --git a/java/src/game/inventory/ContainerPlayer.java b/java/src/game/inventory/ContainerPlayer.java index 24f9857..c5ce694 100755 --- a/java/src/game/inventory/ContainerPlayer.java +++ b/java/src/game/inventory/ContainerPlayer.java @@ -3,7 +3,6 @@ package game.inventory; import java.util.List; import game.collect.Lists; - import game.entity.attributes.AttributeMap; import game.entity.npc.EntityNPC; import game.init.CraftingRegistry; diff --git a/java/src/game/inventory/InventoryBasic.java b/java/src/game/inventory/InventoryBasic.java index 38db51e..c7667da 100755 --- a/java/src/game/inventory/InventoryBasic.java +++ b/java/src/game/inventory/InventoryBasic.java @@ -3,7 +3,6 @@ package game.inventory; import java.util.List; import game.collect.Lists; - import game.entity.npc.EntityNPC; import game.item.ItemStack; diff --git a/java/src/game/item/Item.java b/java/src/game/item/Item.java index 7a7f408..7f68355 100755 --- a/java/src/game/item/Item.java +++ b/java/src/game/item/Item.java @@ -4,19 +4,19 @@ import java.util.List; import java.util.Map; import java.util.Set; +import game.block.Block; import game.collect.Maps; import game.collect.Sets; - -import game.block.Block; import game.color.TextColor; import game.entity.attributes.Attribute; import game.entity.attributes.AttributeModifier; import game.entity.npc.EntityNPC; import game.entity.types.EntityLiving; +import game.model.ItemMeshDefinition; +import game.model.Model; +import game.model.ModelProvider; +import game.model.Transforms; import game.nbt.NBTTagCompound; -import game.renderer.ItemMeshDefinition; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; import game.rng.Random; import game.util.ExtMath; import game.world.BlockPos; @@ -660,8 +660,8 @@ public class Item return Transforms.ITEM; } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(this.getTransform(), name); + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(this.getTransform(), name); } public ItemMeshDefinition getMesher() { diff --git a/java/src/game/item/ItemArmor.java b/java/src/game/item/ItemArmor.java index 74cedb3..cc0f01b 100755 --- a/java/src/game/item/ItemArmor.java +++ b/java/src/game/item/ItemArmor.java @@ -3,11 +3,10 @@ package game.item; import java.util.List; import java.util.Map; import java.util.Set; - import java.util.function.Predicate; -import game.collect.Sets; import game.block.BlockDispenser; +import game.collect.Sets; import game.dispenser.BehaviorDefaultDispenseItem; import game.dispenser.IBehaviorDispenseItem; import game.dispenser.IBlockSource; @@ -18,9 +17,10 @@ import game.entity.npc.EntityNPC; import game.entity.types.EntityLiving; import game.init.DispenserRegistry; import game.init.ToolMaterial; +import game.model.Model; +import game.model.ModelProvider; +import game.model.Transforms; import game.nbt.NBTTagCompound; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; import game.world.BlockPos; import game.world.BoundingBox; import game.world.World; @@ -279,11 +279,11 @@ public class ItemArmor extends Item super.getTransform()); } - public ModelBlock getModel(String name, int meta) { + public Model getModel(ModelProvider provider, String name, int meta) { if(this.material.canBeDyed()) - return new ModelBlock(this.getTransform(), name, name + "_overlay"); + return provider.getModel(this.getTransform(), name, name + "_overlay"); else - return super.getModel(name, meta); + return super.getModel(provider, name, meta); } public void addInformation(ItemStack stack, EntityNPC playerIn, List tooltip) { diff --git a/java/src/game/item/ItemBanner.java b/java/src/game/item/ItemBanner.java index 4885146..46f28bf 100755 --- a/java/src/game/item/ItemBanner.java +++ b/java/src/game/item/ItemBanner.java @@ -7,11 +7,11 @@ import game.block.BlockWallSign; import game.color.DyeColor; import game.entity.npc.EntityNPC; import game.init.Blocks; -import game.model.ModelBakery; +import game.model.ItemMeshDefinition; +import game.model.Model; +import game.model.ModelProvider; import game.nbt.NBTTagCompound; import game.nbt.NBTTagList; -import game.renderer.ItemMeshDefinition; -import game.renderer.blockmodel.ModelBlock; import game.tileentity.TileEntity; import game.tileentity.TileEntityBanner; import game.util.ExtMath; @@ -214,7 +214,7 @@ public class ItemBanner extends ItemBlock subItems.add(new ItemStack(itemIn, 1, 0)); } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(ModelBakery.MODEL_ENTITY, this.getTransform()); + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(provider.getEntityModel(), this.getTransform()); } } diff --git a/java/src/game/item/ItemBlock.java b/java/src/game/item/ItemBlock.java index 85c373f..b619ade 100755 --- a/java/src/game/item/ItemBlock.java +++ b/java/src/game/item/ItemBlock.java @@ -8,9 +8,10 @@ import game.entity.Entity; import game.entity.npc.EntityNPC; import game.init.BlockRegistry; import game.init.Blocks; +import game.model.Model; +import game.model.ModelProvider; +import game.model.Transforms; import game.nbt.NBTTagCompound; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; import game.tileentity.TileEntity; import game.world.BlockPos; import game.world.Facing; @@ -214,11 +215,11 @@ public class ItemBlock extends Item return this.flatTexture != null ? super.getTransform() : this.block.getTransform(); } - public ModelBlock getModel(String name, int meta) { - return this.flatTexture != null ? new ModelBlock(this.getTransform(), !this.flatTexture.isEmpty() ? this.flatTexture : - this.block.getModel(BlockRegistry.REGISTRY.getNameForObject(this.block).toString(), - this.block.getStateFromMeta(this.getMetadata(meta))).getPrimary() /* "blocks/" + name */) : - new ModelBlock(this.block.getModel(BlockRegistry.REGISTRY.getNameForObject(this.block).toString(), - this.block.getStateFromMeta(this.getMetadata(meta))), this.getTransform()); + public Model getModel(ModelProvider provider, String name, int meta) { + return this.flatTexture != null ? provider.getModel(this.getTransform(), !this.flatTexture.isEmpty() ? this.flatTexture : + this.block.getModel(provider, + BlockRegistry.REGISTRY.getNameForObject(this.block).toString(), this.block.getStateFromMeta(this.getMetadata(meta))).getPrimary() /* "blocks/" + name */) : + provider.getModel(this.block.getModel(provider, + BlockRegistry.REGISTRY.getNameForObject(this.block).toString(), this.block.getStateFromMeta(this.getMetadata(meta))), this.getTransform()); } } diff --git a/java/src/game/item/ItemBow.java b/java/src/game/item/ItemBow.java index 8147936..4670914 100755 --- a/java/src/game/item/ItemBow.java +++ b/java/src/game/item/ItemBow.java @@ -8,8 +8,9 @@ import game.entity.npc.EntityNPC; import game.entity.projectile.EntityArrow; import game.init.Items; import game.init.SoundEvent; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; +import game.model.Model; +import game.model.ModelProvider; +import game.model.Transforms; import game.world.World; public class ItemBow extends Item @@ -148,8 +149,8 @@ public class ItemBow extends Item return Transforms.RANGED; } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(this.getTransform(), meta == 0 ? "bow" : ("bow_pulling_" + (meta - 1))); + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(this.getTransform(), meta == 0 ? "bow" : ("bow_pulling_" + (meta - 1))); } public boolean canBeWielded() { diff --git a/java/src/game/item/ItemBucket.java b/java/src/game/item/ItemBucket.java index 65ef496..ee2f4de 100755 --- a/java/src/game/item/ItemBucket.java +++ b/java/src/game/item/ItemBucket.java @@ -7,12 +7,11 @@ import java.util.List; import java.util.Queue; import java.util.Set; -import game.collect.Sets; - import game.block.Block; import game.block.BlockDynamicLiquid; import game.block.BlockLiquid; import game.block.BlockStaticLiquid; +import game.collect.Sets; import game.entity.npc.EntityNPC; import game.init.BlockRegistry; import game.init.Blocks; @@ -21,8 +20,9 @@ import game.init.ItemRegistry; import game.init.Items; import game.init.SoundEvent; import game.material.Material; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.particle.ParticleType; +import game.model.Model; +import game.model.ModelProvider; +import game.model.ParticleType; import game.world.BlockPos; import game.world.HitPosition; import game.world.State; @@ -316,8 +316,8 @@ public class ItemBucket extends Item return true; } - public ModelBlock getModel(String name, int meta) { - return this.recursive ? new ModelBlock(this.getTransform(), name.substring("recursive_".length())) : super.getModel(name, meta); + public Model getModel(ModelProvider provider, String name, int meta) { + return this.recursive ? provider.getModel(this.getTransform(), name.substring("recursive_".length())) : super.getModel(provider, name, meta); } // public ItemMeshDefinition getMesher() { @@ -337,11 +337,11 @@ public class ItemBucket extends Item // subItems.add(new ItemStack(itemIn, 1, 0)); // } -// public ModelBlock getModel(String name, int meta) { +// public Model getModel(String name, int meta) { // if(this.empty) // return super.getModel(name, meta); // else -// return new ModelBlock(this.getTransform(), meta < 0 || meta >= FluidRegistry.getNumFluids() ? "bucket" : +// return provider.getModel(this.getTransform(), meta < 0 || meta >= FluidRegistry.getNumFluids() ? "bucket" : // (BlockRegistry.REGISTRY.getNameForObject(FluidRegistry.getStaticBlock(meta)) + "_bucket")); // } } diff --git a/java/src/game/item/ItemBucketMilk.java b/java/src/game/item/ItemBucketMilk.java index 5ffdc20..d6aea49 100755 --- a/java/src/game/item/ItemBucketMilk.java +++ b/java/src/game/item/ItemBucketMilk.java @@ -4,7 +4,6 @@ import java.util.Map; import java.util.Set; import game.collect.Sets; - import game.entity.attributes.Attribute; import game.entity.attributes.AttributeModifier; import game.entity.attributes.Attributes; diff --git a/java/src/game/item/ItemButton.java b/java/src/game/item/ItemButton.java index 52a25e8..7645145 100755 --- a/java/src/game/item/ItemButton.java +++ b/java/src/game/item/ItemButton.java @@ -1,7 +1,8 @@ package game.item; import game.block.BlockButton; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; public class ItemButton extends ItemBlock { private final BlockButton button; @@ -11,8 +12,8 @@ public class ItemButton extends ItemBlock { this.button = block; } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(new ModelBlock(this.button.getTexture()).add(5, 6, 6, 11, 10, 10) + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(provider.getModel(this.button.getTexture()).add(5, 6, 6, 11, 10, 10) .d().uv(5, 6, 11, 10).noCull().u().uv(5, 10, 11, 6).noCull() .ns().uv(5, 12, 11, 16).noCull().we().uv(6, 12, 10, 16).noCull(), this.getTransform()); } diff --git a/java/src/game/item/ItemCarrotOnAStick.java b/java/src/game/item/ItemCarrotOnAStick.java index 33a15a4..6eb5c1d 100755 --- a/java/src/game/item/ItemCarrotOnAStick.java +++ b/java/src/game/item/ItemCarrotOnAStick.java @@ -3,7 +3,7 @@ package game.item; import game.entity.animal.EntityPig; import game.entity.npc.EntityNPC; import game.init.Items; -import game.renderer.blockmodel.Transforms; +import game.model.Transforms; import game.world.World; public class ItemCarrotOnAStick extends Item diff --git a/java/src/game/item/ItemChargedOrb.java b/java/src/game/item/ItemChargedOrb.java index 928e51e..7cd9990 100755 --- a/java/src/game/item/ItemChargedOrb.java +++ b/java/src/game/item/ItemChargedOrb.java @@ -7,7 +7,7 @@ import game.entity.npc.EntityNPC; import game.init.Blocks; import game.init.Items; import game.init.SoundEvent; -import game.renderer.particle.ParticleType; +import game.model.ParticleType; import game.world.BlockPos; import game.world.Facing; import game.world.State; diff --git a/java/src/game/item/ItemChest.java b/java/src/game/item/ItemChest.java index 4974a74..50c11e7 100755 --- a/java/src/game/item/ItemChest.java +++ b/java/src/game/item/ItemChest.java @@ -1,17 +1,17 @@ package game.item; import game.block.Block; -import game.model.ModelBakery; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; +import game.model.Model; +import game.model.ModelProvider; +import game.model.Transforms; public class ItemChest extends ItemBlock { public ItemChest(Block block) { super(block); } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(ModelBakery.MODEL_ENTITY, this.getTransform()); + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(provider.getEntityModel(), this.getTransform()); } public Transforms getTransform() { diff --git a/java/src/game/item/ItemCloth.java b/java/src/game/item/ItemCloth.java index 5892e22..791a8cd 100755 --- a/java/src/game/item/ItemCloth.java +++ b/java/src/game/item/ItemCloth.java @@ -2,7 +2,8 @@ package game.item; import game.block.Block; import game.color.DyeColor; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; public class ItemCloth extends ItemBlock { @@ -39,8 +40,8 @@ public class ItemCloth extends ItemBlock return DyeColor.byMetadata(stack.getMetadata()).getSubject(this.display) + " " + super.getDisplay(stack); } - public ModelBlock getModel(String name, int meta) { - return this.flatTexture != null ? new ModelBlock(this.getTransform(), "blocks/" + DyeColor.byMetadata(meta).getName() + "_" + - this.flatTexture) : super.getModel(name, meta); + public Model getModel(ModelProvider provider, String name, int meta) { + return this.flatTexture != null ? provider.getModel(this.getTransform(), "blocks/" + DyeColor.byMetadata(meta).getName() + "_" + + this.flatTexture) : super.getModel(provider, name, meta); } } diff --git a/java/src/game/item/ItemCoal.java b/java/src/game/item/ItemCoal.java index 4943f64..637ddaa 100755 --- a/java/src/game/item/ItemCoal.java +++ b/java/src/game/item/ItemCoal.java @@ -2,7 +2,8 @@ package game.item; import java.util.List; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; public class ItemCoal extends Item { @@ -31,7 +32,7 @@ public class ItemCoal extends Item subItems.add(new ItemStack(itemIn, 1, 1)); } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(this.getTransform(), meta == 1 ? "charcoal" : "coal"); + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(this.getTransform(), meta == 1 ? "charcoal" : "coal"); } } diff --git a/java/src/game/item/ItemDie.java b/java/src/game/item/ItemDie.java index c2f29ca..86c7b86 100755 --- a/java/src/game/item/ItemDie.java +++ b/java/src/game/item/ItemDie.java @@ -6,8 +6,9 @@ import game.color.TextColor; import game.entity.npc.EntityNPC; import game.entity.projectile.EntityDie; import game.init.SoundEvent; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; +import game.model.Model; +import game.model.ModelProvider; +import game.model.Transforms; import game.util.ExtMath; import game.world.World; @@ -59,8 +60,8 @@ public class ItemDie extends Item return Transforms.DICE; } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(new ModelBlock("items/die_d" + DIE_SIDES[meta] + "_side").add().nswe() + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(provider.getModel("items/die_d" + DIE_SIDES[meta] + "_side").add().nswe() .du("items/die_d" + DIE_SIDES[meta] + "_top"), this.getTransform()); } } diff --git a/java/src/game/item/ItemDoublePlant.java b/java/src/game/item/ItemDoublePlant.java index e326216..3ac9222 100755 --- a/java/src/game/item/ItemDoublePlant.java +++ b/java/src/game/item/ItemDoublePlant.java @@ -6,7 +6,8 @@ import game.block.Block; import game.block.BlockDoublePlant; import game.block.BlockDoublePlant.EnumPlantType; import game.color.Colorizer; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; public class ItemDoublePlant extends ItemMultiTexture { @@ -21,8 +22,8 @@ public class ItemDoublePlant extends ItemMultiTexture return blockdoubleplant$enumplanttype != BlockDoublePlant.EnumPlantType.GRASS && blockdoubleplant$enumplanttype != BlockDoublePlant.EnumPlantType.FERN ? super.getColorFromItemStack(stack, renderPass) : Colorizer.getGrassColor(0.5D, 1.0D); } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(this.getTransform(), "blocks/" + ( + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(this.getTransform(), "blocks/" + ( BlockDoublePlant.EnumPlantType.byMetadata(meta) == EnumPlantType.SUNFLOWER ? "sunflower_front" : BlockDoublePlant.EnumPlantType.byMetadata(meta).getName() + "_top")); } diff --git a/java/src/game/item/ItemDye.java b/java/src/game/item/ItemDye.java index 46ca085..b74ef3e 100755 --- a/java/src/game/item/ItemDye.java +++ b/java/src/game/item/ItemDye.java @@ -12,8 +12,9 @@ import game.entity.types.EntityLiving; import game.init.BlockRegistry; import game.init.Blocks; import game.material.Material; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.particle.ParticleType; +import game.model.Model; +import game.model.ModelProvider; +import game.model.ParticleType; import game.tileentity.TileEntity; import game.tileentity.TileEntityBeacon; import game.world.BlockPos; @@ -229,7 +230,7 @@ public class ItemDye extends Item } } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(this.getTransform(), "dye_" + DyeColor.byDyeDamage(meta).getName()); + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(this.getTransform(), "dye_" + DyeColor.byDyeDamage(meta).getName()); } } diff --git a/java/src/game/item/ItemDynamite.java b/java/src/game/item/ItemDynamite.java index ffd637d..d6b695a 100755 --- a/java/src/game/item/ItemDynamite.java +++ b/java/src/game/item/ItemDynamite.java @@ -5,7 +5,8 @@ import java.util.List; import game.entity.npc.EntityNPC; import game.entity.projectile.EntityDynamite; import game.init.SoundEvent; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; import game.world.World; public class ItemDynamite extends Item @@ -54,7 +55,7 @@ public class ItemDynamite extends Item return super.getDisplay(stack) + (exp == 0 ? "" : " " + TIERS[exp-1]); } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(this.getTransform(), "dynamite" + (meta == 0 ? "" : ("_" + meta))); + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(this.getTransform(), "dynamite" + (meta == 0 ? "" : ("_" + meta))); } } diff --git a/java/src/game/item/ItemEditWand.java b/java/src/game/item/ItemEditWand.java index 057a0f5..e5248f7 100755 --- a/java/src/game/item/ItemEditWand.java +++ b/java/src/game/item/ItemEditWand.java @@ -1,7 +1,7 @@ package game.item; import game.entity.npc.EntityNPC; -import game.renderer.blockmodel.Transforms; +import game.model.Transforms; import game.world.BlockPos; import game.world.World; diff --git a/java/src/game/item/ItemEnchantedBook.java b/java/src/game/item/ItemEnchantedBook.java index bd1834f..ebdf3e9 100755 --- a/java/src/game/item/ItemEnchantedBook.java +++ b/java/src/game/item/ItemEnchantedBook.java @@ -8,9 +8,9 @@ import game.enchantment.EnchantmentHelper; import game.enchantment.RngEnchantment; import game.entity.npc.EntityNPC; import game.init.Items; +import game.model.ItemMeshDefinition; import game.nbt.NBTTagCompound; import game.nbt.NBTTagList; -import game.renderer.ItemMeshDefinition; import game.rng.Random; public class ItemEnchantedBook extends Item diff --git a/java/src/game/item/ItemFence.java b/java/src/game/item/ItemFence.java index a36455d..846c9dc 100755 --- a/java/src/game/item/ItemFence.java +++ b/java/src/game/item/ItemFence.java @@ -2,15 +2,16 @@ package game.item; import game.block.Block; import game.block.BlockFence; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; public class ItemFence extends ItemBlock { public ItemFence(Block block) { super(block); } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(new ModelBlock(((BlockFence)this.block).getTexture()).noOcclude() + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(provider.getModel(((BlockFence)this.block).getTexture()).noOcclude() .add(6, 0, 0, 10, 16, 4) .d().uv(6, 0, 10, 4) .u().uv(6, 0, 10, 4).noCull() diff --git a/java/src/game/item/ItemFirework.java b/java/src/game/item/ItemFirework.java index 3e867cc..5f606c9 100755 --- a/java/src/game/item/ItemFirework.java +++ b/java/src/game/item/ItemFirework.java @@ -3,7 +3,6 @@ package game.item; import java.util.List; import game.collect.Lists; - import game.entity.item.EntityFireworks; import game.entity.npc.EntityNPC; import game.nbt.NBTTagCompound; diff --git a/java/src/game/item/ItemFireworkCharge.java b/java/src/game/item/ItemFireworkCharge.java index 458a26b..e239551 100755 --- a/java/src/game/item/ItemFireworkCharge.java +++ b/java/src/game/item/ItemFireworkCharge.java @@ -4,10 +4,11 @@ import java.util.List; import game.color.DyeColor; import game.entity.npc.EntityNPC; +import game.model.Model; +import game.model.ModelProvider; import game.nbt.NBTBase; import game.nbt.NBTTagCompound; import game.nbt.NBTTagIntArray; -import game.renderer.blockmodel.ModelBlock; public class ItemFireworkCharge extends Item { @@ -193,7 +194,7 @@ public class ItemFireworkCharge extends Item // return Sets.newHashSet("Explosion"); // } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(this.getTransform(), "firework_charge", "firework_charge_overlay"); + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(this.getTransform(), "firework_charge", "firework_charge_overlay"); } } diff --git a/java/src/game/item/ItemFishFood.java b/java/src/game/item/ItemFishFood.java index 93b554e..c5464fa 100755 --- a/java/src/game/item/ItemFishFood.java +++ b/java/src/game/item/ItemFishFood.java @@ -4,12 +4,12 @@ import java.util.List; import java.util.Map; import game.collect.Maps; - import game.entity.npc.EntityNPC; +import game.model.Model; +import game.model.ModelProvider; import game.potion.Potion; import game.potion.PotionEffect; import game.potion.PotionHelper; -import game.renderer.blockmodel.ModelBlock; import game.world.World; public class ItemFishFood extends ItemFood @@ -71,8 +71,8 @@ public class ItemFishFood extends ItemFood return (type.canCook() ? (this.cooked ? "Gebratener " : "Roher ") : "") + type.getName(); } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(this.getTransform(), (this.cooked ? "cooked_" : "") + FishType.byMetadata(meta).getTexture()); + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(this.getTransform(), (this.cooked ? "cooked_" : "") + FishType.byMetadata(meta).getTexture()); } public static enum FishType diff --git a/java/src/game/item/ItemFishingRod.java b/java/src/game/item/ItemFishingRod.java index ca91cc9..da31478 100755 --- a/java/src/game/item/ItemFishingRod.java +++ b/java/src/game/item/ItemFishingRod.java @@ -5,8 +5,9 @@ import java.util.List; import game.entity.npc.EntityNPC; import game.entity.projectile.EntityHook; import game.init.SoundEvent; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; +import game.model.Model; +import game.model.ModelProvider; +import game.model.Transforms; import game.world.World; public class ItemFishingRod extends Item @@ -87,7 +88,7 @@ public class ItemFishingRod extends Item return Transforms.TOOL_FLIP; } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(this.getTransform(), meta == 1 ? "fishing_rod_cast" : "fishing_rod"); + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(this.getTransform(), meta == 1 ? "fishing_rod_cast" : "fishing_rod"); } } diff --git a/java/src/game/item/ItemGlassBottle.java b/java/src/game/item/ItemGlassBottle.java index 448a435..5d765c6 100755 --- a/java/src/game/item/ItemGlassBottle.java +++ b/java/src/game/item/ItemGlassBottle.java @@ -3,7 +3,8 @@ package game.item; import game.entity.npc.EntityNPC; import game.init.Items; import game.material.Material; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; import game.world.BlockPos; import game.world.HitPosition; import game.world.World; @@ -63,7 +64,7 @@ public class ItemGlassBottle extends Item } } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(this.getTransform(), "potion_bottle_empty"); + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(this.getTransform(), "potion_bottle_empty"); } } diff --git a/java/src/game/item/ItemGunBase.java b/java/src/game/item/ItemGunBase.java index 77ca3f8..437bb77 100755 --- a/java/src/game/item/ItemGunBase.java +++ b/java/src/game/item/ItemGunBase.java @@ -5,7 +5,7 @@ import game.enchantment.EnchantmentHelper; import game.entity.npc.EntityNPC; import game.entity.projectile.EntityBullet; import game.init.SoundEvent; -import game.renderer.blockmodel.Transforms; +import game.model.Transforms; import game.world.World; public abstract class ItemGunBase extends Item diff --git a/java/src/game/item/ItemHoe.java b/java/src/game/item/ItemHoe.java index 3e94c2c..30ab087 100755 --- a/java/src/game/item/ItemHoe.java +++ b/java/src/game/item/ItemHoe.java @@ -6,7 +6,7 @@ import game.entity.npc.EntityNPC; import game.init.Blocks; import game.init.ToolMaterial; import game.material.Material; -import game.renderer.blockmodel.Transforms; +import game.model.Transforms; import game.world.BlockPos; import game.world.Facing; import game.world.State; diff --git a/java/src/game/item/ItemKey.java b/java/src/game/item/ItemKey.java index af70514..27438c7 100755 --- a/java/src/game/item/ItemKey.java +++ b/java/src/game/item/ItemKey.java @@ -1,6 +1,6 @@ package game.item; -import game.renderer.blockmodel.Transforms; +import game.model.Transforms; public class ItemKey extends ItemMagnetic { public Transforms getTransform() { diff --git a/java/src/game/item/ItemMagnet.java b/java/src/game/item/ItemMagnet.java index efa05c9..2a03a84 100755 --- a/java/src/game/item/ItemMagnet.java +++ b/java/src/game/item/ItemMagnet.java @@ -1,13 +1,12 @@ package game.item; import java.util.List; - import java.util.function.Predicate; import game.entity.Entity; import game.entity.animal.EntityChicken; import game.entity.npc.EntityNPC; -import game.renderer.blockmodel.Transforms; +import game.model.Transforms; import game.world.BoundingBox; import game.world.Vec3; import game.world.World; diff --git a/java/src/game/item/ItemMetal.java b/java/src/game/item/ItemMetal.java index 26a8f8a..428ac93 100755 --- a/java/src/game/item/ItemMetal.java +++ b/java/src/game/item/ItemMetal.java @@ -5,7 +5,6 @@ import java.util.Map; import java.util.Set; import game.collect.Sets; - import game.color.TextColor; import game.entity.attributes.Attribute; import game.entity.attributes.AttributeModifier; diff --git a/java/src/game/item/ItemMetalBlock.java b/java/src/game/item/ItemMetalBlock.java index b1ab01c..68a09cb 100755 --- a/java/src/game/item/ItemMetalBlock.java +++ b/java/src/game/item/ItemMetalBlock.java @@ -4,9 +4,8 @@ import java.util.List; import java.util.Map; import java.util.Set; -import game.collect.Sets; - import game.block.Block; +import game.collect.Sets; import game.color.TextColor; import game.entity.attributes.Attribute; import game.entity.attributes.AttributeModifier; diff --git a/java/src/game/item/ItemMonsterPlacer.java b/java/src/game/item/ItemMonsterPlacer.java index cc69eb4..a1768de 100755 --- a/java/src/game/item/ItemMonsterPlacer.java +++ b/java/src/game/item/ItemMonsterPlacer.java @@ -13,7 +13,8 @@ import game.init.Blocks; import game.init.EntityEggInfo; import game.init.EntityRegistry; import game.init.UniverseRegistry; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; import game.tileentity.TileEntity; import game.tileentity.TileEntityMobSpawner; import game.util.ExtMath; @@ -265,7 +266,7 @@ public class ItemMonsterPlacer extends Item // subItems.add(new ItemStack(itemIn, 1, 0)); // } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(this.getTransform(), "spawn_egg", "spawn_egg_overlay"); + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(this.getTransform(), "spawn_egg", "spawn_egg_overlay"); } } diff --git a/java/src/game/item/ItemNpcSpawner.java b/java/src/game/item/ItemNpcSpawner.java index e215853..5758549 100755 --- a/java/src/game/item/ItemNpcSpawner.java +++ b/java/src/game/item/ItemNpcSpawner.java @@ -14,7 +14,8 @@ import game.entity.npc.EntityNPC.CharacterTypeData; import game.entity.types.EntityLiving; import game.init.EntityRegistry; import game.init.UniverseRegistry; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; import game.util.ExtMath; import game.world.BlockPos; import game.world.Facing; @@ -201,7 +202,7 @@ public class ItemNpcSpawner extends Item // subItems.add(new ItemStack(itemIn, 1, 0)); // } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(this.getTransform(), "npc_spawner", "npc_spawner_overlay"); + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(this.getTransform(), "npc_spawner", "npc_spawner_overlay"); } } diff --git a/java/src/game/item/ItemNugget.java b/java/src/game/item/ItemNugget.java index 563df21..ad2f783 100755 --- a/java/src/game/item/ItemNugget.java +++ b/java/src/game/item/ItemNugget.java @@ -1,6 +1,6 @@ package game.item; -import game.renderer.blockmodel.Transforms; +import game.model.Transforms; public class ItemNugget extends Item { public Transforms getTransform() { diff --git a/java/src/game/item/ItemPiston.java b/java/src/game/item/ItemPiston.java index 1a874da..e5b6723 100755 --- a/java/src/game/item/ItemPiston.java +++ b/java/src/game/item/ItemPiston.java @@ -2,7 +2,8 @@ package game.item; import game.block.Block; import game.init.Blocks; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; public class ItemPiston extends ItemBlock { @@ -24,8 +25,8 @@ public class ItemPiston extends ItemBlock return true; } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(new ModelBlock("piston_side").add().nswe().d("piston_bottom").u("piston_top" + (this.block == + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(provider.getModel("piston_side").add().nswe().d("piston_bottom").u("piston_top" + (this.block == Blocks.sticky_piston ? "_sticky" : "")), this.getTransform()); } } diff --git a/java/src/game/item/ItemPotion.java b/java/src/game/item/ItemPotion.java index 43d5c93..556090e 100755 --- a/java/src/game/item/ItemPotion.java +++ b/java/src/game/item/ItemPotion.java @@ -8,7 +8,6 @@ import java.util.Set; import game.collect.Maps; import game.collect.Sets; - import game.color.TextColor; import game.entity.attributes.Attribute; import game.entity.attributes.AttributeModifier; @@ -16,11 +15,12 @@ import game.entity.npc.EntityNPC; import game.entity.projectile.EntityPotion; import game.init.Items; import game.init.SoundEvent; +import game.model.ItemMeshDefinition; +import game.model.Model; +import game.model.ModelProvider; import game.potion.Potion; import game.potion.PotionEffect; import game.potion.PotionHelper; -import game.renderer.ItemMeshDefinition; -import game.renderer.blockmodel.ModelBlock; import game.world.World; public class ItemPotion extends Item @@ -439,8 +439,8 @@ public class ItemPotion extends Item subItems.add(new ItemStack(itemIn, 1, 16384)); } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(this.getTransform(), "potion_overlay", + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(this.getTransform(), "potion_overlay", isSplash(meta) ? "potion_bottle_splash" : "potion_bottle_drinkable"); } } diff --git a/java/src/game/item/ItemPressurePlate.java b/java/src/game/item/ItemPressurePlate.java index 23095e4..0488c5b 100755 --- a/java/src/game/item/ItemPressurePlate.java +++ b/java/src/game/item/ItemPressurePlate.java @@ -2,15 +2,16 @@ package game.item; import game.block.Block; import game.block.BlockBasePressurePlate; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; public class ItemPressurePlate extends ItemBlock { public ItemPressurePlate(Block block) { super(block); } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(new ModelBlock(((BlockBasePressurePlate)this.block).getTexture()) + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(provider.getModel(((BlockBasePressurePlate)this.block).getTexture()) .add(1, 6, 1, 15, 10, 15) .d().uv(1, 1, 15, 15).noCull() .u().uv(1, 1, 15, 15).noCull() diff --git a/java/src/game/item/ItemRecord.java b/java/src/game/item/ItemRecord.java index 736a92c..1cd10dd 100755 --- a/java/src/game/item/ItemRecord.java +++ b/java/src/game/item/ItemRecord.java @@ -1,13 +1,14 @@ package game.item; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; public class ItemRecord extends Item { public ItemRecord() { this.setTab(CheatTab.tabMisc); } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(this.getTransform(), "record_old"); + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(this.getTransform(), "record_old"); } } diff --git a/java/src/game/item/ItemRod.java b/java/src/game/item/ItemRod.java index 5fa50e6..8e5934f 100755 --- a/java/src/game/item/ItemRod.java +++ b/java/src/game/item/ItemRod.java @@ -1,6 +1,6 @@ package game.item; -import game.renderer.blockmodel.Transforms; +import game.model.Transforms; public class ItemRod extends Item { public Transforms getTransform() { diff --git a/java/src/game/item/ItemSeeds.java b/java/src/game/item/ItemSeeds.java index 07472fe..c9e243c 100755 --- a/java/src/game/item/ItemSeeds.java +++ b/java/src/game/item/ItemSeeds.java @@ -2,7 +2,7 @@ package game.item; import game.block.Block; import game.entity.npc.EntityNPC; -import game.renderer.blockmodel.Transforms; +import game.model.Transforms; import game.world.BlockPos; import game.world.Facing; import game.world.World; diff --git a/java/src/game/item/ItemSkull.java b/java/src/game/item/ItemSkull.java index 2e6f50f..0def762 100755 --- a/java/src/game/item/ItemSkull.java +++ b/java/src/game/item/ItemSkull.java @@ -4,9 +4,9 @@ import game.block.Block; import game.block.BlockSkull; import game.entity.npc.EntityNPC; import game.init.Blocks; -import game.model.ModelBakery; -import game.renderer.blockmodel.ModelBlock; -import game.renderer.blockmodel.Transforms; +import game.model.Model; +import game.model.ModelProvider; +import game.model.Transforms; import game.tileentity.TileEntity; import game.tileentity.TileEntitySkull; import game.util.ExtMath; @@ -182,7 +182,7 @@ public class ItemSkull extends Item return Transforms.SKULL; } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock(ModelBakery.MODEL_ENTITY, this.getTransform()); + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel(provider.getEntityModel(), this.getTransform()); } } diff --git a/java/src/game/item/ItemSmall.java b/java/src/game/item/ItemSmall.java index 93f598d..0278dbc 100755 --- a/java/src/game/item/ItemSmall.java +++ b/java/src/game/item/ItemSmall.java @@ -1,6 +1,6 @@ package game.item; -import game.renderer.blockmodel.Transforms; +import game.model.Transforms; public class ItemSmall extends Item { public Transforms getTransform() { diff --git a/java/src/game/item/ItemSoup.java b/java/src/game/item/ItemSoup.java index 9ea2ace..0cd6946 100755 --- a/java/src/game/item/ItemSoup.java +++ b/java/src/game/item/ItemSoup.java @@ -2,7 +2,7 @@ package game.item; import game.entity.npc.EntityNPC; import game.init.Items; -import game.renderer.blockmodel.Transforms; +import game.model.Transforms; import game.world.World; public class ItemSoup extends ItemFood diff --git a/java/src/game/item/ItemStack.java b/java/src/game/item/ItemStack.java index c6fcc06..11c034a 100755 --- a/java/src/game/item/ItemStack.java +++ b/java/src/game/item/ItemStack.java @@ -6,10 +6,9 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import game.block.Block; import game.collect.Lists; import game.collect.Maps; - -import game.block.Block; import game.color.TextColor; import game.enchantment.Enchantment; import game.enchantment.EnchantmentDurability; diff --git a/java/src/game/item/ItemStick.java b/java/src/game/item/ItemStick.java index 1810890..fe18c93 100755 --- a/java/src/game/item/ItemStick.java +++ b/java/src/game/item/ItemStick.java @@ -1,6 +1,6 @@ package game.item; -import game.renderer.blockmodel.Transforms; +import game.model.Transforms; public class ItemStick extends Item { public Transforms getTransform() { diff --git a/java/src/game/item/ItemSword.java b/java/src/game/item/ItemSword.java index f3511d9..a3e942b 100755 --- a/java/src/game/item/ItemSword.java +++ b/java/src/game/item/ItemSword.java @@ -3,9 +3,8 @@ package game.item; import java.util.Map; import java.util.Set; -import game.collect.Sets; - import game.block.Block; +import game.collect.Sets; import game.entity.attributes.Attribute; import game.entity.attributes.AttributeModifier; import game.entity.attributes.Attributes; @@ -14,7 +13,7 @@ import game.entity.types.EntityLiving; import game.init.Blocks; import game.init.ToolMaterial; import game.material.Material; -import game.renderer.blockmodel.Transforms; +import game.model.Transforms; import game.world.BlockPos; import game.world.World; diff --git a/java/src/game/item/ItemTiny.java b/java/src/game/item/ItemTiny.java index d51b8fd..5afe04c 100755 --- a/java/src/game/item/ItemTiny.java +++ b/java/src/game/item/ItemTiny.java @@ -1,6 +1,6 @@ package game.item; -import game.renderer.blockmodel.Transforms; +import game.model.Transforms; public class ItemTiny extends Item { public Transforms getTransform() { diff --git a/java/src/game/item/ItemTool.java b/java/src/game/item/ItemTool.java index 7c24492..ae32886 100755 --- a/java/src/game/item/ItemTool.java +++ b/java/src/game/item/ItemTool.java @@ -3,15 +3,14 @@ package game.item; import java.util.Map; import java.util.Set; -import game.collect.Sets; - import game.block.Block; +import game.collect.Sets; import game.entity.attributes.Attribute; import game.entity.attributes.AttributeModifier; import game.entity.attributes.Attributes; import game.entity.types.EntityLiving; import game.init.ToolMaterial; -import game.renderer.blockmodel.Transforms; +import game.model.Transforms; import game.world.BlockPos; import game.world.World; diff --git a/java/src/game/item/ItemWall.java b/java/src/game/item/ItemWall.java index 6b6be4c..af0d374 100755 --- a/java/src/game/item/ItemWall.java +++ b/java/src/game/item/ItemWall.java @@ -4,16 +4,17 @@ import java.util.function.Function; import game.block.Block; import game.block.BlockWall; -import game.renderer.blockmodel.ModelBlock; +import game.model.Model; +import game.model.ModelProvider; public class ItemWall extends ItemMultiTexture { public ItemWall(Block block, Block block2, Function nameFunction) { super(block, block2, nameFunction); } - public ModelBlock getModel(String name, int meta) { - return new ModelBlock( - new ModelBlock(this.block.getStateFromMeta(this.getMetadata(meta)).getValue(BlockWall.VARIANT).getName()).noOcclude() + public Model getModel(ModelProvider provider, String name, int meta) { + return provider.getModel( + provider.getModel(this.block.getStateFromMeta(this.getMetadata(meta)).getValue(BlockWall.VARIANT).getName()).noOcclude() .add(4, 0, 4, 12, 16, 12) .d().uv(4, 4, 12, 12) .u().uv(4, 4, 12, 12).noCull() diff --git a/java/src/game/item/ItemWand.java b/java/src/game/item/ItemWand.java index 172198d..1e0b191 100755 --- a/java/src/game/item/ItemWand.java +++ b/java/src/game/item/ItemWand.java @@ -4,7 +4,7 @@ import java.util.List; import game.color.TextColor; import game.entity.npc.EntityNPC; -import game.renderer.blockmodel.Transforms; +import game.model.Transforms; import game.util.ExtMath; import game.world.BlockPos; import game.world.Facing; diff --git a/java/src/game/log/Log.java b/java/src/game/log/Log.java index e328a1c..099f10b 100644 --- a/java/src/game/log/Log.java +++ b/java/src/game/log/Log.java @@ -5,7 +5,6 @@ import java.io.StringWriter; import java.util.List; import game.collect.Lists; - import game.color.TextColor; import game.future.ListenableFuture; import game.network.IThreadListener; diff --git a/java/src/game/log/LogLevel.java b/java/src/game/log/LogLevel.java index 2af9bb6..c299bf0 100644 --- a/java/src/game/log/LogLevel.java +++ b/java/src/game/log/LogLevel.java @@ -1,10 +1,10 @@ package game.log; import game.color.TextColor; -import game.properties.IStringSerializable; import game.util.Displayable; +import game.util.Identifyable; -public enum LogLevel implements Displayable, IStringSerializable { +public enum LogLevel implements Displayable, Identifyable { SILENT("silent", "Nichts", "UNK?", TextColor.BLACK), USER("user", "Benutzer", "USER", TextColor.WHITE), ERROR("error", "Fehler", "ERR!", TextColor.RED), diff --git a/java/src/game/renderer/BlockLayer.java b/java/src/game/model/BlockLayer.java similarity index 93% rename from java/src/game/renderer/BlockLayer.java rename to java/src/game/model/BlockLayer.java index c57b910..3be6166 100755 --- a/java/src/game/renderer/BlockLayer.java +++ b/java/src/game/model/BlockLayer.java @@ -1,4 +1,4 @@ -package game.renderer; +package game.model; public enum BlockLayer { diff --git a/java/src/game/renderer/ItemMeshDefinition.java b/java/src/game/model/ItemMeshDefinition.java similarity index 83% rename from java/src/game/renderer/ItemMeshDefinition.java rename to java/src/game/model/ItemMeshDefinition.java index 827f812..91b59e2 100755 --- a/java/src/game/renderer/ItemMeshDefinition.java +++ b/java/src/game/model/ItemMeshDefinition.java @@ -1,4 +1,4 @@ -package game.renderer; +package game.model; import game.item.ItemStack; diff --git a/java/src/game/model/Model.java b/java/src/game/model/Model.java new file mode 100644 index 0000000..c0c78a8 --- /dev/null +++ b/java/src/game/model/Model.java @@ -0,0 +1,177 @@ +package game.model; + +import game.world.Facing; + +public abstract class Model { + public abstract Model noOcclude(); + public abstract Model uvLock(); + public abstract Model rotate(ModelRotation rot); + public abstract Model add(float x1, float y1, float z1, float x2, float y2, float z2); + public abstract Model noShade(); + public abstract Model rotate(float x, float y, float z, Facing.Axis axisIn, float angleIn, boolean rescaleIn); + public abstract Model face(String texture, Facing... faces); + public abstract Model cull(Facing cull); + public abstract Model tint(); + public abstract Model rot(int rot); + public abstract Model uv(float x1, float y1, float x2, float y2); + public abstract String getPrimary(); + + public Model slab(boolean upper) { + return this.slab(upper, this.getPrimary(), this.getPrimary()); + } + + public Model slab(boolean upper, String du) { + return this.slab(upper, du, du); + } + + public Model slab(boolean upper, String down, String up) { + return this.add(0, upper ? 8 : 0, 0, 16, upper ? 16 : 8, 16).nswe().uv(0, upper ? 0 : 8, 16, upper ? 8 : 16) + .d(down).cull(upper ? null : Facing.DOWN).u(up).cull(upper ? Facing.UP : null); + } + + public Model vslab(Facing dir) { + return this.vslab(dir, this.getPrimary(), this.getPrimary()); + } + + public Model vslab(Facing dir, String du) { + return this.vslab(dir, du, du); + } + + public Model vslab(Facing dir, String down, String up) { + return this.add(0, 0, 0, 16, 16, 8).du().uv(0, 8, 16, 16).we().uv(0, 8, 16, 16).rot(90).n(down).s(up).noCull().rotate(ModelRotation.getNorthRot(dir)); + } + + public Model cross() { + return this.noOcclude() + .add(0.8f, 0f, 8f, 15.2f, 16f, 8f).noShade().rotate(8, 8, 8, Facing.Axis.Y, 45, true) + .ns().uv(0, 0, 16, 16).noCull() + .add(8f, 0f, 0.8f, 8f, 16f, 15.2f).noShade().rotate(8, 8, 8, Facing.Axis.Y, 45, true) + .we().uv(0, 0, 16, 16).noCull(); + } + + public Model crossTint() { + return this.noOcclude() + .add(0.8f, 0f, 8f, 15.2f, 16f, 8f).noShade().rotate(8, 8, 8, Facing.Axis.Y, 45, true) + .ns().uv(0, 0, 16, 16).noCull().tint() + .add(8f, 0f, 0.8f, 8f, 16f, 15.2f).noShade().rotate(8, 8, 8, Facing.Axis.Y, 45, true) + .we().uv(0, 0, 16, 16).noCull().tint(); + } + + public Model stairs(boolean upper, boolean inner, boolean outer, boolean left, Facing dir, String down, String up) { + this.add(0, 0, 0, 16, 8, 16).d(down).uv(0, 0, 16, 16).u(up).noCull().uv(0, 0, 16, 16).nswe().uv(0, 8, 16, 16); + if(outer) + this.add(8, 8, 8, 16, 16, 16).d(down).uv(8, 0, 16, 8).u(up).uv(8, 8, 16, 16).n().noCull().uv(0, 0, 8, 8).s().uv(8, 0, 16, 8) + .w().noCull().uv(8, 0, 16, 8).e().uv(0, 0, 8, 8); + else + this.add(8, 8, 0, 16, 16, 16).d(down).uv(inner ? 8 : 0, 0, 16, 16).u(up).uv(inner ? 8 : 0, 0, 16, 16).n().uv(0, 0, 8, 8) + .s().uv(8, 0, 16, 8).w().noCull().uv(0, 0, 16, 8).e().uv(0, 0, 16, 8); + if(inner) + this.add(0, 8, 8, 8, 16, 16).d(down).uv(0, 0, 8, 8).u(up).uv(0, 8, 8, 16).n().noCull().uv(8, 0, 16, 8).s().uv(0, 0, 8, 8) + .w().uv(8, 0, 16, 8).e().uv(0, 0, 8, 8); + return this.rotate(ModelRotation.getEastRot(left ? Facing.getHorizontal(dir.getHorizontalIndex() + 3) : dir, upper)).uvLock(); + } + + public Model add() { + return this.add(0, 0, 0, 16, 16, 16); + } + + public Model d(String textureIn) { + return this.face(textureIn, Facing.DOWN); + } + + public Model u(String textureIn) { + return this.face(textureIn, Facing.UP); + } + + public Model n(String textureIn) { + return this.face(textureIn, Facing.NORTH); + } + + public Model s(String textureIn) { + return this.face(textureIn, Facing.SOUTH); + } + + public Model w(String textureIn) { + return this.face(textureIn, Facing.WEST); + } + + public Model e(String textureIn) { + return this.face(textureIn, Facing.EAST); + } + + public Model nswe(String textureIn) { + return this.face(textureIn, Facing.NORTH, Facing.SOUTH, Facing.WEST, Facing.EAST); + } + + public Model dnswe(String textureIn) { + return this.face(textureIn, Facing.DOWN, Facing.NORTH, Facing.SOUTH, Facing.WEST, Facing.EAST); + } + + public Model du(String textureIn) { + return this.face(textureIn, Facing.DOWN, Facing.UP); + } + + public Model ns(String textureIn) { + return this.face(textureIn, Facing.NORTH, Facing.SOUTH); + } + + public Model we(String textureIn) { + return this.face(textureIn, Facing.WEST, Facing.EAST); + } + + public Model all(String textureIn) { + return this.face(textureIn, Facing.DOWN, Facing.UP, Facing.NORTH, Facing.SOUTH, Facing.WEST, Facing.EAST); + } + + public Model d() { + return this.d(this.getPrimary()); + } + + public Model u() { + return this.u(this.getPrimary()); + } + + public Model n() { + return this.n(this.getPrimary()); + } + + public Model s() { + return this.s(this.getPrimary()); + } + + public Model w() { + return this.w(this.getPrimary()); + } + + public Model e() { + return this.e(this.getPrimary()); + } + + public Model nswe() { + return this.nswe(this.getPrimary()); + } + + public Model dnswe() { + return this.dnswe(this.getPrimary()); + } + + public Model du() { + return this.du(this.getPrimary()); + } + + public Model ns() { + return this.ns(this.getPrimary()); + } + + public Model we() { + return this.we(this.getPrimary()); + } + + public Model all() { + return this.all(this.getPrimary()); + } + + public Model noCull() { + return this.cull(null); + } +} \ No newline at end of file diff --git a/java/src/game/model/ModelProvider.java b/java/src/game/model/ModelProvider.java new file mode 100644 index 0000000..d08c37f --- /dev/null +++ b/java/src/game/model/ModelProvider.java @@ -0,0 +1,90 @@ +package game.model; + +import game.world.Facing; +import game.world.Facing.Axis; + +public interface ModelProvider { + Model getModel(String primary); + Model getModel(Transforms transform, String ... layers); + Model getModel(Model parent, Transforms transform); + Model getEntityModel(); + + public static class DummyModel extends Model { + public Model noOcclude() { + return this; + } + + public Model uvLock() { + return this; + } + + public Model rotate(ModelRotation rot) { + return this; + } + + public Model add(float x1, float y1, float z1, float x2, float y2, float z2) { + return this; + } + + public Model noShade() { + return this; + } + + public Model rotate(float x, float y, float z, Axis axisIn, float angleIn, boolean rescaleIn) { + return this; + } + + public Model face(String texture, Facing... faces) { + return this; + } + + public Model cull(Facing cull) { + return this; + } + + public Model tint() { + return this; + } + + public Model rot(int rot) { + return this; + } + + public Model uv(float x1, float y1, float x2, float y2) { + return this; + } + + public String getPrimary() { + return ""; + } + + } + + public static class BlockModelProvider { + private static ModelProvider provider = new ModelProvider() { + public Model getModel(Model parent, Transforms transform) { + return new DummyModel(); + } + + public Model getModel(Transforms transform, String... layers) { + return new DummyModel(); + } + + public Model getModel(String primary) { + return new DummyModel(); + } + + public Model getEntityModel() { + return new DummyModel(); + } + }; + } + + public static void setProvider(ModelProvider provider) { + BlockModelProvider.provider = provider; + } + + public static ModelProvider getModelProvider() { + return BlockModelProvider.provider; + } +} diff --git a/java/src/game/model/ModelRotation.java b/java/src/game/model/ModelRotation.java index 5eae937..4551b8a 100755 --- a/java/src/game/model/ModelRotation.java +++ b/java/src/game/model/ModelRotation.java @@ -3,10 +3,9 @@ package game.model; import java.util.Map; import game.collect.Maps; - -import game.renderer.Matrix4f; -import game.renderer.Vector3f; import game.util.ExtMath; +import game.util.Matrix4f; +import game.util.Vector3f; import game.world.Facing; public enum ModelRotation diff --git a/java/src/game/renderer/particle/ParticleType.java b/java/src/game/model/ParticleType.java similarity index 99% rename from java/src/game/renderer/particle/ParticleType.java rename to java/src/game/model/ParticleType.java index 4e3911e..792b8e1 100755 --- a/java/src/game/renderer/particle/ParticleType.java +++ b/java/src/game/model/ParticleType.java @@ -1,4 +1,4 @@ -package game.renderer.particle; +package game.model; import java.util.List; import java.util.Map; diff --git a/java/src/game/renderer/blockmodel/Transform.java b/java/src/game/model/Transform.java similarity index 83% rename from java/src/game/renderer/blockmodel/Transform.java rename to java/src/game/model/Transform.java index ea6f47f..e546145 100755 --- a/java/src/game/renderer/blockmodel/Transform.java +++ b/java/src/game/model/Transform.java @@ -1,9 +1,9 @@ -package game.renderer.blockmodel; +package game.model; -import game.renderer.Vector3f; +import game.util.Vector3f; public class Transform { - static final Transform IDENTITY = new Transform(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f); + public static final Transform IDENTITY = new Transform(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f); public final Vector3f rotation; public final Vector3f translation; diff --git a/java/src/game/renderer/blockmodel/Transforms.java b/java/src/game/model/Transforms.java similarity index 91% rename from java/src/game/renderer/blockmodel/Transforms.java rename to java/src/game/model/Transforms.java index 09a2e34..60c722c 100755 --- a/java/src/game/renderer/blockmodel/Transforms.java +++ b/java/src/game/model/Transforms.java @@ -1,6 +1,4 @@ -package game.renderer.blockmodel; - -import org.lwjgl.opengl.GL11; +package game.model; public enum Transforms { DEFAULT( @@ -150,17 +148,6 @@ public enum Transforms { this.ground = ground; } - public void apply(Camera type) { - Transform vec = this.get(type); - if(vec != Transform.IDENTITY) { - GL11.glTranslatef(vec.translation.x, vec.translation.y, vec.translation.z); - GL11.glRotatef(vec.rotation.y, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(vec.rotation.x, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(vec.rotation.z, 0.0F, 0.0F, 1.0F); - GL11.glScalef(vec.scale.x, vec.scale.y, vec.scale.z); - } - } - public Transform get(Camera type) { switch(type) { case THIRD_PERSON: diff --git a/java/src/game/nbt/NBTTagList.java b/java/src/game/nbt/NBTTagList.java index 51c1e17..2ce7cfa 100755 --- a/java/src/game/nbt/NBTTagList.java +++ b/java/src/game/nbt/NBTTagList.java @@ -7,7 +7,6 @@ import java.util.ArrayList; import java.util.List; import game.collect.Lists; - import game.log.Log; public class NBTTagList extends NBTBase diff --git a/java/src/game/network/ClientLoginHandler.java b/java/src/game/network/ClientLoginHandler.java index 4122100..6620101 100755 --- a/java/src/game/network/ClientLoginHandler.java +++ b/java/src/game/network/ClientLoginHandler.java @@ -1,6 +1,6 @@ package game.network; -import game.Game; +import client.Game; import game.packet.RPacketDisconnect; import game.packet.RPacketEnableCompression; import game.packet.RPacketLoginSuccess; diff --git a/java/src/game/network/ClientPlayer.java b/java/src/game/network/ClientPlayer.java index 8bc4e24..8cd036e 100755 --- a/java/src/game/network/ClientPlayer.java +++ b/java/src/game/network/ClientPlayer.java @@ -6,10 +6,19 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import client.Game; +import client.PlayerController; +import client.gui.Gui; +import client.gui.GuiConsole; +import client.gui.GuiLoading; +import client.gui.character.GuiChar; +import client.gui.character.GuiCharacters; +import client.gui.container.GuiMachine; +import client.gui.container.GuiMerchant; +import client.renderer.particle.EntityPickupFX; +import client.renderer.texture.EntityTexManager; import game.collect.Lists; import game.collect.Maps; - -import game.Game; import game.dimension.Dimension; import game.entity.DataWatcher; import game.entity.Entity; @@ -25,13 +34,6 @@ import game.entity.npc.EntityNPC; import game.entity.npc.PlayerCharacter; import game.entity.projectile.EntityProjectile; import game.entity.types.EntityLiving; -import game.gui.Gui; -import game.gui.GuiConsole; -import game.gui.GuiLoading; -import game.gui.character.GuiChar; -import game.gui.character.GuiCharacters; -import game.gui.container.GuiMachine; -import game.gui.container.GuiMerchant; import game.init.EntityRegistry; import game.init.ItemRegistry; import game.init.SoundEvent; @@ -42,6 +44,7 @@ import game.inventory.InventoryBasic; import game.inventory.InventoryPlayer; import game.item.ItemStack; import game.log.Log; +import game.model.ParticleType; import game.packet.CPacketAction; import game.packet.CPacketKeepAlive; import game.packet.CPacketPlayer; @@ -107,9 +110,6 @@ import game.packet.SPacketTrades; import game.packet.SPacketUpdateHealth; import game.packet.SPacketWorld; import game.potion.PotionEffect; -import game.renderer.particle.EntityPickupFX; -import game.renderer.particle.ParticleType; -import game.renderer.texture.EntityTexManager; import game.rng.Random; import game.tileentity.LocalBlockIntercommunication; import game.tileentity.TileEntity; diff --git a/java/src/game/network/HandshakeHandler.java b/java/src/game/network/HandshakeHandler.java index dee4f5b..51dd361 100755 --- a/java/src/game/network/HandshakeHandler.java +++ b/java/src/game/network/HandshakeHandler.java @@ -1,9 +1,9 @@ package game.network; -import game.Server; import game.init.Config; import game.packet.HPacketHandshake; import game.packet.RPacketDisconnect; +import server.Server; public class HandshakeHandler extends NetHandler { diff --git a/java/src/game/network/LoginHandler.java b/java/src/game/network/LoginHandler.java index 061af2a..9aa117d 100755 --- a/java/src/game/network/LoginHandler.java +++ b/java/src/game/network/LoginHandler.java @@ -1,11 +1,11 @@ package game.network; -import game.Server; import game.color.TextColor; import game.init.Config; import game.log.Log; import game.packet.LPacketPasswordResponse; import game.packet.RPacketDisconnect; +import server.Server; public class LoginHandler extends NetHandler { diff --git a/java/src/game/network/NetConnection.java b/java/src/game/network/NetConnection.java index b975e47..2ce2493 100755 --- a/java/src/game/network/NetConnection.java +++ b/java/src/game/network/NetConnection.java @@ -8,7 +8,6 @@ import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.regex.Pattern; import game.future.ThreadFactoryBuilder; - import game.log.Log; import game.network.NetHandler.ThreadQuickExitException; import io.netty.bootstrap.Bootstrap; diff --git a/java/src/game/network/PacketRegistry.java b/java/src/game/network/PacketRegistry.java index cbfaffc..28ae74b 100755 --- a/java/src/game/network/PacketRegistry.java +++ b/java/src/game/network/PacketRegistry.java @@ -5,7 +5,6 @@ import java.util.Map; import game.collect.BiMap; import game.collect.HashBiMap; import game.collect.Maps; - import game.packet.CPacketAction; import game.packet.CPacketBook; import game.packet.CPacketBreak; diff --git a/java/src/game/network/Player.java b/java/src/game/network/Player.java index 8a19a68..eca1b80 100755 --- a/java/src/game/network/Player.java +++ b/java/src/game/network/Player.java @@ -6,12 +6,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Map.Entry; import java.util.Set; - import java.util.function.Predicate; -import game.collect.Lists; -import game.future.Futures; -import game.Server; import game.block.Block; import game.block.BlockFence; import game.block.BlockFenceGate; @@ -22,6 +18,7 @@ import game.clipboard.ClipboardPlacer; import game.clipboard.Rotation; import game.clipboard.RotationValue; import game.clipboard.Vector; +import game.collect.Lists; import game.color.TextColor; import game.command.Executor; import game.dimension.Dimension; @@ -35,6 +32,7 @@ import game.entity.npc.EntityNPC; import game.entity.npc.PlayerCharacter; import game.entity.projectile.EntityArrow; import game.entity.types.EntityLiving; +import game.future.Futures; import game.init.BlockRegistry; import game.init.Config; import game.init.Config.ValueType; @@ -132,6 +130,7 @@ import game.world.WorldPos; import game.world.WorldServer; import io.netty.util.concurrent.Future; import io.netty.util.concurrent.GenericFutureListener; +import server.Server; public class Player extends NetHandler implements ICrafting, Executor { diff --git a/java/src/game/packet/CPacketAction.java b/java/src/game/packet/CPacketAction.java index 5a93ea9..171e7b1 100755 --- a/java/src/game/packet/CPacketAction.java +++ b/java/src/game/packet/CPacketAction.java @@ -2,9 +2,9 @@ package game.packet; import java.io.IOException; -import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; +import game.network.Player; public class CPacketAction implements Packet { diff --git a/java/src/game/packet/CPacketBook.java b/java/src/game/packet/CPacketBook.java index 271924e..3dd0e62 100755 --- a/java/src/game/packet/CPacketBook.java +++ b/java/src/game/packet/CPacketBook.java @@ -2,9 +2,9 @@ package game.packet; import java.io.IOException; -import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; +import game.network.Player; public class CPacketBook implements Packet { diff --git a/java/src/game/packet/CPacketBreak.java b/java/src/game/packet/CPacketBreak.java index 07e67d8..18c95fb 100755 --- a/java/src/game/packet/CPacketBreak.java +++ b/java/src/game/packet/CPacketBreak.java @@ -2,9 +2,9 @@ package game.packet; import java.io.IOException; -import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; +import game.network.Player; import game.world.BlockPos; import game.world.Facing; diff --git a/java/src/game/packet/CPacketCheat.java b/java/src/game/packet/CPacketCheat.java index 7faa62d..136f332 100755 --- a/java/src/game/packet/CPacketCheat.java +++ b/java/src/game/packet/CPacketCheat.java @@ -3,9 +3,9 @@ package game.packet; import java.io.IOException; import game.item.ItemStack; -import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; +import game.network.Player; public class CPacketCheat implements Packet { diff --git a/java/src/game/packet/CPacketClick.java b/java/src/game/packet/CPacketClick.java index ae6078d..e622458 100755 --- a/java/src/game/packet/CPacketClick.java +++ b/java/src/game/packet/CPacketClick.java @@ -3,9 +3,9 @@ package game.packet; import java.io.IOException; import game.item.ItemStack; -import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; +import game.network.Player; public class CPacketClick implements Packet { diff --git a/java/src/game/packet/CPacketComplete.java b/java/src/game/packet/CPacketComplete.java index d160d13..4b110ae 100755 --- a/java/src/game/packet/CPacketComplete.java +++ b/java/src/game/packet/CPacketComplete.java @@ -2,9 +2,9 @@ package game.packet; import java.io.IOException; -import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; +import game.network.Player; import game.world.BlockPos; public class CPacketComplete implements Packet diff --git a/java/src/game/packet/CPacketInput.java b/java/src/game/packet/CPacketInput.java index 975a66a..413a311 100755 --- a/java/src/game/packet/CPacketInput.java +++ b/java/src/game/packet/CPacketInput.java @@ -2,9 +2,9 @@ package game.packet; import java.io.IOException; -import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; +import game.network.Player; public class CPacketInput implements Packet { diff --git a/java/src/game/packet/CPacketMessage.java b/java/src/game/packet/CPacketMessage.java index 037f27e..0bbcd8a 100755 --- a/java/src/game/packet/CPacketMessage.java +++ b/java/src/game/packet/CPacketMessage.java @@ -2,9 +2,9 @@ package game.packet; import java.io.IOException; -import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; +import game.network.Player; public class CPacketMessage implements Packet { diff --git a/java/src/game/packet/CPacketPlace.java b/java/src/game/packet/CPacketPlace.java index 4b5aeaf..a17a8f1 100755 --- a/java/src/game/packet/CPacketPlace.java +++ b/java/src/game/packet/CPacketPlace.java @@ -3,9 +3,9 @@ package game.packet; import java.io.IOException; import game.item.ItemStack; -import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; +import game.network.Player; import game.world.BlockPos; public class CPacketPlace implements Packet diff --git a/java/src/game/packet/CPacketPlayer.java b/java/src/game/packet/CPacketPlayer.java index 11fc2f0..dfa6fd7 100755 --- a/java/src/game/packet/CPacketPlayer.java +++ b/java/src/game/packet/CPacketPlayer.java @@ -2,9 +2,9 @@ package game.packet; import java.io.IOException; -import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; +import game.network.Player; public class CPacketPlayer implements Packet { diff --git a/java/src/game/packet/CPacketSign.java b/java/src/game/packet/CPacketSign.java index c8df819..e905fba 100755 --- a/java/src/game/packet/CPacketSign.java +++ b/java/src/game/packet/CPacketSign.java @@ -2,9 +2,9 @@ package game.packet; import java.io.IOException; -import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; +import game.network.Player; import game.world.BlockPos; public class CPacketSign implements Packet diff --git a/java/src/game/packet/CPacketSkin.java b/java/src/game/packet/CPacketSkin.java index b039eae..25f69c5 100755 --- a/java/src/game/packet/CPacketSkin.java +++ b/java/src/game/packet/CPacketSkin.java @@ -3,11 +3,11 @@ package game.packet; import java.awt.image.BufferedImage; import java.io.IOException; +import client.renderer.texture.EntityTexManager; import game.init.SpeciesRegistry.ModelType; -import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; -import game.renderer.texture.EntityTexManager; +import game.network.Player; public class CPacketSkin implements Packet { private byte[] texture; diff --git a/java/src/game/packet/LPacketPasswordResponse.java b/java/src/game/packet/LPacketPasswordResponse.java index 4d445df..be6eaae 100755 --- a/java/src/game/packet/LPacketPasswordResponse.java +++ b/java/src/game/packet/LPacketPasswordResponse.java @@ -3,9 +3,9 @@ package game.packet; import java.io.IOException; import game.network.LoginHandler; -import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; +import game.network.Player; public class LPacketPasswordResponse implements Packet { diff --git a/java/src/game/packet/S20PacketEntityProperties.java b/java/src/game/packet/S20PacketEntityProperties.java index ad22227..5d6e690 100755 --- a/java/src/game/packet/S20PacketEntityProperties.java +++ b/java/src/game/packet/S20PacketEntityProperties.java @@ -5,7 +5,6 @@ import java.util.Collection; import java.util.List; import game.collect.Lists; - import game.entity.attributes.AttributeInstance; import game.entity.attributes.AttributeModifier; import game.network.ClientPlayer; diff --git a/java/src/game/packet/S27PacketExplosion.java b/java/src/game/packet/S27PacketExplosion.java index 1124ab6..740400a 100755 --- a/java/src/game/packet/S27PacketExplosion.java +++ b/java/src/game/packet/S27PacketExplosion.java @@ -5,7 +5,6 @@ import java.util.ArrayList; import java.util.List; import game.collect.Lists; - import game.network.ClientPlayer; import game.network.Packet; import game.network.PacketBuffer; diff --git a/java/src/game/packet/S2APacketParticles.java b/java/src/game/packet/S2APacketParticles.java index d1bb616..b2692fd 100755 --- a/java/src/game/packet/S2APacketParticles.java +++ b/java/src/game/packet/S2APacketParticles.java @@ -2,10 +2,10 @@ package game.packet; import java.io.IOException; +import game.model.ParticleType; import game.network.ClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -import game.renderer.particle.ParticleType; public class S2APacketParticles implements Packet { diff --git a/java/src/game/packet/S38PacketPlayerListItem.java b/java/src/game/packet/S38PacketPlayerListItem.java index b3309d2..f05f4ba 100755 --- a/java/src/game/packet/S38PacketPlayerListItem.java +++ b/java/src/game/packet/S38PacketPlayerListItem.java @@ -6,11 +6,10 @@ import java.util.Map; import java.util.Map.Entry; import game.collect.Maps; - import game.network.ClientPlayer; -import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; +import game.network.Player; public class S38PacketPlayerListItem implements Packet { private final Map players = Maps.newHashMap(); diff --git a/java/src/game/packet/SPacketCharacterList.java b/java/src/game/packet/SPacketCharacterList.java index f375a4b..58fb869 100644 --- a/java/src/game/packet/SPacketCharacterList.java +++ b/java/src/game/packet/SPacketCharacterList.java @@ -9,10 +9,10 @@ import game.collect.Maps; import game.entity.npc.Alignment; import game.entity.npc.PlayerCharacter; import game.network.ClientPlayer; -import game.network.Player; -import game.world.BlockPos; import game.network.Packet; import game.network.PacketBuffer; +import game.network.Player; +import game.world.BlockPos; public class SPacketCharacterList implements Packet { private final Map players = Maps.newHashMap(); diff --git a/java/src/game/packet/SPacketChunkData.java b/java/src/game/packet/SPacketChunkData.java index 7e62e3a..6f45ac3 100755 --- a/java/src/game/packet/SPacketChunkData.java +++ b/java/src/game/packet/SPacketChunkData.java @@ -4,7 +4,6 @@ import java.io.IOException; import java.util.List; import game.collect.Lists; - import game.network.ClientPlayer; import game.network.Packet; import game.network.PacketBuffer; diff --git a/java/src/game/packet/SPacketSkin.java b/java/src/game/packet/SPacketSkin.java index 546b913..429bc0f 100755 --- a/java/src/game/packet/SPacketSkin.java +++ b/java/src/game/packet/SPacketSkin.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; +import client.renderer.texture.EntityTexManager; import game.entity.Entity; import game.network.ClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -import game.renderer.texture.EntityTexManager; import game.world.World; public class SPacketSkin implements Packet diff --git a/java/src/game/packet/SPacketSpawnPlayer.java b/java/src/game/packet/SPacketSpawnPlayer.java index 2f989f3..9f9dec5 100755 --- a/java/src/game/packet/SPacketSpawnPlayer.java +++ b/java/src/game/packet/SPacketSpawnPlayer.java @@ -3,6 +3,7 @@ package game.packet; import java.io.IOException; import java.util.List; +import client.renderer.texture.EntityTexManager; import game.entity.DataWatcher; import game.entity.npc.EntityNPC; import game.init.EntityRegistry; @@ -11,7 +12,6 @@ import game.item.ItemStack; import game.network.ClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -import game.renderer.texture.EntityTexManager; import game.util.ExtMath; public class SPacketSpawnPlayer implements Packet diff --git a/java/src/game/pattern/BlockStateHelper.java b/java/src/game/pattern/BlockStateHelper.java index 2bbb7ae..2e3972e 100755 --- a/java/src/game/pattern/BlockStateHelper.java +++ b/java/src/game/pattern/BlockStateHelper.java @@ -2,11 +2,10 @@ package game.pattern; import java.util.Map; import java.util.Map.Entry; - import java.util.function.Predicate; -import game.collect.Maps; import game.block.Block; +import game.collect.Maps; import game.properties.IProperty; import game.world.State; diff --git a/java/src/game/potion/Potion.java b/java/src/game/potion/Potion.java index f1a413d..b298f83 100755 --- a/java/src/game/potion/Potion.java +++ b/java/src/game/potion/Potion.java @@ -2,8 +2,8 @@ package game.potion; import java.util.Map; import java.util.Map.Entry; -import game.collect.Maps; +import game.collect.Maps; import game.entity.DamageSource; import game.entity.attributes.Attribute; import game.entity.attributes.AttributeInstance; diff --git a/java/src/game/properties/IStringSerializable.java b/java/src/game/properties/IStringSerializable.java deleted file mode 100755 index b98fa26..0000000 --- a/java/src/game/properties/IStringSerializable.java +++ /dev/null @@ -1,6 +0,0 @@ -package game.properties; - -public interface IStringSerializable -{ - String getName(); -} diff --git a/java/src/game/properties/PropertyDirection.java b/java/src/game/properties/PropertyDirection.java index 52b3ff5..fbcb34a 100755 --- a/java/src/game/properties/PropertyDirection.java +++ b/java/src/game/properties/PropertyDirection.java @@ -1,12 +1,11 @@ package game.properties; import java.util.Collection; - import java.util.function.Predicate; -import game.util.Predicates; + import game.collect.Filter; import game.collect.Lists; - +import game.util.Predicates; import game.world.Facing; public class PropertyDirection extends PropertyEnum diff --git a/java/src/game/properties/PropertyEnum.java b/java/src/game/properties/PropertyEnum.java index 9fe4fec..6501431 100755 --- a/java/src/game/properties/PropertyEnum.java +++ b/java/src/game/properties/PropertyEnum.java @@ -2,15 +2,16 @@ package game.properties; import java.util.Collection; import java.util.Map; - import java.util.function.Predicate; -import game.util.Predicates; + import game.collect.Filter; import game.collect.ImmutableSet; import game.collect.Lists; import game.collect.Maps; +import game.util.Identifyable; +import game.util.Predicates; -public class PropertyEnum & IStringSerializable> extends PropertyHelper +public class PropertyEnum & Identifyable> extends PropertyHelper { private final ImmutableSet allowedValues; private final Map nameToValue = Maps.newHashMap(); @@ -22,7 +23,7 @@ public class PropertyEnum & IStringSerializable> extends Prope for (T t : allowedValues) { - String s = ((IStringSerializable)t).getName(); + String s = ((Identifyable)t).getName(); if (this.nameToValue.containsKey(s)) { @@ -43,25 +44,25 @@ public class PropertyEnum & IStringSerializable> extends Prope */ public String getName(T value) { - return ((IStringSerializable)value).getName(); + return ((Identifyable)value).getName(); } - public static & IStringSerializable> PropertyEnum create(String name, Class clazz) + public static & Identifyable> PropertyEnum create(String name, Class clazz) { return create(name, clazz, Predicates.alwaysTrue()); } - public static & IStringSerializable> PropertyEnum create(String name, Class clazz, Predicate filter) + public static & Identifyable> PropertyEnum create(String name, Class clazz, Predicate filter) { return create(name, clazz, Filter.filter(Lists.newArrayList(clazz.getEnumConstants()), filter)); } - public static & IStringSerializable> PropertyEnum create(String name, Class clazz, T... values) + public static & Identifyable> PropertyEnum create(String name, Class clazz, T... values) { return create(name, clazz, Lists.newArrayList(values)); } - public static & IStringSerializable> PropertyEnum create(String name, Class clazz, Collection values) + public static & Identifyable> PropertyEnum create(String name, Class clazz, Collection values) { return new PropertyEnum(name, clazz, values); } diff --git a/java/src/game/renderer/blockmodel/ModelBlock.java b/java/src/game/renderer/blockmodel/ModelBlock.java deleted file mode 100755 index 3fc27ac..0000000 --- a/java/src/game/renderer/blockmodel/ModelBlock.java +++ /dev/null @@ -1,342 +0,0 @@ -package game.renderer.blockmodel; - -import java.util.List; - -import game.collect.Lists; -import game.collect.Maps; - -import game.model.ModelBakery; -import game.model.ModelRotation; -import game.renderer.Vector3f; -import game.renderer.texture.TextureMap; -import game.world.Facing; - -public class ModelBlock { - private final List elements; - private final boolean gui3d; - private final String primary; - private final String[] layers; - private final ModelBlock parent; - - private boolean occlusion; - private ModelRotation rotation; - private boolean uvLock; - private Transforms transform; - - private BlockPart lastPart; - private BlockPartFace[] last; - - - public ModelBlock slab(boolean upper) { - return this.slab(upper, this.primary, this.primary); - } - - public ModelBlock slab(boolean upper, String du) { - return this.slab(upper, du, du); - } - - public ModelBlock slab(boolean upper, String down, String up) { - return this.add(0, upper ? 8 : 0, 0, 16, upper ? 16 : 8, 16).nswe().uv(0, upper ? 0 : 8, 16, upper ? 8 : 16) - .d(down).cull(upper ? null : Facing.DOWN).u(up).cull(upper ? Facing.UP : null); - } - - public ModelBlock vslab(Facing dir) { - return this.vslab(dir, this.primary, this.primary); - } - - public ModelBlock vslab(Facing dir, String du) { - return this.vslab(dir, du, du); - } - - public ModelBlock vslab(Facing dir, String down, String up) { - return this.add(0, 0, 0, 16, 16, 8).du().uv(0, 8, 16, 16).we().uv(0, 8, 16, 16).rot(90).n(down).s(up).noCull().rotate(ModelRotation.getNorthRot(dir)); - } - - public ModelBlock cross() { - return this.noOcclude() - .add(0.8f, 0f, 8f, 15.2f, 16f, 8f).noShade().rotate(8, 8, 8, Facing.Axis.Y, 45, true) - .ns().uv(0, 0, 16, 16).noCull() - .add(8f, 0f, 0.8f, 8f, 16f, 15.2f).noShade().rotate(8, 8, 8, Facing.Axis.Y, 45, true) - .we().uv(0, 0, 16, 16).noCull(); - } - - public ModelBlock crossTint() { - return this.noOcclude() - .add(0.8f, 0f, 8f, 15.2f, 16f, 8f).noShade().rotate(8, 8, 8, Facing.Axis.Y, 45, true) - .ns().uv(0, 0, 16, 16).noCull().tint() - .add(8f, 0f, 0.8f, 8f, 16f, 15.2f).noShade().rotate(8, 8, 8, Facing.Axis.Y, 45, true) - .we().uv(0, 0, 16, 16).noCull().tint(); - } - - public ModelBlock stairs(boolean upper, boolean inner, boolean outer, boolean left, Facing dir, String down, String up) { - this.add(0, 0, 0, 16, 8, 16).d(down).uv(0, 0, 16, 16).u(up).noCull().uv(0, 0, 16, 16).nswe().uv(0, 8, 16, 16); - if(outer) - this.add(8, 8, 8, 16, 16, 16).d(down).uv(8, 0, 16, 8).u(up).uv(8, 8, 16, 16).n().noCull().uv(0, 0, 8, 8).s().uv(8, 0, 16, 8) - .w().noCull().uv(8, 0, 16, 8).e().uv(0, 0, 8, 8); - else - this.add(8, 8, 0, 16, 16, 16).d(down).uv(inner ? 8 : 0, 0, 16, 16).u(up).uv(inner ? 8 : 0, 0, 16, 16).n().uv(0, 0, 8, 8) - .s().uv(8, 0, 16, 8).w().noCull().uv(0, 0, 16, 8).e().uv(0, 0, 16, 8); - if(inner) - this.add(0, 8, 8, 8, 16, 16).d(down).uv(0, 0, 8, 8).u(up).uv(0, 8, 8, 16).n().noCull().uv(8, 0, 16, 8).s().uv(0, 0, 8, 8) - .w().uv(8, 0, 16, 8).e().uv(0, 0, 8, 8); - return this.rotate(ModelRotation.getEastRot(left ? Facing.getHorizontal(dir.getHorizontalIndex() + 3) : dir, upper)).uvLock(); - } - - - - public ModelBlock noOcclude() { - this.occlusion = false; - return this; - } - - public ModelBlock uvLock() { - this.uvLock = true; - return this; - } - - public ModelBlock rotate(ModelRotation rot) { - this.rotation = rot; - return this; - } - - public ModelBlock add(float x1, float y1, float z1, float x2, float y2, float z2) { - this.elements.add(this.lastPart = new BlockPart(new Vector3f(x1, y1, z1), new Vector3f(x2, y2, z2), - Maps.newEnumMap(Facing.class), null, true)); - return this; - } - - public ModelBlock add() { - return this.add(0, 0, 0, 16, 16, 16); - } - - public ModelBlock noShade() { - this.lastPart.shade = false; - return this; - } - - public ModelBlock rotate(float x, float y, float z, Facing.Axis axisIn, float angleIn, boolean rescaleIn) { - this.lastPart.partRotation = new BlockPartRotation(x, y, z, axisIn, angleIn, rescaleIn); - return this; - } - - public ModelBlock face(String texture, Facing ... faces) { - texture = !texture.equals(TextureMap.LOCATION_MISSING_TEXTURE) && texture.indexOf('/') == -1 ? "blocks/" + texture : texture; - this.last = new BlockPartFace[faces.length]; - for(int z = 0; z < faces.length; z++) { - this.lastPart.mapFaces.put(faces[z], this.last[z] = - new BlockPartFace(faces[z], -1, texture, new BlockFaceUV(this.lastPart.getFaceUvs(faces[z]), 0))); - } - return this; - } - - public ModelBlock d(String textureIn) { - return this.face(textureIn, Facing.DOWN); - } - - public ModelBlock u(String textureIn) { - return this.face(textureIn, Facing.UP); - } - - public ModelBlock n(String textureIn) { - return this.face(textureIn, Facing.NORTH); - } - - public ModelBlock s(String textureIn) { - return this.face(textureIn, Facing.SOUTH); - } - - public ModelBlock w(String textureIn) { - return this.face(textureIn, Facing.WEST); - } - - public ModelBlock e(String textureIn) { - return this.face(textureIn, Facing.EAST); - } - - public ModelBlock nswe(String textureIn) { - return this.face(textureIn, Facing.NORTH, Facing.SOUTH, Facing.WEST, Facing.EAST); - } - - public ModelBlock dnswe(String textureIn) { - return this.face(textureIn, Facing.DOWN, Facing.NORTH, Facing.SOUTH, Facing.WEST, Facing.EAST); - } - - public ModelBlock du(String textureIn) { - return this.face(textureIn, Facing.DOWN, Facing.UP); - } - - public ModelBlock ns(String textureIn) { - return this.face(textureIn, Facing.NORTH, Facing.SOUTH); - } - - public ModelBlock we(String textureIn) { - return this.face(textureIn, Facing.WEST, Facing.EAST); - } - - public ModelBlock all(String textureIn) { - return this.face(textureIn, Facing.DOWN, Facing.UP, Facing.NORTH, Facing.SOUTH, Facing.WEST, Facing.EAST); - } - - public ModelBlock d() { - return this.d(this.primary); - } - - public ModelBlock u() { - return this.u(this.primary); - } - - public ModelBlock n() { - return this.n(this.primary); - } - - public ModelBlock s() { - return this.s(this.primary); - } - - public ModelBlock w() { - return this.w(this.primary); - } - - public ModelBlock e() { - return this.e(this.primary); - } - - public ModelBlock nswe() { - return this.nswe(this.primary); - } - - public ModelBlock dnswe() { - return this.dnswe(this.primary); - } - - public ModelBlock du() { - return this.du(this.primary); - } - - public ModelBlock ns() { - return this.ns(this.primary); - } - - public ModelBlock we() { - return this.we(this.primary); - } - - public ModelBlock all() { - return this.all(this.primary); - } - - public ModelBlock cull(Facing cull) { - for(BlockPartFace last : this.last) { - last.cull = cull; - } - return this; - } - - public ModelBlock noCull() { - return this.cull(null); - } - - public ModelBlock tint() { - for(BlockPartFace last : this.last) { - last.tint = 0; - } - return this; - } - - public ModelBlock rot(int rot) { - for(BlockPartFace last : this.last) { - last.uv = new BlockFaceUV(last.uv.uvs, rot); - } - return this; - } - - public ModelBlock uv(float x1, float y1, float x2, float y2) { - for(BlockPartFace last : this.last) { - last.uv = new BlockFaceUV(new float[] {x1, y1, x2, y2}, last.uv.rotation); - } - return this; - } - - - public ModelBlock(String primary) { - this(null, Lists.newArrayList(), primary != null && primary.indexOf('/') == -1 ? "blocks/" + primary : primary, true, true, Transforms.DEFAULT, null); - } - - public ModelBlock(String primary, Transforms transform, String ... layers) { - this(ModelBakery.MODEL_GENERATED, ModelBakery.MODEL_GENERATED.elements, - primary.indexOf('/') == -1 ? "items/" + primary : primary, false, false, transform, layers); - } - - public ModelBlock(Transforms transform, String ... layers) { - this(ModelBakery.MODEL_GENERATED, ModelBakery.MODEL_GENERATED.elements, - layers[0].indexOf('/') == -1 ? "items/" + layers[0] : layers[0], false, false, transform, layers); - } - - protected ModelBlock(String primary, List elements, Transforms transform, String ... layers) { - this(null, elements, primary, false, false, transform, layers); - } - - public ModelBlock(ModelBlock parent, Transforms transform) { - this(parent, Lists.newArrayList(), parent.getPrimary(), false, true, transform, null); - } - - private ModelBlock(ModelBlock parent, List elements, String primary, boolean occlude, boolean gui3d, - Transforms transform, String[] layers) { - for(int z = 0; layers != null && z < layers.length; z++) { - layers[z] = layers[z].indexOf('/') == -1 ? "items/" + layers[z] : layers[z]; - } - this.elements = parent == null ? elements : parent.getElements(); - this.occlusion = parent == null ? occlude : parent.isAmbientOcclusion(); - this.gui3d = gui3d; - this.primary = primary == null ? TextureMap.LOCATION_MISSING_TEXTURE : primary; - this.parent = parent; - this.transform = transform; - this.uvLock = false; - this.rotation = ModelRotation.X0_Y0; - this.layers = layers; - } - - public List getElements() { - return this.elements; - } - - public boolean isAmbientOcclusion() { - return this.occlusion; - } - - public boolean isGui3d() { - return this.gui3d; - } - - public String getPrimary() { - return this.primary; - } - - public String[] getTextures() { - return this.layers; - } - - public int getNumTextures() { - return this.layers == null ? 0 : this.layers.length; - } - - public String getTexture(int layer) { - return this.layers == null || this.layers[layer] == null ? TextureMap.LOCATION_MISSING_TEXTURE : this.layers[layer]; - } - - public ModelBlock getParent() { - return this.parent; - } - - public Transforms getTransform() { - return this.transform; - } - - public ModelRotation getRotation() { - return this.rotation; - } - - public boolean isUvLocked() { - return this.uvLock; - } -} diff --git a/java/src/game/rng/WeightedList.java b/java/src/game/rng/WeightedList.java index f08fd42..575c324 100755 --- a/java/src/game/rng/WeightedList.java +++ b/java/src/game/rng/WeightedList.java @@ -3,9 +3,8 @@ package game.rng; import java.util.ArrayList; import java.util.Collection; import java.util.Comparator; -import java.util.function.UnaryOperator; - import java.util.function.Predicate; +import java.util.function.UnaryOperator; public class WeightedList extends ArrayList { protected boolean modified; diff --git a/java/src/game/sound/EventType.java b/java/src/game/sound/EventType.java new file mode 100644 index 0000000..e234d21 --- /dev/null +++ b/java/src/game/sound/EventType.java @@ -0,0 +1,5 @@ +package game.sound; + +public enum EventType { + SOUND_EFFECT, UI_INTERFACE; +} diff --git a/java/src/game/audio/MovingSound.java b/java/src/game/sound/MovingSound.java similarity index 94% rename from java/src/game/audio/MovingSound.java rename to java/src/game/sound/MovingSound.java index f2a18b2..c3f5fc9 100755 --- a/java/src/game/audio/MovingSound.java +++ b/java/src/game/sound/MovingSound.java @@ -1,4 +1,4 @@ -package game.audio; +package game.sound; import game.init.SoundEvent; diff --git a/java/src/game/audio/MovingSoundMinecart.java b/java/src/game/sound/MovingSoundMinecart.java similarity index 98% rename from java/src/game/audio/MovingSoundMinecart.java rename to java/src/game/sound/MovingSoundMinecart.java index fc95eb3..aa4f110 100755 --- a/java/src/game/audio/MovingSoundMinecart.java +++ b/java/src/game/sound/MovingSoundMinecart.java @@ -1,4 +1,4 @@ -package game.audio; +package game.sound; import game.entity.item.EntityCart; import game.init.SoundEvent; diff --git a/java/src/game/audio/MovingSoundMinecartRiding.java b/java/src/game/sound/MovingSoundMinecartRiding.java similarity index 98% rename from java/src/game/audio/MovingSoundMinecartRiding.java rename to java/src/game/sound/MovingSoundMinecartRiding.java index 12521b1..42ba8be 100755 --- a/java/src/game/audio/MovingSoundMinecartRiding.java +++ b/java/src/game/sound/MovingSoundMinecartRiding.java @@ -1,4 +1,4 @@ -package game.audio; +package game.sound; import game.entity.item.EntityCart; import game.entity.npc.EntityNPC; diff --git a/java/src/game/audio/PositionedSound.java b/java/src/game/sound/PositionedSound.java similarity index 88% rename from java/src/game/audio/PositionedSound.java rename to java/src/game/sound/PositionedSound.java index 53f03c2..ff4a221 100755 --- a/java/src/game/audio/PositionedSound.java +++ b/java/src/game/sound/PositionedSound.java @@ -1,9 +1,9 @@ -package game.audio; +package game.sound; import game.init.SoundEvent; public class PositionedSound extends Sound { - public PositionedSound(SoundEvent event, Volume type) { + public PositionedSound(SoundEvent event, EventType type) { this(event, 1.0F, false, 0.0F, 0.0F, 0.0F); this.type = type; } diff --git a/java/src/game/audio/Sound.java b/java/src/game/sound/Sound.java similarity index 89% rename from java/src/game/audio/Sound.java rename to java/src/game/sound/Sound.java index 72b5ac9..fb4247f 100755 --- a/java/src/game/audio/Sound.java +++ b/java/src/game/sound/Sound.java @@ -1,11 +1,11 @@ -package game.audio; +package game.sound; import game.init.SoundEvent; public abstract class Sound { protected final SoundEvent event; - protected Volume type = Volume.SFX; + protected EventType type = EventType.SOUND_EFFECT; protected float volume = 1.0F; protected float xPosF; protected float yPosF; @@ -53,7 +53,7 @@ public abstract class Sound return this.attenuationType; } - public Volume getChannelType() + public EventType getChannelType() { return this.type; } diff --git a/java/src/game/tileentity/TileEntityBanner.java b/java/src/game/tileentity/TileEntityBanner.java index 03a20a5..24b8210 100755 --- a/java/src/game/tileentity/TileEntityBanner.java +++ b/java/src/game/tileentity/TileEntityBanner.java @@ -2,9 +2,8 @@ package game.tileentity; import java.util.List; -import game.collect.Lists; - import game.block.BlockFlower; +import game.collect.Lists; import game.color.DyeColor; import game.init.Blocks; import game.init.Items; diff --git a/java/src/game/tileentity/TileEntityHopper.java b/java/src/game/tileentity/TileEntityHopper.java index 96a4189..80d75de 100755 --- a/java/src/game/tileentity/TileEntityHopper.java +++ b/java/src/game/tileentity/TileEntityHopper.java @@ -1,7 +1,6 @@ package game.tileentity; import java.util.List; - import java.util.function.Predicate; import game.block.Block; diff --git a/java/src/game/tileentity/TileEntityMobSpawner.java b/java/src/game/tileentity/TileEntityMobSpawner.java index 0b99b0d..e8a8765 100755 --- a/java/src/game/tileentity/TileEntityMobSpawner.java +++ b/java/src/game/tileentity/TileEntityMobSpawner.java @@ -5,10 +5,10 @@ import game.entity.types.EntityLiving; import game.init.Blocks; import game.init.Config; import game.init.EntityRegistry; +import game.model.ParticleType; import game.nbt.NBTTagCompound; import game.network.Packet; import game.packet.S35PacketUpdateTileEntity; -import game.renderer.particle.ParticleType; import game.world.BlockPos; import game.world.BoundingBox; import game.world.World; diff --git a/java/src/game/tileentity/TileEntityPiston.java b/java/src/game/tileentity/TileEntityPiston.java index 1baff97..98fdb26 100755 --- a/java/src/game/tileentity/TileEntityPiston.java +++ b/java/src/game/tileentity/TileEntityPiston.java @@ -3,7 +3,6 @@ package game.tileentity; import java.util.List; import game.collect.Lists; - import game.entity.Entity; import game.init.BlockRegistry; import game.init.Blocks; diff --git a/java/src/game/util/Identifyable.java b/java/src/game/util/Identifyable.java new file mode 100755 index 0000000..03fa092 --- /dev/null +++ b/java/src/game/util/Identifyable.java @@ -0,0 +1,6 @@ +package game.util; + +public interface Identifyable +{ + String getName(); +} diff --git a/java/src/game/renderer/Matrix4f.java b/java/src/game/util/Matrix4f.java similarity index 99% rename from java/src/game/renderer/Matrix4f.java rename to java/src/game/util/Matrix4f.java index f14cd8e..813d579 100644 --- a/java/src/game/renderer/Matrix4f.java +++ b/java/src/game/util/Matrix4f.java @@ -29,7 +29,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package game.renderer; +package game.util; import java.io.Serializable; import java.nio.FloatBuffer; diff --git a/java/src/game/util/Util.java b/java/src/game/util/Util.java index 4e12a61..92704a1 100644 --- a/java/src/game/util/Util.java +++ b/java/src/game/util/Util.java @@ -10,7 +10,6 @@ import javax.swing.JOptionPane; import game.collect.Lists; import game.collect.Maps; import game.log.Log; -import game.properties.IStringSerializable; public abstract class Util { private static long start = getTime(); @@ -179,7 +178,7 @@ int utf_len(const char *str) { } public static T parseEnum(Class clazz, String str) { - boolean name = IStringSerializable.class.isAssignableFrom(clazz); + boolean name = Identifyable.class.isAssignableFrom(clazz); T[] values = clazz.getEnumConstants(); Integer value; if((value = parseInt(str, 0)) != null && (value >= 0) && (value < values.length)) { @@ -189,7 +188,7 @@ int utf_len(const char *str) { int max = 0; T best = null; for(int z = 0; z < values.length; z++) { - if((comp = compareLower(name ? ((IStringSerializable)values[z]).getName() : values[z].toString(), str)) > max) { + if((comp = compareLower(name ? ((Identifyable)values[z]).getName() : values[z].toString(), str)) > max) { max = comp; best = values[z]; } @@ -204,10 +203,10 @@ int utf_len(const char *str) { for(Class clazz : enums) { if(!base.isAssignableFrom(clazz)) throw new IllegalArgumentException("Klasse " + clazz.getSimpleName() + " ist nicht " + base.getSimpleName() + " untergeordnet"); - boolean name = IStringSerializable.class.isAssignableFrom(clazz); + boolean name = Identifyable.class.isAssignableFrom(clazz); Enum[] values = clazz.getEnumConstants(); for(int z = 0; z < values.length; z++) { - if((comp = compareLower(name ? ((IStringSerializable)values[z]).getName() : values[z].toString(), str)) > max) { + if((comp = compareLower(name ? ((Identifyable)values[z]).getName() : values[z].toString(), str)) > max) { max = comp; best = (T)values[z]; } diff --git a/java/src/game/renderer/Vector.java b/java/src/game/util/Vector.java similarity index 99% rename from java/src/game/renderer/Vector.java rename to java/src/game/util/Vector.java index c877b86..4e2385a 100644 --- a/java/src/game/renderer/Vector.java +++ b/java/src/game/util/Vector.java @@ -29,7 +29,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package game.renderer; +package game.util; import java.io.Serializable; import java.nio.FloatBuffer; diff --git a/java/src/game/renderer/Vector3f.java b/java/src/game/util/Vector3f.java similarity index 99% rename from java/src/game/renderer/Vector3f.java rename to java/src/game/util/Vector3f.java index 777b6bc..e9f56db 100644 --- a/java/src/game/renderer/Vector3f.java +++ b/java/src/game/util/Vector3f.java @@ -29,7 +29,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package game.renderer; +package game.util; import java.io.Serializable; import java.nio.FloatBuffer; diff --git a/java/src/game/renderer/Vector4f.java b/java/src/game/util/Vector4f.java similarity index 99% rename from java/src/game/renderer/Vector4f.java rename to java/src/game/util/Vector4f.java index 58b8831..bfd95fc 100644 --- a/java/src/game/renderer/Vector4f.java +++ b/java/src/game/util/Vector4f.java @@ -29,7 +29,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package game.renderer; +package game.util; import java.io.Serializable; import java.nio.FloatBuffer; diff --git a/java/src/game/vars/BoolVar.java b/java/src/game/vars/BoolVar.java index fb3b9aa..388ccc8 100644 --- a/java/src/game/vars/BoolVar.java +++ b/java/src/game/vars/BoolVar.java @@ -2,8 +2,8 @@ package game.vars; import java.lang.reflect.Field; +import client.gui.element.Toggle; import game.color.TextColor; -import game.gui.element.Toggle; import game.util.Util; public class BoolVar extends BaseVar { diff --git a/java/src/game/vars/CVar.java b/java/src/game/vars/CVar.java index bddcd04..26649cb 100644 --- a/java/src/game/vars/CVar.java +++ b/java/src/game/vars/CVar.java @@ -1,6 +1,6 @@ package game.vars; -import game.gui.element.Element; +import client.gui.element.Element; import game.util.Displayable; public interface CVar extends Displayable { diff --git a/java/src/game/vars/ColorVar.java b/java/src/game/vars/ColorVar.java index 0651922..e361a08 100644 --- a/java/src/game/vars/ColorVar.java +++ b/java/src/game/vars/ColorVar.java @@ -2,12 +2,12 @@ package game.vars; import java.lang.reflect.Field; +import client.gui.Style; +import client.gui.element.Label; +import client.gui.element.Slider; +import client.gui.element.Textbox; +import client.gui.element.Textbox.Action; import game.color.TextColor; -import game.gui.Style; -import game.gui.element.Label; -import game.gui.element.Slider; -import game.gui.element.Textbox; -import game.gui.element.Textbox.Action; import game.util.Util; public class ColorVar extends IntVar { diff --git a/java/src/game/vars/EnumVar.java b/java/src/game/vars/EnumVar.java index 68900f1..def5478 100644 --- a/java/src/game/vars/EnumVar.java +++ b/java/src/game/vars/EnumVar.java @@ -2,11 +2,11 @@ package game.vars; import java.lang.reflect.Field; +import client.gui.element.Dropdown; +import client.gui.element.Element; +import client.gui.element.Switch; import game.color.TextColor; -import game.gui.element.Dropdown; -import game.gui.element.Element; -import game.gui.element.Switch; -import game.properties.IStringSerializable; +import game.util.Identifyable; import game.util.Util; public class EnumVar extends BaseVar { @@ -27,7 +27,7 @@ public class EnumVar extends BaseVar { for(T value : (T[])field.getType().getEnumConstants()) { if(sb.length() > 0) sb.append(','); - sb.append(value instanceof IStringSerializable ? ((IStringSerializable)value).getName() : value.toString()); + sb.append(value instanceof Identifyable ? ((Identifyable)value).getName() : value.toString()); } this.values = sb.toString(); try { @@ -60,7 +60,7 @@ public class EnumVar extends BaseVar { public String format() { try { T value = (T)this.field.get(this.object); - return value instanceof IStringSerializable ? ((IStringSerializable)value).getName() : value.toString(); + return value instanceof Identifyable ? ((Identifyable)value).getName() : value.toString(); } catch(IllegalArgumentException | IllegalAccessException e) { throw new RuntimeException(e); @@ -68,7 +68,7 @@ public class EnumVar extends BaseVar { } public String getDefault() { - return this.def instanceof IStringSerializable ? ((IStringSerializable)this.def).getName() : this.def.toString(); + return this.def instanceof Identifyable ? ((Identifyable)this.def).getName() : this.def.toString(); } public String getValues() { @@ -81,7 +81,7 @@ public class EnumVar extends BaseVar { try { return new Dropdown(x, y, w, h, false, (T[])this.field.getType().getEnumConstants(), this.def, (T)this.field.get(this.object), new Dropdown.Callback() { public void use(Dropdown elem, T value) { - EnumVar.this.parse(value instanceof IStringSerializable ? ((IStringSerializable)value).getName() : value.toString()); + EnumVar.this.parse(value instanceof Identifyable ? ((Identifyable)value).getName() : value.toString()); } }, this.display); } @@ -94,7 +94,7 @@ public class EnumVar extends BaseVar { try { return new Switch(x, y, w, h, (T[])this.field.getType().getEnumConstants(), this.def, (T)this.field.get(this.object), new Switch.Callback() { public void use(Switch elem, T value) { - EnumVar.this.parse(value instanceof IStringSerializable ? ((IStringSerializable)value).getName() : value.toString()); + EnumVar.this.parse(value instanceof Identifyable ? ((Identifyable)value).getName() : value.toString()); } }, this.display); } diff --git a/java/src/game/vars/FloatVar.java b/java/src/game/vars/FloatVar.java index cbac18e..734ca49 100644 --- a/java/src/game/vars/FloatVar.java +++ b/java/src/game/vars/FloatVar.java @@ -2,8 +2,8 @@ package game.vars; import java.lang.reflect.Field; +import client.gui.element.Slider; import game.color.TextColor; -import game.gui.element.Slider; import game.util.ExtMath; public class FloatVar extends BaseVar { diff --git a/java/src/game/vars/IntVar.java b/java/src/game/vars/IntVar.java index 95f791d..3d87ef5 100644 --- a/java/src/game/vars/IntVar.java +++ b/java/src/game/vars/IntVar.java @@ -2,8 +2,8 @@ package game.vars; import java.lang.reflect.Field; +import client.gui.element.Slider; import game.color.TextColor; -import game.gui.element.Slider; import game.util.ExtMath; import game.util.Util; diff --git a/java/src/game/vars/StringVar.java b/java/src/game/vars/StringVar.java index 7c52469..c761585 100644 --- a/java/src/game/vars/StringVar.java +++ b/java/src/game/vars/StringVar.java @@ -2,9 +2,9 @@ package game.vars; import java.lang.reflect.Field; +import client.gui.element.Textbox; +import client.gui.element.Textbox.Action; import game.color.TextColor; -import game.gui.element.Textbox; -import game.gui.element.Textbox.Action; import game.util.CharValidator; public class StringVar extends BaseVar { diff --git a/java/src/game/village/Village.java b/java/src/game/village/Village.java index 7cde6fe..5c80e39 100755 --- a/java/src/game/village/Village.java +++ b/java/src/game/village/Village.java @@ -3,10 +3,9 @@ package game.village; import java.util.Iterator; import java.util.List; -import game.collect.Lists; - import game.block.Block; import game.block.BlockDoor; +import game.collect.Lists; import game.material.Material; import game.nbt.NBTTagCompound; import game.nbt.NBTTagList; diff --git a/java/src/game/village/VillageCollection.java b/java/src/game/village/VillageCollection.java index e00e7b0..74b0a9e 100755 --- a/java/src/game/village/VillageCollection.java +++ b/java/src/game/village/VillageCollection.java @@ -3,10 +3,9 @@ package game.village; import java.util.Iterator; import java.util.List; -import game.collect.Lists; - import game.block.Block; import game.block.BlockDoor; +import game.collect.Lists; import game.material.Material; import game.nbt.NBTTagCompound; import game.nbt.NBTTagList; diff --git a/java/src/game/window/Input.java b/java/src/game/window/Input.java deleted file mode 100644 index 848f2b6..0000000 --- a/java/src/game/window/Input.java +++ /dev/null @@ -1,8 +0,0 @@ -package game.window; - -import game.properties.IStringSerializable; -import game.util.Displayable; - -public interface Input extends IStringSerializable, Displayable { - public boolean read(); -} diff --git a/java/src/game/world/BlockPos.java b/java/src/game/world/BlockPos.java index 9638c4c..9a8abf2 100755 --- a/java/src/game/world/BlockPos.java +++ b/java/src/game/world/BlockPos.java @@ -3,7 +3,6 @@ package game.world; import java.util.Iterator; import game.collect.AbstractIterator; - import game.entity.Entity; public class BlockPos extends Vec3i diff --git a/java/src/game/world/Chunk.java b/java/src/game/world/Chunk.java index 51791fb..336e6fb 100755 --- a/java/src/game/world/Chunk.java +++ b/java/src/game/world/Chunk.java @@ -4,13 +4,12 @@ import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentLinkedQueue; - import java.util.function.Predicate; -import game.collect.Maps; import game.biome.Biome; import game.block.Block; import game.block.ITileEntityProvider; +import game.collect.Maps; import game.entity.Entity; import game.init.Blocks; import game.log.Log; diff --git a/java/src/game/world/Converter.java b/java/src/game/world/Converter.java index b7ff953..279412e 100644 --- a/java/src/game/world/Converter.java +++ b/java/src/game/world/Converter.java @@ -13,9 +13,10 @@ import java.util.Map.Entry; import java.util.zip.GZIPInputStream; import java.util.zip.InflaterInputStream; -import game.collect.Maps; - -import game.Game; +import client.Game; +import client.gui.GuiConvert; +import client.gui.GuiLoading; +import client.gui.GuiLoading.Callback; import game.biome.Biome; import game.block.Block; import game.block.BlockCactus; @@ -42,6 +43,7 @@ import game.block.BlockTNT; import game.block.BlockTallGrass; import game.block.BlockWall; import game.block.LeavesType; +import game.collect.Maps; import game.color.DyeColor; import game.entity.Entity; import game.entity.animal.EntityBat; @@ -57,9 +59,6 @@ import game.entity.animal.EntitySquid; import game.entity.animal.EntityWolf; import game.entity.item.EntityBoat; import game.entity.item.EntityMinecart; -import game.gui.GuiConvert; -import game.gui.GuiLoading; -import game.gui.GuiLoading.Callback; import game.init.BlockRegistry; import game.init.Blocks; import game.init.Config; diff --git a/java/src/game/world/EmptyChunk.java b/java/src/game/world/EmptyChunk.java index 14e327f..00392cd 100755 --- a/java/src/game/world/EmptyChunk.java +++ b/java/src/game/world/EmptyChunk.java @@ -1,7 +1,6 @@ package game.world; import java.util.List; - import java.util.function.Predicate; import game.block.Block; diff --git a/java/src/game/world/Explosion.java b/java/src/game/world/Explosion.java index 9a111cd..ac9438f 100755 --- a/java/src/game/world/Explosion.java +++ b/java/src/game/world/Explosion.java @@ -4,11 +4,10 @@ import java.util.List; import java.util.Map; import java.util.Set; +import game.block.Block; import game.collect.Lists; import game.collect.Maps; import game.collect.Sets; - -import game.block.Block; import game.enchantment.EnchantmentProtection; import game.entity.DamageSource; import game.entity.Entity; @@ -19,7 +18,7 @@ import game.init.Blocks; import game.init.Config; import game.init.SoundEvent; import game.material.Material; -import game.renderer.particle.ParticleType; +import game.model.ParticleType; import game.rng.Random; import game.util.ExtMath; diff --git a/java/src/game/world/Facing.java b/java/src/game/world/Facing.java index 67ab478..c94d154 100755 --- a/java/src/game/world/Facing.java +++ b/java/src/game/world/Facing.java @@ -2,16 +2,15 @@ package game.world; import java.util.Iterator; import java.util.Map; - import java.util.function.Predicate; + import game.collect.Iterators; import game.collect.Maps; - -import game.properties.IStringSerializable; import game.rng.Random; import game.util.ExtMath; +import game.util.Identifyable; -public enum Facing implements IStringSerializable +public enum Facing implements Identifyable { DOWN(0, 2, 1, -1, "down", Facing.AxisDirection.NEGATIVE, Facing.Axis.Y, new Vec3i(0, -1, 0)), UP(1, 3, 0, -1, "up", Facing.AxisDirection.POSITIVE, Facing.Axis.Y, new Vec3i(0, 1, 0)), @@ -371,7 +370,7 @@ public enum Facing implements IStringSerializable } } - public static enum Axis implements Predicate, IStringSerializable { + public static enum Axis implements Predicate, Identifyable { X("x", Facing.Plane.HORIZONTAL), Y("y", Facing.Plane.VERTICAL), Z("z", Facing.Plane.HORIZONTAL); diff --git a/java/src/game/world/Region.java b/java/src/game/world/Region.java index bd7c25c..a3a5a28 100755 --- a/java/src/game/world/Region.java +++ b/java/src/game/world/Region.java @@ -17,10 +17,9 @@ import java.util.Map; import java.util.zip.DeflaterOutputStream; import java.util.zip.InflaterInputStream; +import game.block.Block; import game.collect.Lists; import game.collect.Maps; - -import game.block.Block; import game.entity.Entity; import game.init.BlockRegistry; import game.init.Config; diff --git a/java/src/game/world/Spawner.java b/java/src/game/world/Spawner.java index 739cdd4..05a830c 100755 --- a/java/src/game/world/Spawner.java +++ b/java/src/game/world/Spawner.java @@ -2,11 +2,10 @@ package game.world; import java.util.Set; -import game.collect.Sets; - import game.biome.Biome; import game.biome.RngSpawn; import game.block.Block; +import game.collect.Sets; import game.entity.npc.EntityNPC; import game.entity.types.EntityLiving; import game.entity.types.EntityWaterMob; diff --git a/java/src/game/world/State.java b/java/src/game/world/State.java index 53cbd2a..8e05fc8 100755 --- a/java/src/game/world/State.java +++ b/java/src/game/world/State.java @@ -5,16 +5,15 @@ import java.util.Collections; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; - import java.util.function.Function; + +import game.block.Block; import game.collect.ImmutableMap; import game.collect.ImmutableTable; import game.collect.Iterables; import game.collect.Maps; import game.collect.StandardTable; import game.collect.Table; - -import game.block.Block; import game.init.BlockRegistry; import game.properties.IProperty; diff --git a/java/src/game/world/Vec3.java b/java/src/game/world/Vec3.java index 8392614..460787f 100755 --- a/java/src/game/world/Vec3.java +++ b/java/src/game/world/Vec3.java @@ -1,6 +1,5 @@ package game.world; -import game.renderer.model.PositionTextureVertex; import game.util.ExtMath; public class Vec3 @@ -211,9 +210,4 @@ public class Vec3 double d2 = this.zCoord * (double)f - this.xCoord * (double)f1; return new Vec3(d0, d1, d2); } - - public PositionTextureVertex toTextureVertex(float tx, float ty) - { - return new PositionTextureVertex(this, tx, ty); - } } diff --git a/java/src/game/world/Weather.java b/java/src/game/world/Weather.java index 9df13f4..d5b52f3 100755 --- a/java/src/game/world/Weather.java +++ b/java/src/game/world/Weather.java @@ -3,7 +3,6 @@ package game.world; import java.util.Map; import game.collect.Maps; - import game.rng.Random; import game.rng.RngItem; import game.rng.WeightedList; diff --git a/java/src/game/world/World.java b/java/src/game/world/World.java index 5c0e471..76ad069 100755 --- a/java/src/game/world/World.java +++ b/java/src/game/world/World.java @@ -4,10 +4,7 @@ import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Set; - import java.util.function.Predicate; -import game.collect.Lists; -import game.collect.Sets; import game.biome.Biome; import game.block.Block; @@ -17,6 +14,8 @@ import game.block.BlockSlab; import game.block.BlockSnow; import game.block.BlockStairs; import game.block.LeavesType; +import game.collect.Lists; +import game.collect.Sets; import game.dimension.Dimension; import game.entity.Entity; import game.entity.item.EntityExplosion; @@ -26,7 +25,7 @@ import game.init.Blocks; import game.init.SoundEvent; import game.item.ItemStack; import game.material.Material; -import game.renderer.particle.ParticleType; +import game.model.ParticleType; import game.rng.Random; import game.tileentity.ITickable; import game.tileentity.TileEntity; diff --git a/java/src/game/world/WorldClient.java b/java/src/game/world/WorldClient.java index 0e01f13..6378f1f 100755 --- a/java/src/game/world/WorldClient.java +++ b/java/src/game/world/WorldClient.java @@ -3,14 +3,13 @@ package game.world; import java.util.List; import java.util.Set; -import game.collect.Lists; -import game.collect.Sets; - -import game.Game; -import game.audio.MovingSoundMinecart; -import game.audio.PositionedSound; +import client.Game; +import client.renderer.particle.EntityFX; +import client.renderer.particle.EntityFirework; import game.biome.Biome; import game.block.Block; +import game.collect.Lists; +import game.collect.Sets; import game.dimension.Dimension; import game.entity.Entity; import game.entity.item.EntityCart; @@ -22,11 +21,11 @@ import game.init.SoundEvent; import game.item.ItemDye; import game.log.Log; import game.material.Material; +import game.model.ParticleType; import game.nbt.NBTTagCompound; -import game.renderer.particle.EntityFX; -import game.renderer.particle.EntityFirework; -import game.renderer.particle.ParticleType; import game.rng.Random; +import game.sound.MovingSoundMinecart; +import game.sound.PositionedSound; import game.tileentity.TileEntity; import game.util.ExtMath; import game.world.BlockPos.MutableBlockPos; diff --git a/java/src/game/world/WorldServer.java b/java/src/game/world/WorldServer.java index 150ba5b..9b97b07 100755 --- a/java/src/game/world/WorldServer.java +++ b/java/src/game/world/WorldServer.java @@ -11,13 +11,8 @@ import java.util.Map.Entry; import java.util.Set; import java.util.TreeSet; import java.util.concurrent.ConcurrentHashMap; - import java.util.function.Predicate; -import game.collect.Lists; -import game.collect.Maps; -import game.collect.Sets; -import game.Server; import game.biome.Biome; import game.biome.RngSpawn; import game.block.Block; @@ -27,6 +22,9 @@ import game.block.BlockFalling; import game.block.BlockLiquid; import game.block.BlockSnow; import game.clipboard.ClipboardBlock; +import game.collect.Lists; +import game.collect.Maps; +import game.collect.Sets; import game.dimension.Dimension; import game.entity.DamageSource; import game.entity.Entity; @@ -41,12 +39,13 @@ import game.init.UniverseRegistry; import game.item.ItemDoor; import game.log.Log; import game.material.Material; +import game.model.ParticleType; import game.nbt.NBTLoader; import game.nbt.NBTTagCompound; import game.nbt.NBTTagInt; import game.nbt.NBTTagList; -import game.network.Player; import game.network.Packet; +import game.network.Player; import game.packet.S1APacketEntityStatus; import game.packet.S27PacketExplosion; import game.packet.S28PacketEffect; @@ -60,7 +59,6 @@ import game.packet.SPacketBlockBreakAnim; import game.packet.SPacketBlockChange; import game.packet.SPacketChunkData; import game.packet.SPacketMultiBlockChange; -import game.renderer.particle.ParticleType; import game.rng.Random; import game.rng.WeightedList; import game.tileentity.TileEntity; @@ -88,6 +86,7 @@ import game.worldgen.structure.MapGenMineshaft; import game.worldgen.structure.MapGenScatteredFeature; import game.worldgen.structure.MapGenStronghold; import game.worldgen.structure.MapGenVillage; +import server.Server; public final class WorldServer extends World { private static final int[][] XZ_DIRS = new int[][] {{1, 0}, {0, 1}, {-1, 0}, {0, -1}}; diff --git a/java/src/game/worldgen/BiomeGenLayered.java b/java/src/game/worldgen/BiomeGenLayered.java index 74f666d..f78abbc 100755 --- a/java/src/game/worldgen/BiomeGenLayered.java +++ b/java/src/game/worldgen/BiomeGenLayered.java @@ -3,9 +3,8 @@ package game.worldgen; import java.util.List; import java.util.Set; -import game.collect.Lists; - import game.biome.Biome; +import game.collect.Lists; import game.world.BlockPos; import game.world.LongHashMap; import game.worldgen.layer.GenLayer; diff --git a/java/src/game/worldgen/GeneratorDebug.java b/java/src/game/worldgen/GeneratorDebug.java index 4168d4f..b945e86 100755 --- a/java/src/game/worldgen/GeneratorDebug.java +++ b/java/src/game/worldgen/GeneratorDebug.java @@ -2,9 +2,8 @@ package game.worldgen; import java.util.List; -import game.collect.Lists; - import game.block.Block; +import game.collect.Lists; import game.init.BlockRegistry; import game.util.ExtMath; import game.world.State; diff --git a/java/src/game/worldgen/feature/WorldGenDesertWells.java b/java/src/game/worldgen/feature/WorldGenDesertWells.java index 7dd67f9..b0e233d 100755 --- a/java/src/game/worldgen/feature/WorldGenDesertWells.java +++ b/java/src/game/worldgen/feature/WorldGenDesertWells.java @@ -1,12 +1,11 @@ package game.worldgen.feature; -import game.util.Predicates; - import game.block.BlockSand; import game.block.BlockSlab; import game.init.Blocks; import game.pattern.BlockStateHelper; import game.rng.Random; +import game.util.Predicates; import game.world.BlockPos; import game.world.Facing; import game.world.State; diff --git a/java/src/game/worldgen/structure/MapGenStructure.java b/java/src/game/worldgen/structure/MapGenStructure.java index 7712648..360f058 100755 --- a/java/src/game/worldgen/structure/MapGenStructure.java +++ b/java/src/game/worldgen/structure/MapGenStructure.java @@ -4,7 +4,6 @@ import java.util.Iterator; import java.util.Map; import game.collect.Maps; - import game.nbt.NBTBase; import game.nbt.NBTTagCompound; import game.rng.Random; diff --git a/java/src/game/worldgen/structure/MapGenStructureIO.java b/java/src/game/worldgen/structure/MapGenStructureIO.java index 06a3f4e..94c185c 100755 --- a/java/src/game/worldgen/structure/MapGenStructureIO.java +++ b/java/src/game/worldgen/structure/MapGenStructureIO.java @@ -3,7 +3,6 @@ package game.worldgen.structure; import java.util.Map; import game.collect.Maps; - import game.log.Log; import game.nbt.NBTTagCompound; import game.world.WorldServer; diff --git a/java/src/game/worldgen/structure/MapGenVillage.java b/java/src/game/worldgen/structure/MapGenVillage.java index fef7738..9a81a77 100755 --- a/java/src/game/worldgen/structure/MapGenVillage.java +++ b/java/src/game/worldgen/structure/MapGenVillage.java @@ -3,9 +3,8 @@ package game.worldgen.structure; import java.util.List; import java.util.Set; -import game.collect.Sets; - import game.biome.Biome; +import game.collect.Sets; import game.nbt.NBTTagCompound; import game.rng.Random; import game.world.WorldServer; diff --git a/java/src/game/worldgen/structure/StructureBridge.java b/java/src/game/worldgen/structure/StructureBridge.java index 1dcba01..a04e30a 100755 --- a/java/src/game/worldgen/structure/StructureBridge.java +++ b/java/src/game/worldgen/structure/StructureBridge.java @@ -3,7 +3,6 @@ package game.worldgen.structure; import java.util.List; import game.collect.Lists; - import game.init.Blocks; import game.nbt.NBTTagCompound; import game.rng.Random; diff --git a/java/src/game/worldgen/structure/StructureStronghold.java b/java/src/game/worldgen/structure/StructureStronghold.java index e76b7ac..6d4f792 100755 --- a/java/src/game/worldgen/structure/StructureStronghold.java +++ b/java/src/game/worldgen/structure/StructureStronghold.java @@ -3,11 +3,10 @@ package game.worldgen.structure; import java.util.List; import java.util.Map; -import game.collect.Lists; -import game.collect.Maps; - import game.block.BlockSlab; import game.block.BlockStoneBrick; +import game.collect.Lists; +import game.collect.Maps; import game.init.Blocks; import game.init.Items; import game.item.RngLoot; diff --git a/java/src/game/worldgen/structure/StructureVillage.java b/java/src/game/worldgen/structure/StructureVillage.java index 1188590..79b793d 100755 --- a/java/src/game/worldgen/structure/StructureVillage.java +++ b/java/src/game/worldgen/structure/StructureVillage.java @@ -3,8 +3,6 @@ package game.worldgen.structure; import java.util.Iterator; import java.util.List; -import game.collect.Lists; - import game.biome.Biome; import game.block.Block; import game.block.BlockLog; @@ -12,6 +10,7 @@ import game.block.BlockSandStone; import game.block.BlockSlab; import game.block.BlockStairs; import game.block.BlockTorch; +import game.collect.Lists; import game.color.DyeColor; import game.entity.npc.EntityHuman; import game.init.BlockRegistry; diff --git a/java/src/game/worldgen/tree/WorldGenBigTree.java b/java/src/game/worldgen/tree/WorldGenBigTree.java index fba563a..9655450 100755 --- a/java/src/game/worldgen/tree/WorldGenBigTree.java +++ b/java/src/game/worldgen/tree/WorldGenBigTree.java @@ -2,11 +2,10 @@ package game.worldgen.tree; import java.util.List; -import game.collect.Lists; - import game.block.Block; import game.block.BlockLeaves; import game.block.BlockLog; +import game.collect.Lists; import game.init.Blocks; import game.material.Material; import game.rng.Random; diff --git a/java/src/game/Server.java b/java/src/server/Server.java similarity index 99% rename from java/src/game/Server.java rename to java/src/server/Server.java index 4c0c661..03e23ba 100755 --- a/java/src/game/Server.java +++ b/java/src/server/Server.java @@ -1,4 +1,4 @@ -package game; +package server; import java.io.BufferedInputStream; import java.io.BufferedReader; @@ -20,11 +20,6 @@ import java.util.concurrent.FutureTask; import game.collect.Lists; import game.collect.Maps; -import game.future.Futures; -import game.future.ListenableFuture; -import game.future.ListenableFutureTask; -import game.future.ThreadFactoryBuilder; - import game.color.TextColor; import game.command.CommandEnvironment; import game.command.FixedExecutor; @@ -33,6 +28,10 @@ import game.dimension.Space; import game.entity.Entity; import game.entity.npc.EntityHuman; import game.entity.npc.EntityNPC; +import game.future.Futures; +import game.future.ListenableFuture; +import game.future.ListenableFutureTask; +import game.future.ThreadFactoryBuilder; import game.init.Config; import game.init.EntityRegistry; import game.init.Registry; @@ -41,17 +40,17 @@ import game.log.Log; import game.nbt.NBTLoader; import game.nbt.NBTTagCompound; import game.nbt.NBTTagList; +import game.network.HandshakeHandler; import game.network.IThreadListener; import game.network.LazyLoadBase; import game.network.NetConnection; import game.network.NetHandler.ThreadQuickExitException; -import game.network.HandshakeHandler; -import game.network.Player; import game.network.Packet; import game.network.PacketDecoder; import game.network.PacketEncoder; import game.network.PacketPrepender; import game.network.PacketSplitter; +import game.network.Player; import game.packet.RPacketEnableCompression; import game.packet.RPacketLoginSuccess; import game.packet.S1DPacketEntityEffect;