From e6462a32f3281dd3f7263b10e581619ac13b6cfa Mon Sep 17 00:00:00 2001 From: CassioKF Date: Wed, 25 Nov 2020 14:51:44 -0300 Subject: [PATCH] Put cargo ship on hold until new gpu. --- Projects/ModelCargoShip.bbmodel | 1 + .../entity/EntityContainerShip.java | 37 ++++++ .../entity/render/RenderBase.java | 85 +------------ .../entity/render/RenderBoatBase.java | 67 ++++++++++ .../entity/render/RenderCargoContainer.java | 6 +- .../entity/render/RenderCartsBase.java | 97 ++++++++++++++ .../entity/render/RenderContainerShip.java | 36 ++++++ .../entity/render/RenderFlatCart.java | 2 +- .../entity/render/RenderFluidContainer.java | 6 +- .../entity/render/RenderHopperCart.java | 2 +- .../entity/render/RenderLogCart.java | 6 +- .../entity/render/RenderRotatableBase.java | 2 +- .../industrialrenewal/init/EntityInit.java | 1 + .../industrialrenewal/init/RenderHandler.java | 7 +- .../model/ships/ModelContainerShip.java | 118 ++++++++++++++++++ .../textures/entities/cargo_ship.png | Bin 0 -> 4562 bytes 16 files changed, 381 insertions(+), 92 deletions(-) create mode 100644 Projects/ModelCargoShip.bbmodel create mode 100644 src/main/java/cassiokf/industrialrenewal/entity/EntityContainerShip.java create mode 100644 src/main/java/cassiokf/industrialrenewal/entity/render/RenderBoatBase.java create mode 100644 src/main/java/cassiokf/industrialrenewal/entity/render/RenderCartsBase.java create mode 100644 src/main/java/cassiokf/industrialrenewal/entity/render/RenderContainerShip.java create mode 100644 src/main/java/cassiokf/industrialrenewal/model/ships/ModelContainerShip.java create mode 100644 src/main/resources/assets/industrialrenewal/textures/entities/cargo_ship.png diff --git a/Projects/ModelCargoShip.bbmodel b/Projects/ModelCargoShip.bbmodel new file mode 100644 index 00000000..deffea95 --- /dev/null +++ b/Projects/ModelCargoShip.bbmodel @@ -0,0 +1 @@ +{"meta":{"format_version":"3.6","creation_time":1606255534,"model_format":"modded_entity","box_uv":true},"name":"ModelCargoShip","geometry_name":"ModelContainerShip","modded_entity_version":"1.12","visible_box":[1,1,0],"layered_textures":false,"resolution":{"width":256,"height":256},"elements":[{"name":"cube","from":[-8,18,-16],"to":[-7,30,16],"autouv":0,"color":0,"locked":false,"origin":[8,26,0],"uv_offset":[34,34],"faces":{"north":{"uv":[66,66,67,78],"texture":0},"east":{"uv":[34,66,66,78],"texture":0},"south":{"uv":[99,66,100,78],"texture":0},"west":{"uv":[67,66,99,78],"texture":0},"up":{"uv":[67,66,66,34],"texture":0},"down":{"uv":[68,34,67,66],"texture":0}},"uuid":"b4f31771-4134-7c3f-b3ad-74c5f3c7a073"},{"name":"cube","from":[7,18,-16],"to":[8,30,16],"autouv":0,"color":0,"locked":false,"origin":[-8,26,0],"faces":{"north":{"uv":[32,32,33,44],"texture":0},"east":{"uv":[0,32,32,44],"texture":0},"south":{"uv":[65,32,66,44],"texture":0},"west":{"uv":[33,32,65,44],"texture":0},"up":{"uv":[33,32,32,0],"texture":0},"down":{"uv":[34,0,33,32],"texture":0}},"uuid":"60f91294-a2c5-9caa-cbec-8e110b5ab6ff"},{"name":"cube","from":[-8,17.999999999999996,-41],"to":[-7,30,-16],"autouv":0,"color":0,"locked":false,"origin":[8,8,-32],"uv_offset":[68,0],"faces":{"north":{"uv":[93,25,94,37],"texture":0},"east":{"uv":[68,25,93,37],"texture":0},"south":{"uv":[119,25,120,37],"texture":0},"west":{"uv":[94,25,119,37],"texture":0},"up":{"uv":[94,25,93,0],"texture":0},"down":{"uv":[95,0,94,25],"texture":0}},"uuid":"27d063bd-2fd6-e34e-97ff-7f69a057f817"},{"name":"cube","from":[7,17.999999999999996,-41],"to":[8,30,-16],"autouv":0,"color":0,"locked":false,"origin":[-8,8,-32],"uv_offset":[0,53],"faces":{"north":{"uv":[25,78,26,90],"texture":0},"east":{"uv":[0,78,25,90],"texture":0},"south":{"uv":[51,78,52,90],"texture":0},"west":{"uv":[26,78,51,90],"texture":0},"up":{"uv":[26,78,25,53],"texture":0},"down":{"uv":[27,53,26,78],"texture":0}},"uuid":"0c1e32bd-6c4f-846c-38e5-ab97e4b34b64"},{"name":"cube","from":[-7,27,-16],"to":[7,28,0],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[84,62],"faces":{"north":{"uv":[100,78,114,79],"texture":0},"east":{"uv":[84,78,100,79],"texture":0},"south":{"uv":[130,78,144,79],"texture":0},"west":{"uv":[114,78,130,79],"texture":0},"up":{"uv":[114,78,100,62],"texture":0},"down":{"uv":[128,62,114,78],"texture":0}},"uuid":"f13ccbae-2a0c-f810-ee2f-632bf3c3c2e0"},{"name":"cube","from":[-7,27,-19],"to":[7,28,-16],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[27,62],"faces":{"north":{"uv":[30,65,44,66],"texture":0},"east":{"uv":[27,65,30,66],"texture":0},"south":{"uv":[47,65,61,66],"texture":0},"west":{"uv":[44,65,47,66],"texture":0},"up":{"uv":[44,65,30,62],"texture":0},"down":{"uv":[58,62,44,65],"texture":0}},"uuid":"9a3b50a6-063c-a683-0838-15662faeef8a"},{"name":"cube","from":[-6,27,-22],"to":[6,28,-19],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[0,4],"faces":{"north":{"uv":[3,7,15,8],"texture":0},"east":{"uv":[0,7,3,8],"texture":0},"south":{"uv":[18,7,30,8],"texture":0},"west":{"uv":[15,7,18,8],"texture":0},"up":{"uv":[15,7,3,4],"texture":0},"down":{"uv":[27,4,15,7],"texture":0}},"uuid":"ac2baaef-3257-bea5-059c-cd0e3ffc9046"},{"name":"cube","from":[-5,27,-25],"to":[5,28,-22],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[0,12],"faces":{"north":{"uv":[3,15,13,16],"texture":0},"east":{"uv":[0,15,3,16],"texture":0},"south":{"uv":[16,15,26,16],"texture":0},"west":{"uv":[13,15,16,16],"texture":0},"up":{"uv":[13,15,3,12],"texture":0},"down":{"uv":[23,12,13,15],"texture":0}},"uuid":"3dbfa78c-defc-f676-fbe4-db0dfc44418e"},{"name":"cube","from":[-4,27,-28],"to":[4,28,-25],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[0,20],"faces":{"north":{"uv":[3,23,11,24],"texture":0},"east":{"uv":[0,23,3,24],"texture":0},"south":{"uv":[14,23,22,24],"texture":0},"west":{"uv":[11,23,14,24],"texture":0},"up":{"uv":[11,23,3,20],"texture":0},"down":{"uv":[19,20,11,23],"texture":0}},"uuid":"17840420-0ca7-cf2e-ef38-b6e6394e7c17"},{"name":"cube","from":[-3,27,-31],"to":[3,28,-28],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[0,28],"faces":{"north":{"uv":[3,31,9,32],"texture":0},"east":{"uv":[0,31,3,32],"texture":0},"south":{"uv":[12,31,18,32],"texture":0},"west":{"uv":[9,31,12,32],"texture":0},"up":{"uv":[9,31,3,28],"texture":0},"down":{"uv":[15,28,9,31],"texture":0}},"uuid":"84642407-3f1e-9b7f-f4b3-94b50d1b64c1"},{"name":"cube","from":[-2,27,-34],"to":[2,28,-31],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[18,28],"faces":{"north":{"uv":[21,31,25,32],"texture":0},"east":{"uv":[18,31,21,32],"texture":0},"south":{"uv":[28,31,32,32],"texture":0},"west":{"uv":[25,31,28,32],"texture":0},"up":{"uv":[25,31,21,28],"texture":0},"down":{"uv":[29,28,25,31],"texture":0}},"uuid":"57bd8ff7-6746-d737-13f0-505dce39e670"},{"name":"cube","from":[-1,27,-37],"to":[1,28,-34],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[51,44],"faces":{"north":{"uv":[54,47,56,48],"texture":0},"east":{"uv":[51,47,54,48],"texture":0},"south":{"uv":[59,47,61,48],"texture":0},"west":{"uv":[56,47,59,48],"texture":0},"up":{"uv":[56,47,54,44],"texture":0},"down":{"uv":[58,44,56,47],"texture":0}},"uuid":"bb6e630f-970d-69e6-79c1-fec1bcc9b2a0"},{"name":"cube","from":[-8,18,16],"to":[8,25,17],"autouv":0,"color":0,"locked":false,"origin":[-1,18,1],"uv_offset":[34,23],"faces":{"north":{"uv":[35,24,51,31],"texture":0},"east":{"uv":[34,24,35,31],"texture":0},"south":{"uv":[52,24,68,31],"texture":0},"west":{"uv":[51,24,52,31],"texture":0},"up":{"uv":[51,24,35,23],"texture":0},"down":{"uv":[67,23,51,24],"texture":0}},"uuid":"6d8c54a6-bddf-eb16-a795-1b76cd5a4049"},{"name":"cube","from":[-8,25,16],"to":[8,32,17],"autouv":0,"color":0,"locked":false,"rotation":[42.5,0,0],"origin":[-1,25,16],"uv_offset":[34,15],"faces":{"north":{"uv":[35,16,51,23],"texture":0},"east":{"uv":[34,16,35,23],"texture":0},"south":{"uv":[52,16,68,23],"texture":0},"west":{"uv":[51,16,52,23],"texture":0},"up":{"uv":[51,16,35,15],"texture":0},"down":{"uv":[67,15,51,16],"texture":0}},"uuid":"3dfc7ee5-eb10-8d91-096b-6f79bfd3364f"},{"name":"cube","from":[-7.99,25,16],"to":[-6.99,30,17],"autouv":0,"color":4,"locked":false,"origin":[0,18,0],"uv_offset":[38,0],"faces":{"north":{"uv":[39,1,40,6],"texture":0},"east":{"uv":[38,1,39,6],"texture":0},"south":{"uv":[41,1,42,6],"texture":0},"west":{"uv":[40,1,41,6],"texture":0},"up":{"uv":[40,1,39,0],"texture":0},"down":{"uv":[41,0,40,1],"texture":0}},"uuid":"05e77df0-2dae-d824-69e2-b4f9c545f477"},{"name":"cube","from":[-7.99,26,17],"to":[-6.99,30,18],"autouv":0,"color":4,"locked":false,"origin":[0,18,0],"uv_offset":[0,52],"faces":{"north":{"uv":[1,53,2,57],"texture":0},"east":{"uv":[0,53,1,57],"texture":0},"south":{"uv":[3,53,4,57],"texture":0},"west":{"uv":[2,53,3,57],"texture":0},"up":{"uv":[2,53,1,52],"texture":0},"down":{"uv":[3,52,2,53],"texture":0}},"uuid":"aaedc351-0327-fc82-149a-7fb94db75b47"},{"name":"cube","from":[-7.99,27,18],"to":[-6.99,30,19],"autouv":0,"color":4,"locked":false,"origin":[0,18,0],"uv_offset":[33,47],"faces":{"north":{"uv":[34,48,35,51],"texture":0},"east":{"uv":[33,48,34,51],"texture":0},"south":{"uv":[36,48,37,51],"texture":0},"west":{"uv":[35,48,36,51],"texture":0},"up":{"uv":[35,48,34,47],"texture":0},"down":{"uv":[36,47,35,48],"texture":0}},"uuid":"ad08ca9d-8a66-93f6-51f6-3be8355d3d1f"},{"name":"cube","from":[-7.99,28,19],"to":[-6.99,30,20],"autouv":0,"color":4,"locked":false,"origin":[0,18,0],"uv_offset":[15,24],"faces":{"north":{"uv":[16,25,17,27],"texture":0},"east":{"uv":[15,25,16,27],"texture":0},"south":{"uv":[18,25,19,27],"texture":0},"west":{"uv":[17,25,18,27],"texture":0},"up":{"uv":[17,25,16,24],"texture":0},"down":{"uv":[18,24,17,25],"texture":0}},"uuid":"2a06b6a5-b9cf-d0a9-6383-86ec499799b6"},{"name":"cube","from":[-7.99,29,20],"to":[-6.99,30,21],"autouv":0,"color":4,"locked":false,"origin":[0,18,0],"uv_offset":[27,0],"faces":{"north":{"uv":[28,1,29,2],"texture":0},"east":{"uv":[27,1,28,2],"texture":0},"south":{"uv":[30,1,31,2],"texture":0},"west":{"uv":[29,1,30,2],"texture":0},"up":{"uv":[29,1,28,0],"texture":0},"down":{"uv":[30,0,29,1],"texture":0}},"uuid":"0d182162-22f8-3354-f09b-b8c4f7710512"},{"name":"cube","from":[6.99,25,16],"to":[7.99,30,17],"autouv":0,"color":4,"locked":false,"origin":[0,18,0],"uv_offset":[26,16],"faces":{"north":{"uv":[27,17,28,22],"texture":0},"east":{"uv":[26,17,27,22],"texture":0},"south":{"uv":[29,17,30,22],"texture":0},"west":{"uv":[28,17,29,22],"texture":0},"up":{"uv":[28,17,27,16],"texture":0},"down":{"uv":[29,16,28,17],"texture":0}},"uuid":"72739a0d-c529-b6b6-b443-4e2577e05992"},{"name":"cube","from":[6.99,26,17],"to":[7.99,30,18],"autouv":0,"color":4,"locked":false,"origin":[0,18,0],"uv_offset":[51,48],"faces":{"north":{"uv":[52,49,53,53],"texture":0},"east":{"uv":[51,49,52,53],"texture":0},"south":{"uv":[54,49,55,53],"texture":0},"west":{"uv":[53,49,54,53],"texture":0},"up":{"uv":[53,49,52,48],"texture":0},"down":{"uv":[54,48,53,49],"texture":0}},"uuid":"17119e18-b970-3cd9-7d7a-779e3433972b"},{"name":"cube","from":[6.99,27,18],"to":[7.99,30,19],"autouv":0,"color":4,"locked":false,"origin":[0,18,0],"uv_offset":[38,6],"faces":{"north":{"uv":[39,7,40,10],"texture":0},"east":{"uv":[38,7,39,10],"texture":0},"south":{"uv":[41,7,42,10],"texture":0},"west":{"uv":[40,7,41,10],"texture":0},"up":{"uv":[40,7,39,6],"texture":0},"down":{"uv":[41,6,40,7],"texture":0}},"uuid":"5b4338fd-ebe7-fbd8-7299-805c821c9f07"},{"name":"cube","from":[6.99,29,20],"to":[7.99,30,21],"autouv":0,"color":4,"locked":false,"origin":[0,18,0],"uv_offset":[23,8],"faces":{"north":{"uv":[24,9,25,10],"texture":0},"east":{"uv":[23,9,24,10],"texture":0},"south":{"uv":[26,9,27,10],"texture":0},"west":{"uv":[25,9,26,10],"texture":0},"up":{"uv":[25,9,24,8],"texture":0},"down":{"uv":[26,8,25,9],"texture":0}},"uuid":"d1fcd684-c711-dddb-87de-59ea6726ad7f"},{"name":"cube","from":[6.99,28,19],"to":[7.99,30,20],"autouv":0,"color":4,"locked":false,"origin":[0,18,0],"uv_offset":[19,16],"faces":{"north":{"uv":[20,17,21,19],"texture":0},"east":{"uv":[19,17,20,19],"texture":0},"south":{"uv":[22,17,23,19],"texture":0},"west":{"uv":[21,17,22,19],"texture":0},"up":{"uv":[21,17,20,16],"texture":0},"down":{"uv":[22,16,21,17],"texture":0}},"uuid":"0319a039-2c5a-9e65-16c6-33ecfcc64f99"},{"name":"cube","from":[0,19,19],"to":[1,28,20],"autouv":0,"color":1,"locked":false,"origin":[0,18,0],"uv_offset":[34,0],"faces":{"north":{"uv":[35,1,36,10],"texture":0},"east":{"uv":[34,1,35,10],"texture":0},"south":{"uv":[37,1,38,10],"texture":0},"west":{"uv":[36,1,37,10],"texture":0},"up":{"uv":[36,1,35,0],"texture":0},"down":{"uv":[37,0,36,1],"texture":0}},"uuid":"b7f8f773-4371-7064-f4b2-efa80a0a7e95"},{"name":"cube","from":[0,19,20],"to":[1,25,22],"autouv":0,"color":1,"locked":false,"origin":[0,18,0],"uv_offset":[26,8],"faces":{"north":{"uv":[28,10,29,16],"texture":0},"east":{"uv":[26,10,28,16],"texture":0},"south":{"uv":[31,10,32,16],"texture":0},"west":{"uv":[29,10,31,16],"texture":0},"up":{"uv":[29,10,28,8],"texture":0},"down":{"uv":[30,8,29,10],"texture":0}},"uuid":"6d9095d7-21fa-50cd-a7ce-a4da8809a17e"},{"name":"cube","from":[-7,27,0],"to":[7,28,16],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[80,80],"faces":{"north":{"uv":[96,96,110,97],"texture":0},"east":{"uv":[80,96,96,97],"texture":0},"south":{"uv":[126,96,140,97],"texture":0},"west":{"uv":[110,96,126,97],"texture":0},"up":{"uv":[110,96,96,80],"texture":0},"down":{"uv":[124,80,110,96],"texture":0}},"uuid":"c2efc92f-cd17-1d45-db6d-8334bb15af9f"},{"name":"cube","from":[-7,27,16],"to":[7,28,19],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[0,48],"faces":{"north":{"uv":[3,51,17,52],"texture":0},"east":{"uv":[0,51,3,52],"texture":0},"south":{"uv":[20,51,34,52],"texture":0},"west":{"uv":[17,51,20,52],"texture":0},"up":{"uv":[17,51,3,48],"texture":0},"down":{"uv":[31,48,17,51],"texture":0}},"uuid":"4a53bbd9-0da8-6bcc-ecbe-3c7c28e29193"},{"name":"cube","from":[-1,18,-37],"to":[1,19,-34],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[19,19],"faces":{"north":{"uv":[22,22,24,23],"texture":0},"east":{"uv":[19,22,22,23],"texture":0},"south":{"uv":[27,22,29,23],"texture":0},"west":{"uv":[24,22,27,23],"texture":0},"up":{"uv":[24,22,22,19],"texture":0},"down":{"uv":[26,19,24,22],"texture":0}},"uuid":"3372c42e-dd02-fbfb-7bf9-467c6ea340bb"},{"name":"cube","from":[-2,18,-34],"to":[2,19,-31],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[18,24],"faces":{"north":{"uv":[21,27,25,28],"texture":0},"east":{"uv":[18,27,21,28],"texture":0},"south":{"uv":[28,27,32,28],"texture":0},"west":{"uv":[25,27,28,28],"texture":0},"up":{"uv":[25,27,21,24],"texture":0},"down":{"uv":[29,24,25,27],"texture":0}},"uuid":"74e3dd76-0823-6a0f-6a8a-c1cf38ff6241"},{"name":"cube","from":[-3,18,-31],"to":[3,19,-28],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[0,24],"faces":{"north":{"uv":[3,27,9,28],"texture":0},"east":{"uv":[0,27,3,28],"texture":0},"south":{"uv":[12,27,18,28],"texture":0},"west":{"uv":[9,27,12,28],"texture":0},"up":{"uv":[9,27,3,24],"texture":0},"down":{"uv":[15,24,9,27],"texture":0}},"uuid":"7b59a208-b795-dc33-49c0-0553bf1423c2"},{"name":"cube","from":[-4,18,-28],"to":[4,19,-25],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[0,16],"faces":{"north":{"uv":[3,19,11,20],"texture":0},"east":{"uv":[0,19,3,20],"texture":0},"south":{"uv":[14,19,22,20],"texture":0},"west":{"uv":[11,19,14,20],"texture":0},"up":{"uv":[11,19,3,16],"texture":0},"down":{"uv":[19,16,11,19],"texture":0}},"uuid":"d44b66f3-c7d1-65ea-b84e-e45e9957705a"},{"name":"cube","from":[-5,18,-25],"to":[5,19,-22],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[0,8],"faces":{"north":{"uv":[3,11,13,12],"texture":0},"east":{"uv":[0,11,3,12],"texture":0},"south":{"uv":[16,11,26,12],"texture":0},"west":{"uv":[13,11,16,12],"texture":0},"up":{"uv":[13,11,3,8],"texture":0},"down":{"uv":[23,8,13,11],"texture":0}},"uuid":"5a97ab4b-acfb-9f43-9174-accd5152d5ea"},{"name":"cube","from":[-6,18,-22],"to":[6,19,-19],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"faces":{"north":{"uv":[3,3,15,4],"texture":0},"east":{"uv":[0,3,3,4],"texture":0},"south":{"uv":[18,3,30,4],"texture":0},"west":{"uv":[15,3,18,4],"texture":0},"up":{"uv":[15,3,3,0],"texture":0},"down":{"uv":[27,0,15,3],"texture":0}},"uuid":"09014dd4-0b93-bea3-e855-05fca3dd6982"},{"name":"cube","from":[-7,18,-16],"to":[7,19,0],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[36,78],"faces":{"north":{"uv":[52,94,66,95],"texture":0},"east":{"uv":[36,94,52,95],"texture":0},"south":{"uv":[82,94,96,95],"texture":0},"west":{"uv":[66,94,82,95],"texture":0},"up":{"uv":[66,94,52,78],"texture":0},"down":{"uv":[80,78,66,94],"texture":0}},"uuid":"4cad0a11-403c-6154-6d97-8082df320edb"},{"name":"cube","from":[-7,18,-19],"to":[7,19,-16],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[0,44],"faces":{"north":{"uv":[3,47,17,48],"texture":0},"east":{"uv":[0,47,3,48],"texture":0},"south":{"uv":[20,47,34,48],"texture":0},"west":{"uv":[17,47,20,48],"texture":0},"up":{"uv":[17,47,3,44],"texture":0},"down":{"uv":[31,44,17,47],"texture":0}},"uuid":"a983d344-022d-8217-7656-e94dc46145d2"},{"name":"cube","from":[-7,18,0],"to":[7,19,16],"autouv":0,"color":3,"locked":false,"origin":[0,18,0],"uv_offset":[68,37],"faces":{"north":{"uv":[84,53,98,54],"texture":0},"east":{"uv":[68,53,84,54],"texture":0},"south":{"uv":[114,53,128,54],"texture":0},"west":{"uv":[98,53,114,54],"texture":0},"up":{"uv":[98,53,84,37],"texture":0},"down":{"uv":[112,37,98,53],"texture":0}},"uuid":"1e068b65-e1b9-8dce-a728-9097fd7625b8"},{"name":"cube","from":[-5,28,7],"to":[5,36,17],"autouv":0,"color":1,"locked":false,"origin":[0,18,0],"uv_offset":[0,90],"faces":{"north":{"uv":[10,100,20,108],"texture":0},"east":{"uv":[0,100,10,108],"texture":0},"south":{"uv":[30,100,40,108],"texture":0},"west":{"uv":[20,100,30,108],"texture":0},"up":{"uv":[20,100,10,90],"texture":0},"down":{"uv":[30,90,20,100],"texture":0}},"uuid":"d1b6cd52-1827-d4cc-1c10-8cc71eb4f04d"},{"name":"cube","from":[-9,36,7],"to":[9,41,17],"autouv":0,"color":1,"locked":false,"origin":[0,18,0],"uv_offset":[34,0],"faces":{"north":{"uv":[44,10,62,15],"texture":0},"east":{"uv":[34,10,44,15],"texture":0},"south":{"uv":[72,10,90,15],"texture":0},"west":{"uv":[62,10,72,15],"texture":0},"up":{"uv":[62,10,44,0],"texture":0},"down":{"uv":[80,0,62,10],"texture":0}},"uuid":"2482658c-40c3-145d-392f-afa6d01bfaef"},{"name":"cube","from":[-7,28,-1],"to":[7,36,6],"autouv":0,"color":4,"locked":false,"origin":[0,18,0],"uv_offset":[82,97],"faces":{"north":{"uv":[89,104,103,112],"texture":0},"east":{"uv":[82,104,89,112],"texture":0},"south":{"uv":[110,104,124,112],"texture":0},"west":{"uv":[103,104,110,112],"texture":0},"up":{"uv":[103,104,89,97],"texture":0},"down":{"uv":[117,97,103,104],"texture":0}},"uuid":"795ece3b-5621-d91d-151d-104882d0b5de"},{"name":"cube","from":[-7,28,-9],"to":[7,36,-2],"autouv":0,"color":4,"locked":false,"origin":[0,18,0],"uv_offset":[95,0],"faces":{"north":{"uv":[102,7,116,15],"texture":0},"east":{"uv":[95,7,102,15],"texture":0},"south":{"uv":[123,7,137,15],"texture":0},"west":{"uv":[116,7,123,15],"texture":0},"up":{"uv":[116,7,102,0],"texture":0},"down":{"uv":[130,0,116,7],"texture":0}},"uuid":"f3553426-9840-1b24-9ad9-a0e99862173e"},{"name":"cube","from":[-7,28,-17],"to":[7,36,-10],"autouv":0,"color":4,"locked":false,"origin":[0,18,0],"uv_offset":[40,95],"faces":{"north":{"uv":[47,102,61,110],"texture":0},"east":{"uv":[40,102,47,110],"texture":0},"south":{"uv":[68,102,82,110],"texture":0},"west":{"uv":[61,102,68,110],"texture":0},"up":{"uv":[61,102,47,95],"texture":0},"down":{"uv":[75,95,61,102],"texture":0}},"uuid":"8ec2eb34-9f81-d8a1-019c-be4671cc6492"},{"name":"cube","from":[-3.5,28,-28],"to":[3.5,36,-18],"autouv":0,"color":4,"locked":false,"origin":[25.5,32,0],"uv_offset":[27,44],"faces":{"north":{"uv":[37,54,44,62],"texture":0},"east":{"uv":[27,54,37,62],"texture":0},"south":{"uv":[54,54,61,62],"texture":0},"west":{"uv":[44,54,54,62],"texture":0},"up":{"uv":[44,54,37,44],"texture":0},"down":{"uv":[51,44,44,54],"texture":0}},"uuid":"ad6b55af-e9e2-da7e-37f3-250309ce5d1a"}],"outliner":[{"name":"bone","origin":[0,0,0],"uuid":"37f50dc3-fc66-3de0-32e0-f55faf14e378","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["b4f31771-4134-7c3f-b3ad-74c5f3c7a073",{"name":"bone2","origin":[-8,6,-16],"rotation":[0,-17.5,0],"uuid":"671965d1-88be-3f80-e1cd-2830245d7b71","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["27d063bd-2fd6-e34e-97ff-7f69a057f817"]},{"name":"bone3","origin":[8,6,-16],"rotation":[0,17.5,0],"uuid":"1b9bfd0a-d305-bc14-62bc-34493906e8ff","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["0c1e32bd-6c4f-846c-38e5-ab97e4b34b64"]},"60f91294-a2c5-9caa-cbec-8e110b5ab6ff","f13ccbae-2a0c-f810-ee2f-632bf3c3c2e0","4cad0a11-403c-6154-6d97-8082df320edb","c2efc92f-cd17-1d45-db6d-8334bb15af9f","1e068b65-e1b9-8dce-a728-9097fd7625b8","4a53bbd9-0da8-6bcc-ecbe-3c7c28e29193","9a3b50a6-063c-a683-0838-15662faeef8a","a983d344-022d-8217-7656-e94dc46145d2","ac2baaef-3257-bea5-059c-cd0e3ffc9046","09014dd4-0b93-bea3-e855-05fca3dd6982","3dbfa78c-defc-f676-fbe4-db0dfc44418e","5a97ab4b-acfb-9f43-9174-accd5152d5ea","17840420-0ca7-cf2e-ef38-b6e6394e7c17","d44b66f3-c7d1-65ea-b84e-e45e9957705a","84642407-3f1e-9b7f-f4b3-94b50d1b64c1","7b59a208-b795-dc33-49c0-0553bf1423c2","57bd8ff7-6746-d737-13f0-505dce39e670","74e3dd76-0823-6a0f-6a8a-c1cf38ff6241","bb6e630f-970d-69e6-79c1-fec1bcc9b2a0","3372c42e-dd02-fbfb-7bf9-467c6ea340bb","6d8c54a6-bddf-eb16-a795-1b76cd5a4049",{"name":"bone4","origin":[0,0,0],"uuid":"b89a2076-ac08-c40c-135b-61133a5386d8","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["3dfc7ee5-eb10-8d91-096b-6f79bfd3364f"]},"05e77df0-2dae-d824-69e2-b4f9c545f477","72739a0d-c529-b6b6-b443-4e2577e05992","aaedc351-0327-fc82-149a-7fb94db75b47","17119e18-b970-3cd9-7d7a-779e3433972b","ad08ca9d-8a66-93f6-51f6-3be8355d3d1f","5b4338fd-ebe7-fbd8-7299-805c821c9f07","2a06b6a5-b9cf-d0a9-6383-86ec499799b6","0319a039-2c5a-9e65-16c6-33ecfcc64f99","0d182162-22f8-3354-f09b-b8c4f7710512","d1fcd684-c711-dddb-87de-59ea6726ad7f"]},"b7f8f773-4371-7064-f4b2-efa80a0a7e95","6d9095d7-21fa-50cd-a7ce-a4da8809a17e",{"name":"bone5","origin":[0,0,0],"uuid":"23d5b4b4-48e9-cf18-8be7-27cb0650dbdc","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["d1b6cd52-1827-d4cc-1c10-8cc71eb4f04d","2482658c-40c3-145d-392f-afa6d01bfaef"]},{"name":"bone6","origin":[0,0,0],"uuid":"be12670c-a11b-5e6f-cf0e-e5fd925c1283","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["795ece3b-5621-d91d-151d-104882d0b5de","f3553426-9840-1b24-9ad9-a0e99862173e","8ec2eb34-9f81-d8a1-019c-be4671cc6492","ad6b55af-e9e2-da7e-37f3-250309ce5d1a"]}],"textures":[{"path":"E:\\IndustrialRenewal\\1.12\\src\\main\\resources\\assets\\industrialrenewal\\textures\\entities\\cargo_ship.png","name":"cargo_ship.png","folder":"entities","namespace":"industrialrenewal","id":"0","particle":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"579c1d5d-5177-a245-6bf7-d67da2f99486","source":"data:image/png;base64,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"}]} \ No newline at end of file diff --git a/src/main/java/cassiokf/industrialrenewal/entity/EntityContainerShip.java b/src/main/java/cassiokf/industrialrenewal/entity/EntityContainerShip.java new file mode 100644 index 00000000..1829c7c9 --- /dev/null +++ b/src/main/java/cassiokf/industrialrenewal/entity/EntityContainerShip.java @@ -0,0 +1,37 @@ +package cassiokf.industrialrenewal.entity; + +import net.minecraft.entity.item.EntityBoat; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.util.EnumHand; +import net.minecraft.world.World; + +public class EntityContainerShip extends EntityBoat +{ + public EntityContainerShip(World worldIn) + { + super(worldIn); + } + + public EntityContainerShip(World worldIn, double x, double y, double z) + { + super(worldIn, x, y, z); + } + + protected void initEntityAI() + { + + } + + @Override + public boolean processInitialInteract(EntityPlayer player, EnumHand hand) + { + return false; + } + + @Override + public Item getItemBoat() + { + return super.getItemBoat(); + } +} diff --git a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderBase.java b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderBase.java index 88d9ceaa..529afd48 100644 --- a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderBase.java +++ b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderBase.java @@ -7,17 +7,16 @@ import net.minecraft.client.renderer.block.model.ItemCameraTransforms; import net.minecraft.client.renderer.entity.Render; import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraft.entity.item.EntityMinecart; +import net.minecraft.entity.Entity; import net.minecraft.item.ItemStack; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.Vec3d; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public abstract class RenderBase extends Render +public abstract class RenderBase extends Render { - private static ItemStack pointer = new ItemStack(ModItems.pointer); + private static final ItemStack pointer = new ItemStack(ModItems.pointer); + public RenderBase(RenderManager renderManagerIn) { super(renderManagerIn); @@ -57,82 +56,6 @@ public void renderExtra(T entity, double x, double y, double z, float entityYaw, @Override public void doRender(T entity, double x, double y, double z, float entityYaw, float partialTicks) { - GlStateManager.pushMatrix(); - this.bindEntityTexture(entity); - long i = (long) entity.getEntityId() * 493286711L; - i = i * i * 4392167121L + i * 98761L; - float f = (((float) (i >> 16 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; - float f1 = (((float) (i >> 20 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; - float f2 = (((float) (i >> 24 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; - GlStateManager.translate(f, f1, f2); - double d0 = entity.lastTickPosX + (entity.posX - entity.lastTickPosX) * (double) partialTicks; - double d1 = entity.lastTickPosY + (entity.posY - entity.lastTickPosY) * (double) partialTicks; - double d2 = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * (double) partialTicks; - double d3 = 0.30000001192092896D; - Vec3d vec3d = entity.getPos(d0, d1, d2); - float f3 = entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * partialTicks; - - if (vec3d != null) - { - Vec3d vec3d1 = entity.getPosOffset(d0, d1, d2, 0.30000001192092896D); - Vec3d vec3d2 = entity.getPosOffset(d0, d1, d2, -0.30000001192092896D); - - if (vec3d1 == null) - { - vec3d1 = vec3d; - } - - if (vec3d2 == null) - { - vec3d2 = vec3d; - } - - x += vec3d.x - d0; - y += (vec3d1.y + vec3d2.y) / 2.0D - d1; - z += vec3d.z - d2; - Vec3d vec3d3 = vec3d2.add(-vec3d1.x, -vec3d1.y, -vec3d1.z); - - if (vec3d3.length() != 0.0D) - { - vec3d3 = vec3d3.normalize(); - entityYaw = (float) (Math.atan2(vec3d3.z, vec3d3.x) * 180.0D / Math.PI); - f3 = (float) (Math.atan(vec3d3.y) * 73.0D); - } - } - - GlStateManager.translate((float) x, (float) y + 0.375F, (float) z); - GlStateManager.rotate(180.0F - entityYaw, 0.0F, 1.0F, 0.0F); - GlStateManager.rotate(-f3, 0.0F, 0.0F, 1.0F); - float f5 = (float) entity.getRollingAmplitude() - partialTicks; - float f6 = entity.getDamage() - partialTicks; - - if (f6 < 0.0F) - { - f6 = 0.0F; - } - - if (f5 > 0.0F) - { - GlStateManager.rotate(MathHelper.sin(f5) * f5 * f6 / 10.0F * (float) entity.getRollingDirection(), 1.0F, 0.0F, 0.0F); - } - - if (this.renderOutlines) - { - GlStateManager.enableColorMaterial(); - GlStateManager.enableOutlineMode(this.getTeamColor(entity)); - } - - GlStateManager.scale(-1.0F, -1.0F, 1.0F); - getModel().render(entity, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); - renderExtra(entity, x, y, z, entityYaw, partialTicks, f, f1, f2); - GlStateManager.popMatrix(); - - if (this.renderOutlines) - { - GlStateManager.disableOutlineMode(); - GlStateManager.disableColorMaterial(); - } - super.doRender(entity, x, y, z, entityYaw, partialTicks); } } diff --git a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderBoatBase.java b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderBoatBase.java new file mode 100644 index 00000000..7494cdf5 --- /dev/null +++ b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderBoatBase.java @@ -0,0 +1,67 @@ +package cassiokf.industrialrenewal.entity.render; + +import cassiokf.industrialrenewal.entity.EntityContainerShip; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.util.math.MathHelper; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; + +@SideOnly(Side.CLIENT) +public abstract class RenderBoatBase extends RenderBase +{ + public RenderBoatBase(RenderManager renderManagerIn) + { + super(renderManagerIn); + } + + @Override + public void doRender(T entity, double x, double y, double z, float entityYaw, float partialTicks) + { + GlStateManager.pushMatrix(); + this.setupTranslation(x, y, z); + this.setupRotation(entity, entityYaw, partialTicks); + this.bindEntityTexture(entity); + + if (this.renderOutlines) + { + GlStateManager.enableColorMaterial(); + GlStateManager.enableOutlineMode(this.getTeamColor(entity)); + } + + this.getModel().render(entity, partialTicks, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); + + if (this.renderOutlines) + { + GlStateManager.disableOutlineMode(); + GlStateManager.disableColorMaterial(); + } + + GlStateManager.popMatrix(); + super.doRender(entity, x, y, z, entityYaw, partialTicks); + } + + public void setupRotation(T entityIn, float entityYaw, float partialTicks) + { + GlStateManager.rotate(180.0F - entityYaw, 0.0F, 1.0F, 0.0F); + float f = (float) entityIn.getTimeSinceHit() - partialTicks; + float f1 = entityIn.getDamageTaken() - partialTicks; + + if (f1 < 0.0F) + { + f1 = 0.0F; + } + + if (f > 0.0F) + { + GlStateManager.rotate(MathHelper.sin(f) * f * f1 / 10.0F * (float) entityIn.getForwardDirection(), 1.0F, 0.0F, 0.0F); + } + + GlStateManager.scale(-1.0F, -1.0F, 1.0F); + } + + public void setupTranslation(double x, double y, double z) + { + GlStateManager.translate((float) x, (float) y + 0.375F, (float) z); + } +} diff --git a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderCargoContainer.java b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderCargoContainer.java index 51135cad..fa7f1cfd 100644 --- a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderCargoContainer.java +++ b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderCargoContainer.java @@ -10,13 +10,15 @@ import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderCargoContainer extends RenderBase { +public class RenderCargoContainer extends RenderCartsBase +{ public static final ResourceLocation TEXTURES = new ResourceLocation(References.MODID + ":textures/entities/cargocontainer.png"); protected ModelCargoContainer modelMinecart = new ModelCargoContainer(); - public RenderCargoContainer(RenderManager renderManagerIn) { + public RenderCargoContainer(RenderManager renderManagerIn) + { super(renderManagerIn); } diff --git a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderCartsBase.java b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderCartsBase.java new file mode 100644 index 00000000..4c3efb38 --- /dev/null +++ b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderCartsBase.java @@ -0,0 +1,97 @@ +package cassiokf.industrialrenewal.entity.render; + +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.entity.item.EntityMinecart; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.Vec3d; + +public abstract class RenderCartsBase extends RenderBase +{ + public RenderCartsBase(RenderManager renderManagerIn) + { + super(renderManagerIn); + } + + @Override + public void doRender(T entity, double x, double y, double z, float entityYaw, float partialTicks) + { + GlStateManager.pushMatrix(); + this.bindEntityTexture(entity); + long i = (long) entity.getEntityId() * 493286711L; + i = i * i * 4392167121L + i * 98761L; + float f = (((float) (i >> 16 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; + float f1 = (((float) (i >> 20 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; + float f2 = (((float) (i >> 24 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; + GlStateManager.translate(f, f1, f2); + double d0 = entity.lastTickPosX + (entity.posX - entity.lastTickPosX) * (double) partialTicks; + double d1 = entity.lastTickPosY + (entity.posY - entity.lastTickPosY) * (double) partialTicks; + double d2 = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * (double) partialTicks; + double d3 = 0.30000001192092896D; + Vec3d vec3d = entity.getPos(d0, d1, d2); + float f3 = entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * partialTicks; + + if (vec3d != null) + { + Vec3d vec3d1 = entity.getPosOffset(d0, d1, d2, 0.30000001192092896D); + Vec3d vec3d2 = entity.getPosOffset(d0, d1, d2, -0.30000001192092896D); + + if (vec3d1 == null) + { + vec3d1 = vec3d; + } + + if (vec3d2 == null) + { + vec3d2 = vec3d; + } + + x += vec3d.x - d0; + y += (vec3d1.y + vec3d2.y) / 2.0D - d1; + z += vec3d.z - d2; + Vec3d vec3d3 = vec3d2.add(-vec3d1.x, -vec3d1.y, -vec3d1.z); + + if (vec3d3.length() != 0.0D) + { + vec3d3 = vec3d3.normalize(); + entityYaw = (float) (Math.atan2(vec3d3.z, vec3d3.x) * 180.0D / Math.PI); + f3 = (float) (Math.atan(vec3d3.y) * 73.0D); + } + } + + GlStateManager.translate((float) x, (float) y + 0.375F, (float) z); + GlStateManager.rotate(180.0F - entityYaw, 0.0F, 1.0F, 0.0F); + GlStateManager.rotate(-f3, 0.0F, 0.0F, 1.0F); + float f5 = (float) entity.getRollingAmplitude() - partialTicks; + float f6 = entity.getDamage() - partialTicks; + + if (f6 < 0.0F) + { + f6 = 0.0F; + } + + if (f5 > 0.0F) + { + GlStateManager.rotate(MathHelper.sin(f5) * f5 * f6 / 10.0F * (float) entity.getRollingDirection(), 1.0F, 0.0F, 0.0F); + } + + if (this.renderOutlines) + { + GlStateManager.enableColorMaterial(); + GlStateManager.enableOutlineMode(this.getTeamColor(entity)); + } + + GlStateManager.scale(-1.0F, -1.0F, 1.0F); + getModel().render(entity, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); + renderExtra(entity, x, y, z, entityYaw, partialTicks, f, f1, f2); + GlStateManager.popMatrix(); + + if (this.renderOutlines) + { + GlStateManager.disableOutlineMode(); + GlStateManager.disableColorMaterial(); + } + + super.doRender(entity, x, y, z, entityYaw, partialTicks); + } +} diff --git a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderContainerShip.java b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderContainerShip.java new file mode 100644 index 00000000..0ea97784 --- /dev/null +++ b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderContainerShip.java @@ -0,0 +1,36 @@ +package cassiokf.industrialrenewal.entity.render; + +import cassiokf.industrialrenewal.References; +import cassiokf.industrialrenewal.entity.EntityContainerShip; +import cassiokf.industrialrenewal.model.ships.ModelContainerShip; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; + +@SideOnly(Side.CLIENT) +public class RenderContainerShip extends RenderBoatBase +{ + + public static final ResourceLocation TEXTURES = new ResourceLocation(References.MODID + ":textures/entities/cargo_ship.png"); + + protected static final ModelContainerShip modelMinecart = new ModelContainerShip(); + + public RenderContainerShip(RenderManager renderManagerIn) + { + super(renderManagerIn); + } + + @Override + public ModelBase getModel() + { + return modelMinecart; + } + + @Override + protected ResourceLocation getEntityTexture(EntityContainerShip entity) + { + return TEXTURES; + } +} diff --git a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderFlatCart.java b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderFlatCart.java index 23c60996..8fef296f 100644 --- a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderFlatCart.java +++ b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderFlatCart.java @@ -10,7 +10,7 @@ import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderFlatCart extends RenderBase +public class RenderFlatCart extends RenderCartsBase { public static final ResourceLocation TEXTURES = new ResourceLocation(References.MODID + ":textures/entities/base_cart.png"); diff --git a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderFluidContainer.java b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderFluidContainer.java index 9ac53c2f..93868e75 100644 --- a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderFluidContainer.java +++ b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderFluidContainer.java @@ -11,13 +11,15 @@ import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderFluidContainer extends RenderBase { +public class RenderFluidContainer extends RenderCartsBase +{ public static final ResourceLocation TEXTURES = new ResourceLocation(References.MODID + ":textures/entities/fluid_container.png"); protected ModelCartFluidTank modelMinecart = new ModelCartFluidTank(); - public RenderFluidContainer(RenderManager renderManagerIn) { + public RenderFluidContainer(RenderManager renderManagerIn) + { super(renderManagerIn); } diff --git a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderHopperCart.java b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderHopperCart.java index 6b62e599..ba70ae6f 100644 --- a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderHopperCart.java +++ b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderHopperCart.java @@ -10,7 +10,7 @@ import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderHopperCart extends RenderBase +public class RenderHopperCart extends RenderCartsBase { public static final ResourceLocation TEXTURES = new ResourceLocation(References.MODID + ":textures/entities/hopper_cart.png"); diff --git a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderLogCart.java b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderLogCart.java index 79784920..201c1bac 100644 --- a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderLogCart.java +++ b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderLogCart.java @@ -10,13 +10,15 @@ import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class RenderLogCart extends RenderBase { +public class RenderLogCart extends RenderCartsBase +{ public static final ResourceLocation TEXTURES = new ResourceLocation(References.MODID + ":textures/entities/log_cart.png"); protected ModelLogCart modelMinecart = new ModelLogCart(); - public RenderLogCart(RenderManager renderManagerIn) { + public RenderLogCart(RenderManager renderManagerIn) + { super(renderManagerIn); } diff --git a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderRotatableBase.java b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderRotatableBase.java index 83bfb129..94727ee7 100644 --- a/src/main/java/cassiokf/industrialrenewal/entity/render/RenderRotatableBase.java +++ b/src/main/java/cassiokf/industrialrenewal/entity/render/RenderRotatableBase.java @@ -10,7 +10,7 @@ import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public abstract class RenderRotatableBase extends RenderBase +public abstract class RenderRotatableBase extends RenderCartsBase { public RenderRotatableBase(RenderManager renderManagerIn) { diff --git a/src/main/java/cassiokf/industrialrenewal/init/EntityInit.java b/src/main/java/cassiokf/industrialrenewal/init/EntityInit.java index b64964a7..4bc1a832 100644 --- a/src/main/java/cassiokf/industrialrenewal/init/EntityInit.java +++ b/src/main/java/cassiokf/industrialrenewal/init/EntityInit.java @@ -18,6 +18,7 @@ public static void registerEntities() { RegisterEntity("minecart_flat", EntityFlatCart.class, References.ENTITY_FLATCART_ID, 80); RegisterEntity("cart_hopper", EntityHopperCart.class, References.ENTITY_HOPPERCART_ID, 80); RegisterEntity("tender", EntityTenderBase.class, References.ENTITY_TENDER_ID, 80); + //RegisterEntity("container_ship", EntityContainerShip.class, References.ENTITY_CONTAINER_SHIP, 80); } private static void RegisterEntity(String name, Class entity, int id, int range) { diff --git a/src/main/java/cassiokf/industrialrenewal/init/RenderHandler.java b/src/main/java/cassiokf/industrialrenewal/init/RenderHandler.java index 9ec4b4c0..a8b9d24d 100644 --- a/src/main/java/cassiokf/industrialrenewal/init/RenderHandler.java +++ b/src/main/java/cassiokf/industrialrenewal/init/RenderHandler.java @@ -10,9 +10,11 @@ import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fml.client.registry.RenderingRegistry; -public class RenderHandler { +public class RenderHandler +{ - public static void registerEntitiesRender() { + public static void registerEntitiesRender() + { RenderingRegistry.registerEntityRenderingHandler(EntityCargoContainer.class, RenderCargoContainer::new); RenderingRegistry.registerEntityRenderingHandler(EntityFluidContainer.class, RenderFluidContainer::new); RenderingRegistry.registerEntityRenderingHandler(EntitySteamLocomotive.class, RenderSteamLocomotive::new); @@ -21,6 +23,7 @@ public static void registerEntitiesRender() { RenderingRegistry.registerEntityRenderingHandler(EntityFlatCart.class, RenderFlatCart::new); RenderingRegistry.registerEntityRenderingHandler(EntityHopperCart.class, RenderHopperCart::new); RenderingRegistry.registerEntityRenderingHandler(EntityTenderBase.class, RenderTender::new); + //RenderingRegistry.registerEntityRenderingHandler(EntityContainerShip.class, RenderContainerShip::new); } public static void registerCustomMeshesAndStates() diff --git a/src/main/java/cassiokf/industrialrenewal/model/ships/ModelContainerShip.java b/src/main/java/cassiokf/industrialrenewal/model/ships/ModelContainerShip.java new file mode 100644 index 00000000..10dd5ba4 --- /dev/null +++ b/src/main/java/cassiokf/industrialrenewal/model/ships/ModelContainerShip.java @@ -0,0 +1,118 @@ +package cassiokf.industrialrenewal.model.ships;// Made with Blockbench 3.7.4 +// Exported for Minecraft version 1.12 +// Paste this class into your mod and generate all required imports + + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelBox; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelContainerShip extends ModelBase +{ + private final ModelRenderer bone; + private final ModelRenderer bone2; + private final ModelRenderer bone3; + private final ModelRenderer bone4; + private final ModelRenderer cube_r1; + private final ModelRenderer bone5; + private final ModelRenderer bone6; + private final ModelRenderer bb_main; + + public ModelContainerShip() + { + textureWidth = 256; + textureHeight = 256; + + bone = new ModelRenderer(this); + bone.setRotationPoint(0.0F, 24.0F, 0.0F); + bone.cubeList.add(new ModelBox(bone, 34, 34, 7.0F, -30.0F, -16.0F, 1, 12, 32, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 0, 0, -8.0F, -30.0F, -16.0F, 1, 12, 32, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 84, 62, -7.0F, -28.0F, -16.0F, 14, 1, 16, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 36, 78, -7.0F, -19.0F, -16.0F, 14, 1, 16, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 80, 80, -7.0F, -28.0F, 0.0F, 14, 1, 16, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 68, 37, -7.0F, -19.0F, 0.0F, 14, 1, 16, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 0, 48, -7.0F, -28.0F, 16.0F, 14, 1, 3, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 27, 62, -7.0F, -28.0F, -19.0F, 14, 1, 3, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 0, 44, -7.0F, -19.0F, -19.0F, 14, 1, 3, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 0, 4, -6.0F, -28.0F, -22.0F, 12, 1, 3, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 0, 0, -6.0F, -19.0F, -22.0F, 12, 1, 3, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 0, 12, -5.0F, -28.0F, -25.0F, 10, 1, 3, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 0, 8, -5.0F, -19.0F, -25.0F, 10, 1, 3, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 0, 20, -4.0F, -28.0F, -28.0F, 8, 1, 3, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 0, 16, -4.0F, -19.0F, -28.0F, 8, 1, 3, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 0, 28, -3.0F, -28.0F, -31.0F, 6, 1, 3, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 0, 24, -3.0F, -19.0F, -31.0F, 6, 1, 3, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 18, 28, -2.0F, -28.0F, -34.0F, 4, 1, 3, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 18, 24, -2.0F, -19.0F, -34.0F, 4, 1, 3, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 51, 44, -1.0F, -28.0F, -37.0F, 2, 1, 3, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 19, 19, -1.0F, -19.0F, -37.0F, 2, 1, 3, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 34, 23, -8.0F, -25.0F, 16.0F, 16, 7, 1, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 38, 0, 6.99F, -30.0F, 16.0F, 1, 5, 1, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 26, 16, -7.99F, -30.0F, 16.0F, 1, 5, 1, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 0, 52, 6.99F, -30.0F, 17.0F, 1, 4, 1, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 51, 48, -7.99F, -30.0F, 17.0F, 1, 4, 1, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 33, 47, 6.99F, -30.0F, 18.0F, 1, 3, 1, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 38, 6, -7.99F, -30.0F, 18.0F, 1, 3, 1, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 15, 24, 6.99F, -30.0F, 19.0F, 1, 2, 1, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 19, 16, -7.99F, -30.0F, 19.0F, 1, 2, 1, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 27, 0, 6.99F, -30.0F, 20.0F, 1, 1, 1, 0.0F, false)); + bone.cubeList.add(new ModelBox(bone, 23, 8, -7.99F, -30.0F, 20.0F, 1, 1, 1, 0.0F, false)); + + bone2 = new ModelRenderer(this); + bone2.setRotationPoint(8.0F, -6.0F, -16.0F); + bone.addChild(bone2); + setRotationAngle(bone2, 0.0F, 0.3054F, 0.0F); + bone2.cubeList.add(new ModelBox(bone2, 68, 0, -1.0F, -24.0F, -25.0F, 1, 12, 25, 0.0F, false)); + + bone3 = new ModelRenderer(this); + bone3.setRotationPoint(-8.0F, -6.0F, -16.0F); + bone.addChild(bone3); + setRotationAngle(bone3, 0.0F, -0.3054F, 0.0F); + bone3.cubeList.add(new ModelBox(bone3, 0, 53, 0.0F, -24.0F, -25.0F, 1, 12, 25, 0.0F, false)); + + bone4 = new ModelRenderer(this); + bone4.setRotationPoint(0.0F, 0.0F, 0.0F); + bone.addChild(bone4); + + + cube_r1 = new ModelRenderer(this); + cube_r1.setRotationPoint(1.0F, -25.0F, 16.0F); + bone4.addChild(cube_r1); + setRotationAngle(cube_r1, -0.7418F, 0.0F, 0.0F); + cube_r1.cubeList.add(new ModelBox(cube_r1, 34, 15, -9.0F, -7.0F, 0.0F, 16, 7, 1, 0.0F, false)); + + bone5 = new ModelRenderer(this); + bone5.setRotationPoint(0.0F, 24.0F, 0.0F); + bone5.cubeList.add(new ModelBox(bone5, 0, 90, -5.0F, -36.0F, 7.0F, 10, 8, 10, 0.0F, false)); + bone5.cubeList.add(new ModelBox(bone5, 34, 0, -9.0F, -41.0F, 7.0F, 18, 5, 10, 0.0F, false)); + + bone6 = new ModelRenderer(this); + bone6.setRotationPoint(0.0F, 24.0F, 0.0F); + bone6.cubeList.add(new ModelBox(bone6, 82, 97, -7.0F, -36.0F, -1.0F, 14, 8, 7, 0.0F, false)); + bone6.cubeList.add(new ModelBox(bone6, 95, 0, -7.0F, -36.0F, -9.0F, 14, 8, 7, 0.0F, false)); + bone6.cubeList.add(new ModelBox(bone6, 40, 95, -7.0F, -36.0F, -17.0F, 14, 8, 7, 0.0F, false)); + bone6.cubeList.add(new ModelBox(bone6, 27, 44, -3.5F, -36.0F, -28.0F, 7, 8, 10, 0.0F, false)); + + bb_main = new ModelRenderer(this); + bb_main.setRotationPoint(0.0F, 24.0F, 0.0F); + bb_main.cubeList.add(new ModelBox(bb_main, 34, 0, -1.0F, -28.0F, 19.0F, 1, 9, 1, 0.0F, false)); + bb_main.cubeList.add(new ModelBox(bb_main, 26, 8, -1.0F, -25.0F, 20.0F, 1, 6, 2, 0.0F, false)); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + bone.render(f5); + bone5.render(f5); + bone6.render(f5); + bb_main.render(f5); + } + + public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) + { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } +} \ No newline at end of file diff --git a/src/main/resources/assets/industrialrenewal/textures/entities/cargo_ship.png b/src/main/resources/assets/industrialrenewal/textures/entities/cargo_ship.png new file mode 100644 index 0000000000000000000000000000000000000000..13352e1e1b5ae25979b8143ac10dbfb025697645 GIT binary patch literal 4562 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 C(vE%r literal 0 HcmV?d00001