diff --git a/src/main/java/com/klikli_dev/occultism/client/model/entity/FoliotModel.java b/src/main/java/com/klikli_dev/occultism/client/model/entity/FoliotModel.java index 956f4df3d..2c2b5bc98 100644 --- a/src/main/java/com/klikli_dev/occultism/client/model/entity/FoliotModel.java +++ b/src/main/java/com/klikli_dev/occultism/client/model/entity/FoliotModel.java @@ -39,6 +39,8 @@ public class FoliotModel extends DefaultedEntityGeoModel { public final ModelData transporter; public final ModelData janitor; public final ModelData lumberjack; + public final ModelData saplingTrader; + public final ModelData otherstoneTrader; public FoliotModel() { super(new ResourceLocation(Occultism.MODID, ASSET_SUBPATH), false); @@ -47,6 +49,8 @@ public FoliotModel() { this.transporter = this.buildModelData("transporter"); this.janitor = this.buildModelData("janitor"); this.lumberjack = this.buildModelData("lumberjack"); + this.otherstoneTrader = this.buildModelData("otherstone_trader"); + this.saplingTrader = this.buildModelData("sapling_trader"); } public ModelData getModelData(FoliotEntity animatable) { @@ -64,6 +68,14 @@ public ModelData getModelData(FoliotEntity animatable) { return this.lumberjack; } + if (Objects.equals(job, OccultismSpiritJobs.TRADE_OTHERSTONE_T1.getId().toString())) { + return this.otherstoneTrader; + } + + if (Objects.equals(job, OccultismSpiritJobs.TRADE_OTHERWORLD_SAPLINGS_T2.getId().toString())) { + return this.saplingTrader; + } + return this.crusher; } diff --git a/src/main/resources/assets/occultism/animations/entity/foliot_otherstone_trader.animation.json b/src/main/resources/assets/occultism/animations/entity/foliot_otherstone_trader.animation.json new file mode 100644 index 000000000..5756be892 --- /dev/null +++ b/src/main/resources/assets/occultism/animations/entity/foliot_otherstone_trader.animation.json @@ -0,0 +1,245 @@ +{ + "format_version": "1.8.0", + "animations": { + "walk": { + "loop": true, + "animation_length": 2, + "bones": { + "Torso": { + "rotation": { + "0.0": { + "vector": [0, 0, -1] + }, + "0.5": { + "vector": [0, 0, 2] + }, + "1.0": { + "vector": [0, 0, -1] + }, + "1.5": { + "vector": [0, 0, 2] + }, + "2.0": { + "vector": [0, 0, -1] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, -0.1, 0] + }, + "2.0": { + "vector": [0, 0, 0] + } + } + }, + "RARM": { + "rotation": { + "0.0": { + "vector": [31, 0, 0] + }, + "0.25": { + "vector": [-25.75, 0, 0] + }, + "0.5": { + "vector": [31, 0, 0] + }, + "0.75": { + "vector": [-25.75, 0, 0] + }, + "1.0": { + "vector": [31, 0, 0] + }, + "1.25": { + "vector": [-25.75, 0, 0] + }, + "1.5": { + "vector": [31, 0, 0] + }, + "1.75": { + "vector": [-25.75, 0, 0] + }, + "2.0": { + "vector": [31, 0, 0] + } + } + }, + "bone2": { + "rotation": { + "0.0": { + "vector": [27.5, 0, 0] + }, + "0.25": { + "vector": [-32.5, 0, 0] + }, + "0.5": { + "vector": [27.5, 0, 0] + }, + "0.75": { + "vector": [-32.5, 0, 0] + }, + "1.0": { + "vector": [27.5, 0, 0] + }, + "1.25": { + "vector": [-32.5, 0, 0] + }, + "1.5": { + "vector": [27.5, 0, 0] + }, + "1.75": { + "vector": [-32.5, 0, 0] + }, + "2.0": { + "vector": [27.5, 0, 0] + } + } + }, + "bone": { + "rotation": { + "0.0": { + "vector": [-26, 0, 0] + }, + "0.25": { + "vector": [31.5, 0, 0] + }, + "0.5": { + "vector": [-26, 0, 0] + }, + "0.75": { + "vector": [31.5, 0, 0] + }, + "1.0": { + "vector": [-26, 0, 0] + }, + "1.25": { + "vector": [31.5, 0, 0] + }, + "1.5": { + "vector": [-26, 0, 0] + }, + "1.75": { + "vector": [31.5, 0, 0] + }, + "2.0": { + "vector": [-26, 0, 0] + } + } + }, + "FAT": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.25": { + "vector": [1.01, 1, 1] + }, + "0.5": { + "vector": [1, 1, 1] + }, + "0.75": { + "vector": [1.01, 1, 1] + }, + "1.0": { + "vector": [1, 1, 1] + }, + "1.25": { + "vector": [1.01, 1, 1] + }, + "1.5": { + "vector": [1, 1, 1] + }, + "1.75": { + "vector": [1.01, 1, 1] + }, + "2.0": { + "vector": [1, 1, 1] + } + } + }, + "LARM": { + "rotation": { + "0.0": { + "vector": [-22.5, 0, 0] + }, + "0.25": { + "vector": [27.5, 0, 0] + }, + "0.5": { + "vector": [-22.5, 0, 0] + }, + "0.75": { + "vector": [27.5, 0, 0] + }, + "1.0": { + "vector": [-22.5, 0, 0] + }, + "1.25": { + "vector": [27.5, 0, 0] + }, + "1.5": { + "vector": [-22.5, 0, 0] + }, + "1.75": { + "vector": [27.5, 0, 0] + }, + "2.0": { + "vector": [-22.5, 0, 0] + } + }, + "position": { + "vector": [0, 0, 0] + } + } + } + }, + "idle": { + "loop": true, + "animation_length": 2, + "bones": { + "Torso": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, -0.1, 0] + }, + "2.0": { + "vector": [0, 0, 0] + } + } + }, + "RARM": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [4, 0, 0] + }, + "2.0": { + "vector": [0, 0, 0] + } + } + }, + "LARM": { + "rotation": { + "0.0": { + "vector": [1, 0, 0] + }, + "1.0": { + "vector": [-2, 0, 0] + }, + "2.0": { + "vector": [1, 0, 0] + } + } + } + } + } + }, + "geckolib_format_version": 2 +} \ No newline at end of file diff --git a/src/main/resources/assets/occultism/animations/entity/foliot_sapling_trader.animation.json b/src/main/resources/assets/occultism/animations/entity/foliot_sapling_trader.animation.json new file mode 100644 index 000000000..48908c5f4 --- /dev/null +++ b/src/main/resources/assets/occultism/animations/entity/foliot_sapling_trader.animation.json @@ -0,0 +1,245 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 2, + "bones": { + "Torso": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, -0.1, 0] + }, + "2.0": { + "vector": [0, 0, 0] + } + } + }, + "RARM": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [4, 0, 0] + }, + "2.0": { + "vector": [0, 0, 0] + } + } + }, + "LARM": { + "rotation": { + "0.0": { + "vector": [1, 0, 0] + }, + "1.0": { + "vector": [-2, 0, 0] + }, + "2.0": { + "vector": [1, 0, 0] + } + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 2, + "bones": { + "Torso": { + "rotation": { + "0.0": { + "vector": [0, 0, -1] + }, + "0.5": { + "vector": [0, 0, 2] + }, + "1.0": { + "vector": [0, 0, -1] + }, + "1.5": { + "vector": [0, 0, 2] + }, + "2.0": { + "vector": [0, 0, -1] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, -0.1, 0] + }, + "2.0": { + "vector": [0, 0, 0] + } + } + }, + "RARM": { + "rotation": { + "0.0": { + "vector": [31, 0, 0] + }, + "0.25": { + "vector": [-25.75, 0, 0] + }, + "0.5": { + "vector": [31, 0, 0] + }, + "0.75": { + "vector": [-25.75, 0, 0] + }, + "1.0": { + "vector": [31, 0, 0] + }, + "1.25": { + "vector": [-25.75, 0, 0] + }, + "1.5": { + "vector": [31, 0, 0] + }, + "1.75": { + "vector": [-25.75, 0, 0] + }, + "2.0": { + "vector": [31, 0, 0] + } + } + }, + "bone2": { + "rotation": { + "0.0": { + "vector": [27.5, 0, 0] + }, + "0.25": { + "vector": [-32.5, 0, 0] + }, + "0.5": { + "vector": [27.5, 0, 0] + }, + "0.75": { + "vector": [-32.5, 0, 0] + }, + "1.0": { + "vector": [27.5, 0, 0] + }, + "1.25": { + "vector": [-32.5, 0, 0] + }, + "1.5": { + "vector": [27.5, 0, 0] + }, + "1.75": { + "vector": [-32.5, 0, 0] + }, + "2.0": { + "vector": [27.5, 0, 0] + } + } + }, + "bone": { + "rotation": { + "0.0": { + "vector": [-26, 0, 0] + }, + "0.25": { + "vector": [31.5, 0, 0] + }, + "0.5": { + "vector": [-26, 0, 0] + }, + "0.75": { + "vector": [31.5, 0, 0] + }, + "1.0": { + "vector": [-26, 0, 0] + }, + "1.25": { + "vector": [31.5, 0, 0] + }, + "1.5": { + "vector": [-26, 0, 0] + }, + "1.75": { + "vector": [31.5, 0, 0] + }, + "2.0": { + "vector": [-26, 0, 0] + } + } + }, + "FAT": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.25": { + "vector": [1.01, 1, 1] + }, + "0.5": { + "vector": [1, 1, 1] + }, + "0.75": { + "vector": [1.01, 1, 1] + }, + "1.0": { + "vector": [1, 1, 1] + }, + "1.25": { + "vector": [1.01, 1, 1] + }, + "1.5": { + "vector": [1, 1, 1] + }, + "1.75": { + "vector": [1.01, 1, 1] + }, + "2.0": { + "vector": [1, 1, 1] + } + } + }, + "LARM": { + "rotation": { + "0.0": { + "vector": [-22.5, 0, 0] + }, + "0.25": { + "vector": [27.5, 0, 0] + }, + "0.5": { + "vector": [-22.5, 0, 0] + }, + "0.75": { + "vector": [27.5, 0, 0] + }, + "1.0": { + "vector": [-22.5, 0, 0] + }, + "1.25": { + "vector": [27.5, 0, 0] + }, + "1.5": { + "vector": [-22.5, 0, 0] + }, + "1.75": { + "vector": [27.5, 0, 0] + }, + "2.0": { + "vector": [-22.5, 0, 0] + } + }, + "position": { + "vector": [0, 0, 0] + } + } + } + } + }, + "geckolib_format_version": 2 +} \ No newline at end of file diff --git a/src/main/resources/assets/occultism/geo/entity/foliot_otherstone_trader.geo.json b/src/main/resources/assets/occultism/geo/entity/foliot_otherstone_trader.geo.json new file mode 100644 index 000000000..6a3810532 --- /dev/null +++ b/src/main/resources/assets/occultism/geo/entity/foliot_otherstone_trader.geo.json @@ -0,0 +1,109 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.foliot_otherstone_trader", + "texture_width": 32, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "All", + "pivot": [0, 0, 0] + }, + { + "name": "bone2", + "parent": "All", + "pivot": [-1.6, 4, 0], + "cubes": [ + {"origin": [-2.9, 1.2, -1], "size": [2.6, 3.1, 2], "uv": [0, 24]}, + {"origin": [-3, 0, -2.3], "size": [2.9, 2, 3.5], "uv": [16, 21]} + ] + }, + { + "name": "bone", + "parent": "All", + "pivot": [1.3, 3.9, 0], + "cubes": [ + {"origin": [0.3, 1.2, -1], "size": [2.6, 3.1, 2], "uv": [23, 10]}, + {"origin": [0.1, 0, -2.3], "size": [2.9, 2, 3.5], "uv": [18, 0]} + ] + }, + { + "name": "Torso", + "parent": "All", + "pivot": [0, 6, 0] + }, + { + "name": "FAT", + "parent": "Torso", + "pivot": [0, 0, 0], + "cubes": [ + {"origin": [-3, 4, -3], "size": [6, 6, 6], "uv": [0, 0]} + ] + }, + { + "name": "Head", + "parent": "Torso", + "pivot": [0, 11.4, -2], + "cubes": [ + {"origin": [-2, 9, -2], "size": [4, 4, 4], "uv": [11, 13]}, + { + "origin": [-1.5, 12, -1.5], + "size": [0.8, 2, 0.8], + "pivot": [-1, 13, -1.1], + "rotation": [16.93839, -4.46375, 14.33501], + "uv": { + "north": {"uv": [0, 0], "uv_size": [0, 2]}, + "east": {"uv": [0, 0], "uv_size": [0, 2]}, + "south": {"uv": [0, 0], "uv_size": [0, 2]}, + "west": {"uv": [0, 0], "uv_size": [0, 2]}, + "up": {"uv": [0, 0], "uv_size": [0, 0]}, + "down": {"uv": [0, 0], "uv_size": [0, 0]} + } + }, + {"origin": [0.7, 12, -1.5], "size": [0.8, 2, 0.8], "pivot": [1, 13, -1.1], "rotation": [16.93839, 4.46375, -14.33501], "uv": [0, 0]}, + {"origin": [-0.4, 11.3, -2.8], "size": [0.9, 0.6, 1.5], "pivot": [0, 11.4, -2], "rotation": [32.5, 0, 0], "uv": [1, 1]}, + {"origin": [1.6, 11.4, -0.5], "size": [0.4, 2, 1.5], "pivot": [2, 11.7, 0], "rotation": [-23.01667, 16.64946, 8.06026], "uv": [1, 1]}, + {"origin": [-2, 11.4, -0.5], "size": [0.4, 2, 1.5], "pivot": [-2, 11.7, 0], "rotation": [-23.01667, -16.64946, -8.06026], "uv": [1, 1], "mirror": true}, + { + "origin": [-2.1, 12.5, -3], + "size": [4.2, 0.9, 5.6], + "uv": { + "north": {"uv": [15, 11], "uv_size": [4, 0.55]}, + "east": {"uv": [10, 11], "uv_size": [5, 0.65]}, + "south": {"uv": [19, 11.5], "uv_size": [4, 0.35]}, + "west": {"uv": [19, 11], "uv_size": [5, 0.45]}, + "up": {"uv": [15, 6], "uv_size": [4, 5]}, + "down": {"uv": [19, 11], "uv_size": [4, -5]} + } + }, + {"origin": [-1.6, 13.3, -2.3], "size": [3.2, 1.6, 4.3], "uv": [10, 7]} + ] + }, + { + "name": "LARM", + "parent": "Torso", + "pivot": [-5, 8.3, -0.3], + "rotation": [-28, 0, 0], + "cubes": [ + {"origin": [-5, 4.08168, -1.07023], "size": [2, 5, 2], "pivot": [-3.5, 8.28168, -0.07023], "rotation": [-5.80701, -28.66486, 84.12044], "uv": [8, 21]}, + {"origin": [-7.2, 3.9, 0.6], "size": [4.5, 5.4, 0.4], "pivot": [-5, 8.3, -0.3], "rotation": [27.3564, -8.90065, -4.57681], "uv": [17, 26]} + ] + }, + { + "name": "RARM", + "parent": "Torso", + "pivot": [3, 8, 0], + "cubes": [ + {"origin": [3, 4, -1], "size": [2, 5, 2], "uv": [0, 17]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/occultism/geo/entity/foliot_sapling_trader.geo.json b/src/main/resources/assets/occultism/geo/entity/foliot_sapling_trader.geo.json new file mode 100644 index 000000000..ffc72fdb2 --- /dev/null +++ b/src/main/resources/assets/occultism/geo/entity/foliot_sapling_trader.geo.json @@ -0,0 +1,109 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.foliot_sapling_trader", + "texture_width": 32, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "All", + "pivot": [0, 0, 0] + }, + { + "name": "bone2", + "parent": "All", + "pivot": [-1.6, 4, 0], + "cubes": [ + {"origin": [-2.9, 1.2, -1], "size": [2.6, 3.1, 2], "uv": [0, 24]}, + {"origin": [-3, 0, -2.3], "size": [2.9, 2, 3.5], "uv": [16, 21]} + ] + }, + { + "name": "bone", + "parent": "All", + "pivot": [1.3, 3.9, 0], + "cubes": [ + {"origin": [0.3, 1.2, -1], "size": [2.6, 3.1, 2], "uv": [23, 10]}, + {"origin": [0.1, 0, -2.3], "size": [2.9, 2, 3.5], "uv": [18, 0]} + ] + }, + { + "name": "Torso", + "parent": "All", + "pivot": [0, 6, 0] + }, + { + "name": "FAT", + "parent": "Torso", + "pivot": [0, 0, 0], + "cubes": [ + {"origin": [-3, 4, -3], "size": [6, 6, 6], "uv": [0, 0]} + ] + }, + { + "name": "Head", + "parent": "Torso", + "pivot": [0, 11.4, -2], + "cubes": [ + {"origin": [-2, 9, -2], "size": [4, 4, 4], "uv": [11, 13]}, + { + "origin": [-1.5, 12, -1.5], + "size": [0.8, 2, 0.8], + "pivot": [-1, 13, -1.1], + "rotation": [16.93839, -4.46375, 14.33501], + "uv": { + "north": {"uv": [0, 0], "uv_size": [0, 2]}, + "east": {"uv": [0, 0], "uv_size": [0, 2]}, + "south": {"uv": [0, 0], "uv_size": [0, 2]}, + "west": {"uv": [0, 0], "uv_size": [0, 2]}, + "up": {"uv": [0, 0], "uv_size": [0, 0]}, + "down": {"uv": [0, 0], "uv_size": [0, 0]} + } + }, + {"origin": [0.7, 12, -1.5], "size": [0.8, 2, 0.8], "pivot": [1, 13, -1.1], "rotation": [16.93839, 4.46375, -14.33501], "uv": [0, 0]}, + {"origin": [-0.4, 11.3, -2.8], "size": [0.9, 0.6, 1.5], "pivot": [0, 11.4, -2], "rotation": [32.5, 0, 0], "uv": [1, 1]}, + {"origin": [1.6, 11.4, -0.5], "size": [0.4, 2, 1.5], "pivot": [2, 11.7, 0], "rotation": [-23.01667, 16.64946, 8.06026], "uv": [1, 1]}, + {"origin": [-2, 11.4, -0.5], "size": [0.4, 2, 1.5], "pivot": [-2, 11.7, 0], "rotation": [-23.01667, -16.64946, -8.06026], "uv": [1, 1], "mirror": true}, + { + "origin": [-2.1, 12.5, -3], + "size": [4.2, 0.9, 5.6], + "uv": { + "north": {"uv": [15, 11], "uv_size": [4, 0.55]}, + "east": {"uv": [10, 11], "uv_size": [5, 0.65]}, + "south": {"uv": [19, 11.5], "uv_size": [4, 0.35]}, + "west": {"uv": [19, 11], "uv_size": [5, 0.45]}, + "up": {"uv": [15, 6], "uv_size": [4, 5]}, + "down": {"uv": [19, 11], "uv_size": [4, -5]} + } + }, + {"origin": [-1.6, 13.3, -2.3], "size": [3.2, 1.6, 4.3], "uv": [10, 7]} + ] + }, + { + "name": "LARM", + "parent": "Torso", + "pivot": [-5, 8.3, -0.3], + "rotation": [-28, 0, 0], + "cubes": [ + {"origin": [-5, 4.08168, -1.07023], "size": [2, 5, 2], "pivot": [-3.5, 8.28168, -0.07023], "rotation": [-5.80701, -28.66486, 84.12044], "uv": [8, 21]}, + {"origin": [-7.2, 3.9, 0.6], "size": [4.5, 5.4, 0.4], "pivot": [-5, 8.3, -0.3], "rotation": [27.3564, -8.90065, -4.57681], "uv": [17, 26]} + ] + }, + { + "name": "RARM", + "parent": "Torso", + "pivot": [3, 8, 0], + "cubes": [ + {"origin": [3, 4, -1], "size": [2, 5, 2], "uv": [0, 17]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/occultism/textures/entity/foliot_otherstone_trader.png b/src/main/resources/assets/occultism/textures/entity/foliot_otherstone_trader.png new file mode 100644 index 000000000..851885719 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/entity/foliot_otherstone_trader.png differ diff --git a/src/main/resources/assets/occultism/textures/entity/foliot_sapling_trader.png b/src/main/resources/assets/occultism/textures/entity/foliot_sapling_trader.png new file mode 100644 index 000000000..51dc6bc69 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/entity/foliot_sapling_trader.png differ