Merge branch 'cosmo-main'
3
.vscode/settings.json
vendored
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"java.configuration.updateBuildConfiguration": "automatic",
|
||||
"java.compile.nullAnalysis.mode": "automatic"
|
||||
"java.compile.nullAnalysis.mode": "automatic",
|
||||
"java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx2G -Xms100m -Xlog:disable"
|
||||
}
|
||||
13
CHANGELOG
@@ -1,3 +1,12 @@
|
||||
# Changes
|
||||
- changed namespace of 'monarchpowers' directory to 'monarch-powers' to fit convention.
|
||||
- added 'farmland' to list of blocks that the Blight will turn to coarse dirt upon stepping on it.
|
||||
## 1.20.1-1.0.6
|
||||
- Fixed bug which caused the Monarch's solar energy to not be functional.
|
||||
- Changed texture of the cotton crop.
|
||||
- Changed texture of the cotton ball.
|
||||
- Added Item "Ghostly Cloth".
|
||||
- Renamed java class "sun_totem" to "sunTotem" to fit convention.
|
||||
- added robes
|
||||
- added the munch
|
||||
- mobs are now passive to florian
|
||||
- registered items related to ghostly armour
|
||||
- added a model for ghostly armour
|
||||
21
build.gradle
@@ -1,5 +1,5 @@
|
||||
plugins {
|
||||
id 'fabric-loom' version '1.5-SNAPSHOT'
|
||||
id 'fabric-loom' version '1.9-SNAPSHOT'
|
||||
id 'maven-publish'
|
||||
}
|
||||
|
||||
@@ -32,6 +32,21 @@ repositories {
|
||||
name "jitpack"
|
||||
url "https://jitpack.io"
|
||||
}
|
||||
maven {
|
||||
name = 'GeckoLib'
|
||||
url 'https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/'
|
||||
content {
|
||||
includeGroup("software.bernie.geckolib")
|
||||
}
|
||||
}
|
||||
maven {
|
||||
name = 'GeckoLib'
|
||||
url 'https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/'
|
||||
content {
|
||||
includeGroupByRegex("software\\.bernie.*")
|
||||
includeGroup("com.eliotlash.mclib")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@@ -40,12 +55,16 @@ dependencies {
|
||||
|
||||
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
||||
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
||||
|
||||
modImplementation "com.terraformersmc:modmenu:${project.modmenu_version}"
|
||||
|
||||
modImplementation "com.github.apace100:origins-fabric:${project.origins_version}"
|
||||
modImplementation "com.github.apace100:apoli:${project.apoli_version}"
|
||||
modApi("com.github.Virtuoel:Pehkui:${pehkui_version}", {
|
||||
exclude group: "net.fabricmc.fabric-api"
|
||||
})
|
||||
modImplementation("software.bernie.geckolib:geckolib-fabric-${minecraft_version}:${geckolib_version}")
|
||||
implementation("com.eliotlash.mclib:mclib:20")
|
||||
}
|
||||
|
||||
processResources {
|
||||
|
||||
@@ -4,16 +4,17 @@ org.gradle.jvmargs=-Xmx2G
|
||||
# Fabric Properties
|
||||
minecraft_version=1.20.1
|
||||
yarn_mappings=1.20.1+build.10
|
||||
loader_version=0.15.6
|
||||
loader_version=0.16.10
|
||||
|
||||
# Mod Properties
|
||||
mod_version=1.20.1-1.0.5
|
||||
mod_version=1.20.1-1.0.6
|
||||
maven_group=com.smithy
|
||||
archives_base_name=TerraOriginum
|
||||
|
||||
# Dependencies
|
||||
fabric_version=0.91.0+1.20.1
|
||||
fabric_version=0.92.3+1.20.1
|
||||
modmenu_version=7.2.2
|
||||
pehkui_version=3.7.8
|
||||
origins_version=v1.10.0
|
||||
apoli_version=2.9.0
|
||||
geckolib_version=4.7
|
||||
|
||||
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,5 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
||||
@@ -2,11 +2,10 @@ package com.smithy.terraoriginum;
|
||||
|
||||
import com.smithy.terraoriginum.blocks.cottonCropBlock;
|
||||
import com.smithy.terraoriginum.blocks.crucifix;
|
||||
import com.smithy.terraoriginum.items.iconItems;
|
||||
import com.smithy.terraoriginum.items.sun_totem;
|
||||
import com.smithy.terraoriginum.items.cottonItems;
|
||||
import com.smithy.terraoriginum.items.umbrella;
|
||||
import com.smithy.terraoriginum.items.*;
|
||||
import com.smithy.terraoriginum.registry.modEnchantments;
|
||||
import com.smithy.terraoriginum.registry.modPowers;
|
||||
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
|
||||
import net.minecraft.item.ItemGroups;
|
||||
@@ -27,10 +26,13 @@ public class TerraOriginum implements ModInitializer {
|
||||
crucifix.register();
|
||||
cottonCropBlock.register();
|
||||
cottonItems.register();
|
||||
sun_totem.register();
|
||||
sunTotem.register();
|
||||
ghostlyItems.register();
|
||||
ghostlyArmourItems.register();
|
||||
modPowers.register();
|
||||
|
||||
ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS).register((content) -> content.add(umbrella.UMBRELLA));
|
||||
ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS).register((content) -> content.add(sun_totem.SUN_TOTEM));
|
||||
ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS).register((content) -> content.add(sunTotem.SUN_TOTEM));
|
||||
ItemGroupEvents.modifyEntriesEvent(ItemGroups.FUNCTIONAL).register((content) -> content.add(crucifix.CRUCIFIX));
|
||||
ItemGroupEvents.modifyEntriesEvent(ItemGroups.NATURAL).register((content) -> content.add(cottonItems.COTTON_SEEDS));
|
||||
ItemGroupEvents.modifyEntriesEvent(ItemGroups.INGREDIENTS).register((content) -> content.add(cottonItems.COTTON_BALL));
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.smithy.terraoriginum.client;
|
||||
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
|
||||
public class TerraOriginumClient implements ClientModInitializer {
|
||||
|
||||
|
||||
@Override
|
||||
public void onInitializeClient() {
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.smithy.terraoriginum.client.armour;
|
||||
|
||||
import com.smithy.terraoriginum.items.ghostlyArmour;
|
||||
import net.minecraft.util.Identifier;
|
||||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class ghostlyArmourModel extends GeoModel<ghostlyArmour> {
|
||||
|
||||
@Override
|
||||
public Identifier getModelResource(ghostlyArmour animatable) {
|
||||
return new Identifier("terraoriginum", "geo/ghostly_armour.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identifier getTextureResource(ghostlyArmour animatable) {
|
||||
return new Identifier("terraoriginum", "textures/models/armor/ghost_armour_model_texture");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identifier getAnimationResource(ghostlyArmour animatable) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.smithy.terraoriginum.client.armour;
|
||||
|
||||
import com.smithy.terraoriginum.TerraOriginum;
|
||||
import com.smithy.terraoriginum.items.ghostlyArmour;
|
||||
import net.minecraft.util.Identifier;
|
||||
import software.bernie.geckolib.GeckoLib;
|
||||
import software.bernie.geckolib.model.DefaultedItemGeoModel;
|
||||
import software.bernie.geckolib.renderer.GeoArmorRenderer;
|
||||
|
||||
public class ghostlyArmourRenderer extends GeoArmorRenderer<ghostlyArmour> {
|
||||
|
||||
public ghostlyArmourRenderer() {
|
||||
super(new DefaultedItemGeoModel<>(new Identifier(TerraOriginum.MOD_ID, "armor/ghost_armour")));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
package com.smithy.terraoriginum.customMaterials;
|
||||
|
||||
import net.minecraft.item.ArmorItem;
|
||||
import net.minecraft.item.ArmorMaterial;
|
||||
import net.minecraft.recipe.Ingredient;
|
||||
import net.minecraft.sound.SoundEvent;
|
||||
import net.minecraft.sound.SoundEvents;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import com.smithy.terraoriginum.TerraOriginum;
|
||||
import com.smithy.terraoriginum.items.cottonItems;
|
||||
|
||||
public enum robesMaterial implements ArmorMaterial {
|
||||
ROBES("robes", 42, new int[] { 4, 9, 7, 4 }, 19,
|
||||
SoundEvents.ITEM_ARMOR_EQUIP_NETHERITE, 5, 0.1f, () -> Ingredient.ofItems(cottonItems.COTTON_BALL));
|
||||
|
||||
private final String name;
|
||||
private final int durabilityMultiplier;
|
||||
private final int[] protectionAmounts;
|
||||
private final int enchantability;
|
||||
private final SoundEvent equipSound;
|
||||
private final float toughness;
|
||||
private final float knockbackResistance;
|
||||
private final Supplier<Ingredient> repairIngredient;
|
||||
|
||||
private static final int[] BASE_DURABILITY = { 11, 16, 15, 13 };
|
||||
|
||||
robesMaterial(
|
||||
String name,
|
||||
int durabilityMultiplier,
|
||||
int[] protectionAmounts,
|
||||
int enchantability,
|
||||
SoundEvent equipSound,
|
||||
float toughness,
|
||||
float knockbackResistance,
|
||||
Supplier<Ingredient> repairIngredient
|
||||
) {
|
||||
|
||||
this.name = name;
|
||||
this.durabilityMultiplier = durabilityMultiplier;
|
||||
this.protectionAmounts = protectionAmounts;
|
||||
this.enchantability = enchantability;
|
||||
this.equipSound = equipSound;
|
||||
this.toughness = toughness;
|
||||
this.knockbackResistance = knockbackResistance;
|
||||
this.repairIngredient = repairIngredient;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDurability(ArmorItem.Type type) {
|
||||
return BASE_DURABILITY[type.ordinal()] * this.durabilityMultiplier;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getProtection(ArmorItem.Type type) {
|
||||
return protectionAmounts[type.ordinal()];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEnchantability() {
|
||||
return this.enchantability;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SoundEvent getEquipSound() {
|
||||
return this.equipSound;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Ingredient getRepairIngredient() {
|
||||
return this.repairIngredient.get();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return TerraOriginum.MOD_ID + ":" + this.name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getToughness() {
|
||||
return this.toughness;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getKnockbackResistance() {
|
||||
return this.knockbackResistance;
|
||||
}
|
||||
}
|
||||
108
src/main/java/com/smithy/terraoriginum/items/ghostlyArmour.java
Normal file
@@ -0,0 +1,108 @@
|
||||
package com.smithy.terraoriginum.items;
|
||||
|
||||
import com.smithy.terraoriginum.client.armour.ghostlyArmourRenderer;
|
||||
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
||||
import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet;
|
||||
import net.minecraft.client.render.entity.model.BipedEntityModel;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.decoration.ArmorStandEntity;
|
||||
import net.minecraft.item.ArmorItem;
|
||||
import net.minecraft.item.ArmorMaterial;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import software.bernie.example.client.renderer.armor.GeckoArmorRenderer;
|
||||
import software.bernie.geckolib.animatable.GeoItem;
|
||||
import software.bernie.geckolib.animatable.client.RenderProvider;
|
||||
import software.bernie.geckolib.constant.DataTickets;
|
||||
import software.bernie.geckolib.constant.DefaultAnimations;
|
||||
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
|
||||
import software.bernie.geckolib.core.animation.AnimatableManager;
|
||||
import software.bernie.geckolib.core.animation.AnimationController;
|
||||
import software.bernie.geckolib.core.object.PlayState;
|
||||
import software.bernie.geckolib.renderer.GeoArmorRenderer;
|
||||
import software.bernie.geckolib.util.GeckoLibUtil;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class ghostlyArmour extends ArmorItem implements GeoItem {
|
||||
|
||||
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
|
||||
private final Supplier<Object> renderProvider = GeoItem.makeRenderer(this);
|
||||
|
||||
public ghostlyArmour(ArmorMaterial armorMaterial, ArmorItem.Type type, Settings properties) {
|
||||
super(armorMaterial, type, properties);
|
||||
}
|
||||
|
||||
// Create our armor model/renderer for Fabric and return it
|
||||
@Override
|
||||
public void createRenderer(Consumer<Object> consumer) {
|
||||
consumer.accept(new RenderProvider() {
|
||||
private GeoArmorRenderer<?> renderer;
|
||||
|
||||
@Override
|
||||
public BipedEntityModel<LivingEntity> getHumanoidArmorModel(LivingEntity livingEntity, ItemStack itemStack, EquipmentSlot equipmentSlot, BipedEntityModel<LivingEntity> original) {
|
||||
if (this.renderer == null)
|
||||
this.renderer = new ghostlyArmourRenderer();
|
||||
|
||||
// This prepares our GeoArmorRenderer for the current render frame.
|
||||
// These parameters may be null however, so we don't do anything further with them
|
||||
this.renderer.prepForRender(livingEntity, itemStack, equipmentSlot, original);
|
||||
|
||||
return this.renderer;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Supplier<Object> getRenderProvider() {
|
||||
return this.renderProvider;
|
||||
}
|
||||
|
||||
// Let's add our animation controller
|
||||
@Override
|
||||
public void registerControllers(AnimatableManager.ControllerRegistrar controllers) {
|
||||
controllers.add(new AnimationController<>(this, 20, state -> {
|
||||
// Apply our generic idle animation.
|
||||
// Whether it plays or not is decided down below
|
||||
|
||||
// Let's gather some data from the state to use below
|
||||
// This is the entity that is currently wearing/holding the item
|
||||
Entity entity = state.getData(DataTickets.ENTITY);
|
||||
|
||||
// We'll just have ArmorStands always animate, so we can return here
|
||||
if (entity instanceof ArmorStandEntity)
|
||||
return PlayState.CONTINUE;
|
||||
|
||||
// For this example, we only want the animation to play if the entity is wearing all pieces of the armor
|
||||
// Let's collect the armor pieces the entity is currently wearing
|
||||
Set<Item> wornArmor = new ObjectOpenHashSet<>();
|
||||
|
||||
for (ItemStack stack : entity.getArmorItems()) {
|
||||
// We can stop immediately if any of the slots are empty
|
||||
if (stack.isEmpty())
|
||||
return PlayState.STOP;
|
||||
|
||||
wornArmor.add(stack.getItem());
|
||||
}
|
||||
|
||||
// Check each of the pieces match our set
|
||||
boolean isFullSet = wornArmor.containsAll(ObjectArrayList.of(
|
||||
ghostlyArmourItems.GHOSTLY_BOOTS,
|
||||
ghostlyArmourItems.GHOSTLY_LEGGING,
|
||||
ghostlyArmourItems.GHOSTLY_CHESTPLATE,
|
||||
ghostlyArmourItems.GHOSTLY_HELMET));
|
||||
|
||||
// Play the animation if the full set is being worn, otherwise stop
|
||||
return isFullSet ? PlayState.CONTINUE : PlayState.STOP;
|
||||
}));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AnimatableInstanceCache getAnimatableInstanceCache() {
|
||||
return this.cache;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.smithy.terraoriginum.items;
|
||||
|
||||
import com.smithy.terraoriginum.TerraOriginum;
|
||||
import com.smithy.terraoriginum.customMaterials.robesMaterial;
|
||||
|
||||
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
|
||||
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
|
||||
import net.minecraft.item.ArmorItem;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemGroups;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.Rarity;
|
||||
|
||||
public class ghostlyArmourItems {
|
||||
|
||||
public static final Item GHOSTLY_HELMET = new ghostlyArmour(robesMaterial.ROBES, ArmorItem.Type.HELMET, new FabricItemSettings().rarity(Rarity.EPIC));
|
||||
public static final Item GHOSTLY_CHESTPLATE = new ghostlyArmour(robesMaterial.ROBES, ArmorItem.Type.CHESTPLATE, new FabricItemSettings().rarity(Rarity.EPIC));
|
||||
public static final Item GHOSTLY_LEGGING = new ghostlyArmour(robesMaterial.ROBES, ArmorItem.Type.LEGGINGS, new FabricItemSettings().rarity(Rarity.EPIC));
|
||||
public static final Item GHOSTLY_BOOTS = new ghostlyArmour(robesMaterial.ROBES, ArmorItem.Type.BOOTS, new FabricItemSettings().rarity(Rarity.EPIC));
|
||||
|
||||
public static void register() {
|
||||
Registry.register(Registries.ITEM, new Identifier(TerraOriginum.MOD_ID, "ghostly_helmet"), GHOSTLY_HELMET);
|
||||
Registry.register(Registries.ITEM, new Identifier(TerraOriginum.MOD_ID, "ghostly_chestplate"), GHOSTLY_CHESTPLATE);
|
||||
Registry.register(Registries.ITEM, new Identifier(TerraOriginum.MOD_ID, "ghostly_leggings"), GHOSTLY_LEGGING);
|
||||
Registry.register(Registries.ITEM, new Identifier(TerraOriginum.MOD_ID, "ghostly_boots"), GHOSTLY_BOOTS);
|
||||
|
||||
ItemGroupEvents.modifyEntriesEvent(ItemGroups.COMBAT).register((content) -> content.add(GHOSTLY_HELMET));
|
||||
ItemGroupEvents.modifyEntriesEvent(ItemGroups.COMBAT).register((content) -> content.add(GHOSTLY_CHESTPLATE));
|
||||
ItemGroupEvents.modifyEntriesEvent(ItemGroups.COMBAT).register((content) -> content.add(GHOSTLY_LEGGING));
|
||||
ItemGroupEvents.modifyEntriesEvent(ItemGroups.COMBAT).register((content) -> content.add(GHOSTLY_BOOTS));
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.smithy.terraoriginum.items;
|
||||
|
||||
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class ghostlyItems {
|
||||
|
||||
public static final Item GHOSTLY_CLOTH = new Item(new FabricItemSettings());
|
||||
|
||||
public static void register() {
|
||||
|
||||
Registry.register(Registries.ITEM, new Identifier("terraoriginum", "ghostly_cloth"), GHOSTLY_CLOTH);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -11,10 +11,12 @@ public class iconItems {
|
||||
|
||||
public static final Item MYNC_EYE = new Item(new Item.Settings().maxCount(1).rarity(Rarity.EPIC));
|
||||
public static final Item SPIRIT = new Item(new Item.Settings().maxCount(1).rarity(Rarity.EPIC));
|
||||
public static final Item TINY = new Item(new Item.Settings().maxCount(1).rarity(Rarity.EPIC));
|
||||
|
||||
public static void register() {
|
||||
Registry.register(Registries.ITEM, new Identifier(TerraOriginum.MOD_ID, "mync_eye"), MYNC_EYE);
|
||||
Registry.register(Registries.ITEM, new Identifier(TerraOriginum.MOD_ID, "spirit"), SPIRIT);
|
||||
Registry.register(Registries.ITEM, new Identifier(TerraOriginum.MOD_ID, "tiny"), TINY);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.Rarity;
|
||||
|
||||
public class sun_totem {
|
||||
public class sunTotem {
|
||||
|
||||
public static final Item SUN_TOTEM = new Item(new Item.Settings().maxCount(1).rarity(Rarity.EPIC));
|
||||
|
||||
@@ -1,15 +1,21 @@
|
||||
package com.smithy.terraoriginum.mixin;
|
||||
|
||||
import com.smithy.terraoriginum.items.umbrella;
|
||||
import com.smithy.terraoriginum.power.preventBlockSlowness;
|
||||
|
||||
import io.github.apace100.apoli.component.PowerHolderComponent;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Box;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.world.World;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
@Mixin(Entity.class)
|
||||
@@ -33,6 +39,14 @@ public abstract class EntityMixin {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Inject(method = "slowMovement", at = @At("HEAD"), cancellable = true)
|
||||
private void terraoriginum$preventBlockSlowness(BlockState state, Vec3d multiplier, CallbackInfo ci) {
|
||||
for (preventBlockSlowness power : PowerHolderComponent.getPowers((Entity) (Object) this, preventBlockSlowness.class)) {
|
||||
if (power.isActive()) {
|
||||
ci.cancel();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.smithy.terraoriginum.mixin;
|
||||
|
||||
import io.github.apace100.apoli.component.PowerHolderComponent;
|
||||
import net.minecraft.block.PowderSnowBlock;
|
||||
import net.minecraft.entity.Entity;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
import com.smithy.terraoriginum.power.canStandOnPowderSnow;
|
||||
|
||||
@Mixin(PowderSnowBlock.class)
|
||||
public class PowderSnowBlockMixin {
|
||||
@Inject(method = "canWalkOnPowderSnow", at = @At("HEAD"), cancellable = true)
|
||||
private static void terraoriginum$canStandOnPowderSnow(Entity entity, CallbackInfoReturnable<Boolean> cir) {
|
||||
for (canStandOnPowderSnow canStandOnPowderSnowPower : PowerHolderComponent.getPowers(entity, canStandOnPowderSnow.class)) {
|
||||
if (canStandOnPowderSnowPower.isActive()) {
|
||||
cir.setReturnValue(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.smithy.terraoriginum.power;
|
||||
|
||||
import io.github.apace100.apoli.power.Power;
|
||||
import io.github.apace100.apoli.power.PowerType;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
|
||||
public class canStandOnPowderSnow extends Power {
|
||||
public canStandOnPowderSnow(PowerType<?> type, LivingEntity entity) {
|
||||
super(type, entity);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.smithy.terraoriginum.power;
|
||||
|
||||
import io.github.apace100.apoli.power.Power;
|
||||
import io.github.apace100.apoli.power.PowerType;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
|
||||
public class preventBlockSlowness extends Power {
|
||||
public preventBlockSlowness(PowerType<?> type, LivingEntity entity) {
|
||||
super(type, entity);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.smithy.terraoriginum.registry;
|
||||
|
||||
import com.smithy.terraoriginum.TerraOriginum;
|
||||
import com.smithy.terraoriginum.power.canStandOnPowderSnow;
|
||||
import com.smithy.terraoriginum.power.preventBlockSlowness;
|
||||
|
||||
import io.github.apace100.apoli.power.factory.PowerFactory;
|
||||
import io.github.apace100.apoli.registry.ApoliRegistries;
|
||||
import io.github.apace100.calio.data.SerializableData;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class modPowers {
|
||||
|
||||
public static final PowerFactory<?> CAN_WALK_ON_POWDER_SNOW = new PowerFactory<>( new Identifier(TerraOriginum.MOD_ID, "can_walk_on_powder_snow"), new SerializableData(), data -> (type, entity) -> new canStandOnPowderSnow(type, entity)).allowCondition();
|
||||
public static final PowerFactory<?> PREVENT_BLOCK_SLOWNESS = new PowerFactory<>(new Identifier(TerraOriginum.MOD_ID, "prevent_block_slowness"), new SerializableData(), data -> (type, entity) -> new preventBlockSlowness(type, entity)).allowCondition();
|
||||
|
||||
|
||||
public static void register() {
|
||||
Registry.register(ApoliRegistries.POWER_FACTORY, CAN_WALK_ON_POWDER_SNOW.getSerializerId(), CAN_WALK_ON_POWDER_SNOW);
|
||||
Registry.register(ApoliRegistries.POWER_FACTORY, PREVENT_BLOCK_SLOWNESS.getSerializerId(), PREVENT_BLOCK_SLOWNESS);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"format_version": "1.8.0",
|
||||
"animations": {
|
||||
"walk": {
|
||||
"loop": "hold_on_last_frame",
|
||||
"animation_length": 0.25,
|
||||
"bones": {
|
||||
"torsoEnd": {
|
||||
"rotation": {
|
||||
"0.0": {
|
||||
"vector": [0, 0, 0],
|
||||
"easing": "linear"
|
||||
},
|
||||
"0.25": {
|
||||
"vector": [20, 0, 0],
|
||||
"easing": "linear"
|
||||
}
|
||||
},
|
||||
"position": {
|
||||
"0.0": {
|
||||
"vector": [0, 0, 0],
|
||||
"easing": "linear"
|
||||
},
|
||||
"0.25": {
|
||||
"vector": [0, -2, -3],
|
||||
"easing": "linear"
|
||||
}
|
||||
}
|
||||
},
|
||||
"bandanaEnd": {
|
||||
"rotation": {
|
||||
"0.0": {
|
||||
"vector": [0, 0, 0],
|
||||
"easing": "linear"
|
||||
},
|
||||
"0.25": {
|
||||
"vector": [20, 0, 0],
|
||||
"easing": "linear"
|
||||
}
|
||||
},
|
||||
"position": {
|
||||
"0.0": {
|
||||
"vector": [0, 0, 0],
|
||||
"easing": "linear"
|
||||
},
|
||||
"0.25": {
|
||||
"vector": [0, -2, 1],
|
||||
"easing": "linear"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sprint": {
|
||||
"loop": "hold_on_last_frame",
|
||||
"animation_length": 0.25,
|
||||
"bones": {
|
||||
"bandanaEnd": {
|
||||
"rotation": {
|
||||
"0.0": {
|
||||
"vector": [0, 0, 0],
|
||||
"easing": "linear"
|
||||
},
|
||||
"0.25": {
|
||||
"vector": [55, 0, 0],
|
||||
"easing": "linear"
|
||||
}
|
||||
},
|
||||
"position": {
|
||||
"0.0": {
|
||||
"vector": [0, 0, 0],
|
||||
"easing": "linear"
|
||||
},
|
||||
"0.25": {
|
||||
"vector": [0, -4, 4],
|
||||
"easing": "linear"
|
||||
}
|
||||
}
|
||||
},
|
||||
"torsoEnd": {
|
||||
"rotation": {
|
||||
"0.0": {
|
||||
"vector": [0, 0, 0],
|
||||
"easing": "linear"
|
||||
},
|
||||
"0.25": {
|
||||
"vector": [50, 0, 0],
|
||||
"easing": "linear"
|
||||
}
|
||||
},
|
||||
"position": {
|
||||
"0.0": {
|
||||
"vector": [0, 0, 0],
|
||||
"easing": "linear"
|
||||
},
|
||||
"0.25": {
|
||||
"vector": [0, -6, -5],
|
||||
"easing": "linear"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"idle": {
|
||||
"animation_length": 3,
|
||||
"bones": {
|
||||
"bandanaEnd": {
|
||||
"rotation": {
|
||||
"0.0": {
|
||||
"vector": [0, 0, 0],
|
||||
"easing": "linear"
|
||||
},
|
||||
"1.5": {
|
||||
"vector": [2.5, 0, 0],
|
||||
"easing": "linear"
|
||||
},
|
||||
"3.0": {
|
||||
"vector": [0, 0, 0],
|
||||
"easing": "linear"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"geckolib_format_version": 2
|
||||
}
|
||||
@@ -4,25 +4,25 @@
|
||||
"model": "terraoriginum:block/cotton_crop_stage0"
|
||||
},
|
||||
"age=1": {
|
||||
"model": "terraoriginum:block/cotton_crop_stage0"
|
||||
"model": "terraoriginum:block/cotton_crop_stage1"
|
||||
},
|
||||
"age=2": {
|
||||
"model": "terraoriginum:block/cotton_crop_stage1"
|
||||
},
|
||||
"age=3": {
|
||||
"model": "terraoriginum:block/cotton_crop_stage1"
|
||||
"model": "terraoriginum:block/cotton_crop_stage2"
|
||||
},
|
||||
"age=4": {
|
||||
"model": "terraoriginum:block/cotton_crop_stage2"
|
||||
"model": "terraoriginum:block/cotton_crop_stage3"
|
||||
},
|
||||
"age=5": {
|
||||
"model": "terraoriginum:block/cotton_crop_stage2"
|
||||
"model": "terraoriginum:block/cotton_crop_stage3"
|
||||
},
|
||||
"age=6": {
|
||||
"model": "terraoriginum:block/cotton_crop_stage2"
|
||||
"model": "terraoriginum:block/cotton_crop_stage4"
|
||||
},
|
||||
"age=7": {
|
||||
"model": "terraoriginum:block/cotton_crop_stage3"
|
||||
"model": "terraoriginum:block/cotton_crop_stage5"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,135 @@
|
||||
{
|
||||
"format_version": "1.12.0",
|
||||
"minecraft:geometry": [
|
||||
{
|
||||
"description": {
|
||||
"identifier": "geometry.ghost_armour",
|
||||
"texture_width": 128,
|
||||
"texture_height": 128,
|
||||
"visible_bounds_width": 3,
|
||||
"visible_bounds_height": 3.5,
|
||||
"visible_bounds_offset": [0, 1.25, 0]
|
||||
},
|
||||
"bones": [
|
||||
{
|
||||
"name": "bipedHead",
|
||||
"pivot": [0, 24, 0]
|
||||
},
|
||||
{
|
||||
"name": "armorHead",
|
||||
"parent": "bipedHead",
|
||||
"pivot": [0, 24, 0],
|
||||
"cubes": [
|
||||
{"origin": [-5, 24, -5], "size": [10, 9, 10], "uv": [0, 16]},
|
||||
{"origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [32, 35]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "bandana",
|
||||
"parent": "armorHead",
|
||||
"pivot": [0, 24, 0],
|
||||
"cubes": [
|
||||
{"origin": [-6, 23, -6], "size": [12, 4, 12], "uv": [0, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "bandanaEnd",
|
||||
"parent": "armorHead",
|
||||
"pivot": [0, 24, 0],
|
||||
"cubes": [
|
||||
{"origin": [-4, 15, 6], "size": [3, 11, 0], "pivot": [-3, 24, 7], "rotation": [7.5, 0, 0], "uv": [72, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "bipedBody",
|
||||
"pivot": [0, 24, 0]
|
||||
},
|
||||
{
|
||||
"name": "armorBody",
|
||||
"parent": "bipedBody",
|
||||
"pivot": [0, 24, 0]
|
||||
},
|
||||
{
|
||||
"name": "torso",
|
||||
"parent": "armorBody",
|
||||
"pivot": [0, 24, 0],
|
||||
"cubes": [
|
||||
{"origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [40, 16]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "torsoEnd",
|
||||
"parent": "armorBody",
|
||||
"pivot": [0, 24, 0],
|
||||
"cubes": [
|
||||
{"origin": [1, 7, 3], "size": [2, 10, 0], "pivot": [2, 15, 2], "rotation": [5, 0, 0], "uv": [76, 65]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "bipedRightArm",
|
||||
"pivot": [-4, 22, 0]
|
||||
},
|
||||
{
|
||||
"name": "armorRightArm",
|
||||
"parent": "bipedRightArm",
|
||||
"pivot": [-4, 22, 0],
|
||||
"cubes": [
|
||||
{"origin": [-9, 12, -3], "size": [5, 13, 6], "uv": [0, 51]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "bipedLeftArm",
|
||||
"pivot": [4, 22, 0]
|
||||
},
|
||||
{
|
||||
"name": "armorLeftArm",
|
||||
"parent": "bipedLeftArm",
|
||||
"pivot": [4, 22, 0],
|
||||
"cubes": [
|
||||
{"origin": [4, 12, -3], "size": [5, 13, 6], "uv": [22, 51]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "bipedLeftLeg",
|
||||
"pivot": [2, 12, 0]
|
||||
},
|
||||
{
|
||||
"name": "armorLeftLeg",
|
||||
"parent": "bipedLeftLeg",
|
||||
"pivot": [2, 12, 0],
|
||||
"cubes": [
|
||||
{"origin": [0, 4, -3], "size": [5, 9, 6], "uv": [44, 51]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "armorLeftBoot",
|
||||
"parent": "bipedLeftLeg",
|
||||
"pivot": [2, 12, 0],
|
||||
"cubes": [
|
||||
{"origin": [0, 0, -3], "size": [5, 4, 6], "uv": [0, 70]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "bipedRightLeg",
|
||||
"pivot": [-2, 12, 0]
|
||||
},
|
||||
{
|
||||
"name": "armorRightLeg",
|
||||
"parent": "bipedRightLeg",
|
||||
"pivot": [-2, 12, 0],
|
||||
"cubes": [
|
||||
{"origin": [-5, 4, -3], "size": [5, 9, 6], "uv": [64, 34]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "armorRightBoot",
|
||||
"parent": "bipedRightLeg",
|
||||
"pivot": [-2, 12, 0],
|
||||
"cubes": [
|
||||
{"origin": [-5, 0, -3], "size": [5, 4, 6], "uv": [22, 70]}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,24 +2,24 @@
|
||||
//-----Icon Items-----//
|
||||
"item.terraoriginum.mync_eye": "Mync Eye",
|
||||
"item.terraoriginum.spirit": "Spirit",
|
||||
"item.terraoriginum.umbrella": "Umbrella",
|
||||
|
||||
//-----shit i cant be assed to categorise-----/
|
||||
"item.terraoriginum.umbrella": "Umbrella",
|
||||
"item.terraoriginum.cotton_seeds": "Cotton Seeds",
|
||||
"item.terraoriginum.cotton_ball": "Cotton ball",
|
||||
|
||||
"item.terraoriginum.ghostly_cloth": "Ghostly Cloth",
|
||||
"item.terraoriginum.sun_totem": "Sun Totem",
|
||||
|
||||
"death.attack.lack_of_ectoplasm": "%1$s faded away",
|
||||
"death.attack.lack_of_ectoplasm.player": "%1$s faded away whilst trying to escape %2$s",
|
||||
|
||||
"death.attack.lack_of_sun": "%1$s fell apart",
|
||||
"death.attack.lack_of_sun.player": "%1$s fell apart whilst fighting %2$s",
|
||||
|
||||
"death.attack.boiling": "%1$s boiled up",
|
||||
"death.attack.boiling.player": "%1$s boiled up whilst trying to fight off %2$s",
|
||||
|
||||
"enchantment.terraoriginum.sun_protection": "Sun Protection",
|
||||
"item.terraoriginum.ghostly_helmet": "Ghostly Hood",
|
||||
"item.terraoriginum.ghostly_chestplate": "Ghostly Robe",
|
||||
"item.terraoriginum.ghostly_leggings": "Ghostly Pants",
|
||||
"item.terraoriginum.ghostly_boots": "Ghostly Socks",
|
||||
|
||||
//-----Immortal Human-----//
|
||||
"origin.terraoriginum.immortal_human.name": "Immortal Human",
|
||||
@@ -150,7 +150,6 @@
|
||||
"power.terraoriginum.mync-powers/mync_echolocate.description": "Use your [Tab button] to make a sound to figure out how your surrounding area looks like. Nearby wool will stop this from working, but you can use a night vision potion to get it to work permanently.",
|
||||
"power.terraoriginum.mync-powers/mync_strong.name": "Strong",
|
||||
"power.terraoriginum.mync-powers/mync_strong.description": "You do more damage than regular people.",
|
||||
|
||||
"death.attack.terraoriginum:burn_in_sun": "%1$s sizzled up in the sun.",
|
||||
"death.attack.terraoriginum:burn_in_sun.player": "%1$s sizzled up in the sun whilst trying to escape %2$s.",
|
||||
|
||||
@@ -183,7 +182,6 @@
|
||||
"origin.terraoriginum.yulde.description": "A Yulde is a Lato with the ability to change the tides of battle, at the cost of their lives.",
|
||||
"power.terraoriginum.yulde-powers/last_stand.name": "Last Stand",
|
||||
"power.terraoriginum.yulde-powers/last_stand.description": "You gain strength 4 and speed 2 for 60 seconds, after which you will, without fail, die.",
|
||||
|
||||
"death.attack.terraoriginum:last_stand": "%1$s made their last stand.",
|
||||
"death.attack.terraoriginum:last_stand.player": "%1$s made their last stand before dying to %2$s.",
|
||||
|
||||
@@ -210,6 +208,8 @@
|
||||
"power.terraoriginum.florian-powers/small.description": "You are quite small and have 5 hearts because of it.",
|
||||
"power.terraoriginum.florian-powers/weak.name": "Weak",
|
||||
"power.terraoriginum.florian-powers/weak.description": "Because you are a creature of nature, you cannot do much damage.",
|
||||
"power.terraoriginum.munch-powers/passivemobs.name": "Passive Mobs",
|
||||
"power.terraoriginum.munch-powers/passivemobs.description": "Mobs just don't care enough to attack you.",
|
||||
|
||||
//-----Muckunde-----//
|
||||
"origin.terraoriginum.muckunde.name": "Muckunde",
|
||||
@@ -225,27 +225,27 @@
|
||||
|
||||
//-----Monarch-----//
|
||||
"origin.terraoriginum.monarch.name": "Monarch",
|
||||
"origin.terraoriginum.monarch.description": "The Monarchs were the first of them all, they took pride in the fact that they were superior to all others of their time, that was until newer and better species came along and drove them to near extinction. \nNow they have returned after evolving into something far more powerful",
|
||||
"power.terraoriginum.monarch-powers/hyperefficient_blood.name": "Hyperefficient Blood",
|
||||
"power.terraoriginum.monarch-powers/hyperefficient_blood.description": "Your blood is extremely efficient, destroying any poisons within your bloodstream before they have a chance to do any damage",
|
||||
"power.terraoriginum.monarch-powers/solar_energy.name": "Solar Energy",
|
||||
"power.terraoriginum.monarch-powers/solar_energy.description": "You draw energy from the sun and store it within your body, and access it at will to use various abilities. But if you run out, your body will no longer be able to keep itself together",
|
||||
"power.terraoriginum.monarch-powers/sun_fueled.name": "Sun Fueled",
|
||||
"power.terraoriginum.monarch-powers/sun_fueled.description": "You have evolved to draw power from the sun, leading you to become more powerful during the day",
|
||||
"power.terraoriginum.monarch-powers/nuclear_rush.name": "Nuclear Rush",
|
||||
"power.terraoriginum.monarch-powers/nuclear_rush.description": "using the sun energy stored within your body, you can temporarily start a weak thermonuclear reaction, pushing your body beyond the limitations of living flesh.",
|
||||
"power.terraoriginum.monarch-powers/instant_transmission.name": "Instant Transmission",
|
||||
"power.terraoriginum.monarch-powers/instant_transmission.description": "Use the thermonuclear energy stored in your body to erase the space between you and your target",
|
||||
"power.terraoriginum.monarch-powers/nyctophobia.name": "Nyctophobia",
|
||||
"power.terraoriginum.monarch-powers/nyctophobia.description": "Your power is derived from the sun, making you weaker during the night",
|
||||
"power.terraoriginum.monarch-powers/shining.name": "Shining",
|
||||
"power.terraoriginum.monarch-powers/shining.description": "An entire lifetime of absorbing the sun's energy makes you radiate it's light",
|
||||
"power.terraoriginum.monarch-powers/super_dash.name": "Super Dash",
|
||||
"power.terraoriginum.monarch-powers/super_dash.description": "release a large portion of the solar energy stored within your body to create a large amount of thrust in whatever direction you are facing",
|
||||
"power.terraoriginum.monarch-powers/hydropetrification.name": "Hydropetrification",
|
||||
"power.terraoriginum.monarch-powers/hydropetrification.description": "Your body's cells contain a high concentration of neutrinos to facilitate nuclear processes whithin itself, this causes your entire body to heavily slow down underwater",
|
||||
"power.terraoriginum.monarch-powers/totem_fueled.name": "Totem Fueled",
|
||||
"power.terraoriginum.monarch-powers/totem_fueled.description": "Craft a Sun Totem and hold it to get small amounts of sun energy even outside the sun",
|
||||
"origin.terraoriginum.monarch.description": "A prideful race that have bioengineered themselves to draw energy directly from the sun.",
|
||||
"power.terraoriginum.monarchpowers/hyperefficient_blood.name": "Hyperefficient Blood",
|
||||
"power.terraoriginum.monarchpowers/hyperefficient_blood.description": "Your blood is extremely efficient, destroying any poisons within your bloodstream before they have a chance to do any damage",
|
||||
"power.terraoriginum.monarchpowers/solar_energy.name": "Solar Energy",
|
||||
"power.terraoriginum.monarchpowers/solar_energy.description": "You draw energy from the sun and store it within your body, and access it at will to use various abilities. But if you run out, your body will no longer be able to keep itself together",
|
||||
"power.terraoriginum.monarchpowers/sun_fueled.name": "Sun Fueled",
|
||||
"power.terraoriginum.monarchpowers/sun_fueled.description": "You have evolved to draw power from the sun, leading you to become more powerful during the day",
|
||||
"power.terraoriginum.monarchpowers/nuclear_rush.name": "Nuclear Rush",
|
||||
"power.terraoriginum.monarchpowers/nuclear_rush.description": "using the sun energy stored within your body, you can temporarily start a weak thermonuclear reaction, pushing your body beyond the limitations of living flesh.",
|
||||
"power.terraoriginum.monarchpowers/instant_transmission.name": "Instant Transmission",
|
||||
"power.terraoriginum.monarchpowers/instant_transmission.description": "Use the thermonuclear energy stored in your body to erase the space between you and your target",
|
||||
"power.terraoriginum.monarchpowers/nyctophobia.name": "Nyctophobia",
|
||||
"power.terraoriginum.monarchpowers/nyctophobia.description": "Your power is derived from the sun, making you weaker during the night",
|
||||
"power.terraoriginum.monarchpowers/shining.name": "Shining",
|
||||
"power.terraoriginum.monarchpowers/shining.description": "An entire lifetime of absorbing the sun's energy makes you radiate it's light",
|
||||
"power.terraoriginum.monarchpowers/super_dash.name": "Super Dash",
|
||||
"power.terraoriginum.monarchpowers/super_dash.description": "release a large portion of the solar energy stored within your body to create a large amount of thrust in whatever direction you are facing",
|
||||
"power.terraoriginum.monarchpowers/hydropetrification.name": "Hydropetrification",
|
||||
"power.terraoriginum.monarchpowers/hydropetrification.description": "Your body's cells contain a high concentration of neutrinos to facilitate nuclear processes whithin itself, this causes your entire body to heavily slow down underwater",
|
||||
"power.terraoriginum.monarchpowers/totem_fueled.name": "Totem Fueled",
|
||||
"power.terraoriginum.monarchpowers/totem_fueled.description": "Craft a Sun Totem and hold it to get small amounts of sun energy even outside the sun",
|
||||
|
||||
//-----Blight-----//
|
||||
"origin.terraoriginum.blight.name": "Blight",
|
||||
@@ -255,12 +255,38 @@
|
||||
"power.terraoriginum.blight-powers/blighted_feet.name": "Blighted Feet",
|
||||
"power.terraoriginum.blight-powers/blighted_feet.description": "The Blight's cursed feet destroy life within the soil they touch, turning it to course dirt.",
|
||||
"power.terraoriginum.blight-powers/nether_spawn.name": "Nether Spawn",
|
||||
"power.terraoriginum.blight-powers/nether_spawn.description": "Blights created in the nether, hence you will start there when you spawn. Curiously, they are not immune to fire like most other nether inhabitants",
|
||||
"power.terraoriginum.blight-powers/nether_spawn.description": "Blights were created in the nether, hence you will start there when you spawn. Curiously, they are not immune to fire like most other nether inhabitants",
|
||||
"power.terraoriginum.blight-powers/foul_flesh.name": "Foul Flesh",
|
||||
"power.terraoriginum.blight-powers/foul_flesh.description": "The Blight's flesh is foul and rotten, and as such no poison can effect it.",
|
||||
"power.terraoriginum.blight-powers/florivory.name": "Florvory",
|
||||
"power.terraoriginum.blight-powers/florivory.description": "The Blight cannot naturally regenerate, and needs to devour flowers to reconstitute it's body if damaged.",
|
||||
"power.terraoriginum.blight-powers/dead_cells.name": "Dead Cells",
|
||||
"power.terraoriginum.blight-powers/dead_cells.description": "A large portion of a Blight's body is comprised of dead cells, hitting them does not damage it's vital functions, essentially acting as a small amount of armour for the blight."
|
||||
"power.terraoriginum.blight-powers/dead_cells.description": "A large portion of a Blight's body is comprised of dead cells, hitting them does not damage it's vital functions, essentially acting as a small amount of armour for the blight.",
|
||||
|
||||
//-----Munch-----//
|
||||
"origin.terraoriginum.munch.name": "Munch",
|
||||
"origin.terraoriginum.munch.description": "The Munch are a very small species which can ",
|
||||
"power.terraoriginum.munch-powers/tiny.name": "Tiny",
|
||||
"power.terraoriginum.munch-powers/tiny.description": "You are very tiny. About 4 pixels tall. Conveniently, this also makes you more difficult to hit.",
|
||||
"power.terraoriginum.munch-powers/little_health.name": "Little Health",
|
||||
"power.terraoriginum.munch-powers/little_health.description": "You have very little health due to your tiny size, you little munch.",
|
||||
"power.terraoriginum.munch-powers/nimble.name": "Too Small to Damage",
|
||||
"power.terraoriginum.munch-powers/nimble.description": "You are immune to thorns and velocity based damage. You are not slowed by blocks such as sweet berry bushes or cobwebs. You can walk on powder snow.",
|
||||
"power.terraoriginum.munch-powers/better_health.name": "Better Healing",
|
||||
"power.terraoriginum.munch-powers/better_health.description": "You heal twice as fast as the average joe, must be compensating for something.",
|
||||
"power.terraoriginum.munch-powers/short_arms.name": "Short Arms",
|
||||
"power.terraoriginum.munch-powers/short_arms.description": "You are small, therefore you can't reach as far as the average joe.",
|
||||
"power.terraoriginum.munch-powers/tiny_motion.name": "Sized Speed",
|
||||
"power.terraoriginum.munch-powers/tiny_motion.description": "You're about as fast as you are tiny, and you can only jump up a little over half a block.",
|
||||
"power.terraoriginum.munch-powers/speedy_bastard.name": "Speedy Bastard",
|
||||
"power.terraoriginum.munch-powers/speedy_bastard.description": "You are a fast little munch, aren't you? Maybe not normally, but now §ocan be§r.",
|
||||
"power.terraoriginum.munch-powers/climbing.name": "Wall Runner",
|
||||
"power.terraoriginum.munch-powers/climbing.description": "You have evolved a swift and seamless climbing technique which allows you to glide up vertical terrains with the grace and speed of a wall runner.",
|
||||
"power.terraoriginum.munch-powers/mounting.name": "Mounting",
|
||||
"power.terraoriginum.munch-powers/mounting.description": "You can mount and ride other players and entities. Whether seeking a vantage point, or swift transport. Surely you didn't think I meant mounting in §othat§r way, did you?",
|
||||
"power.terraoriginum.munch-powers/quiet.name": "Quiet",
|
||||
"power.terraoriginum.munch-powers/quiet.description": "You're too small to make sound, sculk sensors don't even hear you.",
|
||||
"power.terraoriginum.munch-powers/tiny_appetite.name": "Tiny Appetite",
|
||||
"power.terraoriginum.munch-powers/tiny_appetite.description": "You don't lose hunger very quickly"
|
||||
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"parent": "minecraft:block/crop",
|
||||
"parent": "minecraft:block/cross",
|
||||
"textures": {
|
||||
"crop": "terraoriginum:block/cotton_crop_block_stage0"
|
||||
"cross": "terraoriginum:block/crop_cotton_0"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"parent": "minecraft:block/crop",
|
||||
"parent": "minecraft:block/cross",
|
||||
"textures": {
|
||||
"crop": "terraoriginum:block/cotton_crop_block_stage1"
|
||||
"cross": "terraoriginum:block/crop_cotton_1"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"parent": "minecraft:block/crop",
|
||||
"parent": "minecraft:block/cross",
|
||||
"textures": {
|
||||
"crop": "terraoriginum:block/cotton_crop_block_stage2"
|
||||
"cross": "terraoriginum:block/crop_cotton_2"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"parent": "minecraft:block/crop",
|
||||
"parent": "minecraft:block/cross",
|
||||
"textures": {
|
||||
"crop": "terraoriginum:block/cotton_crop_block_stage3"
|
||||
"cross": "terraoriginum:block/crop_cotton_3"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "minecraft:block/cross",
|
||||
"textures": {
|
||||
"cross": "terraoriginum:block/crop_cotton_4"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "minecraft:block/cross",
|
||||
"textures": {
|
||||
"cross": "terraoriginum:block/crop_cotton_5"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "terraoriginum:item/ghostly_boots"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "terraoriginum:item/ghostly_chestplate"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "terraoriginum:item/ghostly_cloth"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "terraoriginum:item/ghostly_helmet"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "terraoriginum:item/ghostly_leggings"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "terraoriginum:item/tiny"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 228 B |
|
Before Width: | Height: | Size: 316 B |
|
Before Width: | Height: | Size: 430 B |
|
Before Width: | Height: | Size: 294 B |
|
After Width: | Height: | Size: 449 B |
|
After Width: | Height: | Size: 474 B |
|
After Width: | Height: | Size: 508 B |
|
After Width: | Height: | Size: 562 B |
|
After Width: | Height: | Size: 577 B |
|
After Width: | Height: | Size: 589 B |
|
After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 248 B After Width: | Height: | Size: 614 B |
|
After Width: | Height: | Size: 265 B |
|
After Width: | Height: | Size: 365 B |
|
After Width: | Height: | Size: 373 B |
|
After Width: | Height: | Size: 521 B |
|
After Width: | Height: | Size: 336 B |
BIN
src/main/resources/assets/terraoriginum/textures/item/tiny.png
Normal file
|
After Width: | Height: | Size: 90 B |
BIN
src/main/resources/assets/terraoriginum/textures/models/armor/robes_layer_1.png
Executable file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
src/main/resources/assets/terraoriginum/textures/models/armor/robes_layer_2.png
Executable file
|
After Width: | Height: | Size: 1.6 KiB |
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"values": [
|
||||
"terraoriginum:tick"
|
||||
]
|
||||
}
|
||||
@@ -16,6 +16,7 @@
|
||||
"terraoriginum:fairy",
|
||||
"terraoriginum:muckunde",
|
||||
"terraoriginum:blight",
|
||||
"terraoriginum:munch",
|
||||
{
|
||||
"condition": {
|
||||
"type": "origins:equipped_item",
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
"terraoriginum:florian-powers/aura_of_growth",
|
||||
"terraoriginum:florian-powers/pocket_sand",
|
||||
"terraoriginum:florian-powers/weak",
|
||||
"terraoriginum:florian-powers/five_hearts"
|
||||
"terraoriginum:florian-powers/five_hearts",
|
||||
"terraoriginum:florian-powers/passivemobs"
|
||||
],
|
||||
"icon": "minecraft:rose_bush",
|
||||
"order": 1000,
|
||||
|
||||
21
src/main/resources/data/terraoriginum/origins/munch.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"powers": [
|
||||
"terraoriginum:munch-powers/tiny",
|
||||
"terraoriginum:munch-powers/short_arms",
|
||||
"terraoriginum:munch-powers/tiny_motion",
|
||||
"terraoriginum:munch-powers/tiny_width",
|
||||
"terraoriginum:munch-powers/little_health",
|
||||
"terraoriginum:munch-powers/better_health",
|
||||
"terraoriginum:munch-powers/tiny_appetite",
|
||||
"terraoriginum:munch-powers/nimble",
|
||||
"terraoriginum:munch-powers/quiet",
|
||||
"terraoriginum:munch-powers/climbing",
|
||||
"terraoriginum:munch-powers/mounting",
|
||||
"terraoriginum:munch-powers/speedy_bastard"
|
||||
],
|
||||
"icon": {
|
||||
"item": "terraoriginum:tiny"
|
||||
},
|
||||
"order": 999,
|
||||
"impact": 3
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"type":"origins:action_over_time",
|
||||
"entity_action":{
|
||||
"type":"origins:and",
|
||||
"actions":[
|
||||
{
|
||||
"type":"origins:execute_command",
|
||||
"command":"team add aggropassive"
|
||||
},
|
||||
{
|
||||
"type":"origins:execute_command",
|
||||
"command":"team join aggropassive @s"
|
||||
},
|
||||
{
|
||||
"type":"origins:execute_command",
|
||||
"command":"team join aggropassive @e[type=#terraoriginum:hostiles]"
|
||||
}
|
||||
]
|
||||
},
|
||||
"interval":20
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"condition": {
|
||||
"type": "origins:resource",
|
||||
"resource": "terraoriginum:monarchpowers/solar_energy",
|
||||
"resource": "terraoriginum:monarch-powers/solar_energy",
|
||||
"comparison": ">=",
|
||||
"compare_to": 50
|
||||
},
|
||||
@@ -48,7 +48,7 @@
|
||||
},
|
||||
{
|
||||
"type": "origins:change_resource",
|
||||
"resource": "terraoriginum:monarchpowers/solar_energy",
|
||||
"resource": "terraoriginum:monarch-powers/solar_energy",
|
||||
"change": -50,
|
||||
"operation": "add"
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
{
|
||||
"condition": {
|
||||
"type": "origins:resource",
|
||||
"resource": "terraoriginum:monarchpowers/solar_energy",
|
||||
"resource": "terraoriginum:monarch-powers/solar_energy",
|
||||
"comparison": "<",
|
||||
"compare_to": 50
|
||||
},
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"condition": {
|
||||
"type": "origins:resource",
|
||||
"resource": "terraoriginum:monarchpowers/solar_energy",
|
||||
"resource": "terraoriginum:monarch-powers/solar_energy",
|
||||
"comparison": ">=",
|
||||
"compare_to": 100
|
||||
},
|
||||
@@ -35,7 +35,7 @@
|
||||
},
|
||||
{
|
||||
"type": "origins:change_resource",
|
||||
"resource": "terraoriginum:monarchpowers/solar_energy",
|
||||
"resource": "terraoriginum:monarch-powers/solar_energy",
|
||||
"change": -100,
|
||||
"operation": "add"
|
||||
},
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"interval": 40,
|
||||
"entity_action": {
|
||||
"type": "origins:change_resource",
|
||||
"resource": "terraoriginum:monarchpowers/solar_energy",
|
||||
"resource": "terraoriginum:monarch-powers/solar_energy",
|
||||
"change": 10,
|
||||
"operation": "add"
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
},
|
||||
{
|
||||
"type": "origins:change_resource",
|
||||
"resource": "terraoriginum:monarchpowers/solar_energy",
|
||||
"resource": "terraoriginum:monarch-powers/solar_energy",
|
||||
"change": -300
|
||||
}
|
||||
]
|
||||
@@ -31,7 +31,7 @@
|
||||
},
|
||||
"condition": {
|
||||
"type": "origins:resource",
|
||||
"resource": "terraoriginum:monarchpowers/solar_energy",
|
||||
"resource": "terraoriginum:monarch-powers/solar_energy",
|
||||
"comparison": ">=",
|
||||
"compare_to": 200
|
||||
},
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
"interval": 40,
|
||||
"entity_action": {
|
||||
"type": "origins:change_resource",
|
||||
"resource": "terraoriginum:monarchpowers/solar_energy",
|
||||
"resource": "terraoriginum:monarch-powers/solar_energy",
|
||||
"change": 4,
|
||||
"operation": "add"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"type": "origins:modify_healing",
|
||||
"modifier":{
|
||||
"operation": "multiply_total",
|
||||
"value": 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"type": "origins:multiple",
|
||||
"toggle": {
|
||||
"type": "origins:toggle",
|
||||
"active_by_default": false,
|
||||
"key": {
|
||||
"key": "key.origins.primary_active"
|
||||
},
|
||||
"retain_state": true
|
||||
},
|
||||
"wall_run": {
|
||||
"type": "origins:action_over_time",
|
||||
"entity_action": {
|
||||
"type": "origins:and",
|
||||
"actions": [
|
||||
{
|
||||
"type":"origins:apply_effect",
|
||||
"effect":{
|
||||
"effect":"minecraft:levitation",
|
||||
"duration":2,
|
||||
"amplifier":-1,
|
||||
"is_ambient":false,
|
||||
"show_particles":false,
|
||||
"show_icon":false
|
||||
}
|
||||
},
|
||||
{
|
||||
"type":"origins:add_velocity",
|
||||
"x": 0.0,
|
||||
"y": 0.0,
|
||||
"z":0.05,
|
||||
"space":"local",
|
||||
"client": true,
|
||||
"server": true,
|
||||
"set":false
|
||||
}
|
||||
]
|
||||
},
|
||||
"falling_action": {
|
||||
"type":"origins:clear_effect",
|
||||
"effect":"minecraft:levitation"
|
||||
},
|
||||
"interval": 1,
|
||||
"condition": {
|
||||
"type": "origins:and",
|
||||
"conditions": [
|
||||
{
|
||||
"type": "origins:power_active",
|
||||
"power": "terraoriginum:munch-powers/climbing_toggle"
|
||||
},
|
||||
{
|
||||
"type":"origins:on_block",
|
||||
"inverted":true
|
||||
},
|
||||
{
|
||||
"type": "origins:or",
|
||||
"conditions": [
|
||||
{
|
||||
"type":"origins:block_collision",
|
||||
"offset_x":0.1,
|
||||
"offset_z":0.1,
|
||||
"offset_y":0,
|
||||
"inverted":false
|
||||
},
|
||||
{
|
||||
"type":"origins:block_collision",
|
||||
"offset_x":-0.1,
|
||||
"offset_z":-0.1,
|
||||
"offset_y":0,
|
||||
"inverted":false
|
||||
}
|
||||
],
|
||||
"inverted": false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"type": "origins:attribute",
|
||||
"modifier": {
|
||||
"attribute": "minecraft:generic.max_health",
|
||||
"value": -12.0,
|
||||
"operation": "addition"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
{
|
||||
"type":"origins:multiple",
|
||||
"mount":{
|
||||
"type":"origins:active_self",
|
||||
"entity_action":{
|
||||
"type":"origins:raycast",
|
||||
"distance":10.00,
|
||||
"block":false,
|
||||
"entity":true,
|
||||
"shape_type":"collider",
|
||||
"fluid_handling":"none",
|
||||
"bientity_condition":{
|
||||
"type":"origins:target_condition",
|
||||
"condition":{
|
||||
"type":"origins:living"
|
||||
}
|
||||
},
|
||||
"bientity_action":{
|
||||
"type":"origins:mount"
|
||||
},
|
||||
"entity_distance":3.00,
|
||||
"command_step":1.00,
|
||||
"command_along_ray_only_on_hit":false
|
||||
},
|
||||
"cooldown":1,
|
||||
"hud_render":{
|
||||
"should_render":false
|
||||
},
|
||||
"key":{
|
||||
"key":"key.origins.secondary_active",
|
||||
"continuous":false
|
||||
},
|
||||
"condition":{
|
||||
"type":"origins:riding",
|
||||
"inverted":true
|
||||
}
|
||||
},
|
||||
"dismount":{
|
||||
"type":"origins:active_self",
|
||||
"entity_action":{
|
||||
"type":"origins:dismount"
|
||||
},
|
||||
"cooldown":1,
|
||||
"hud_render":{
|
||||
"should_render":false
|
||||
},
|
||||
"key":{
|
||||
"key":"key.sneak",
|
||||
"continuous":false
|
||||
},
|
||||
"condition":{
|
||||
"type":"origins:riding",
|
||||
"inverted":false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"type": "origins:multiple",
|
||||
"damage_immunity": {
|
||||
"type": "origins:invulnerability",
|
||||
"damage_condition": {
|
||||
"type": "origins:or",
|
||||
"conditions": [
|
||||
{
|
||||
"type": "origins:name",
|
||||
"name": "fall"
|
||||
},
|
||||
{
|
||||
"type": "origins:name",
|
||||
"name": "flyIntoWall"
|
||||
},
|
||||
{
|
||||
"type": "origins:name",
|
||||
"name": "cactus"
|
||||
},
|
||||
{
|
||||
"type": "origins:name",
|
||||
"name": "sweetBerryBush"
|
||||
},
|
||||
{
|
||||
"type": "origins:name",
|
||||
"name": "thorns"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"prevent_block_slowness": {
|
||||
"type": "terraoriginum:prevent_block_slowness"
|
||||
},
|
||||
"can_walk_on_powder_snow": {
|
||||
"type": "terraoriginum:can_walk_on_powder_snow"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"type": "origins:prevent_game_event",
|
||||
"events":[
|
||||
"minecraft:step",
|
||||
"minecraft:hit_ground"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"type": "origins:action_over_time",
|
||||
"interval": 20,
|
||||
"entity_action": {
|
||||
"type": "origins:execute_command",
|
||||
"command": "/scale set pehkui:reach 0.5"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"type": "origins:active_self",
|
||||
"key": "key.origins.ternary_active",
|
||||
"entity_action": {
|
||||
"type": "origins:and",
|
||||
"actions": [
|
||||
{
|
||||
"type": "origins:apply_effect",
|
||||
"effect": {
|
||||
"effect": "minecraft:speed",
|
||||
"duration": 600,
|
||||
"amplifier": 4
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"cooldown": 2400,
|
||||
"hud_render": {
|
||||
"sprite_location": "origins:textures/gui/resource_bar.png",
|
||||
"bar_index": "2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"type": "origins:action_over_time",
|
||||
"interval": 20,
|
||||
"entity_action": {
|
||||
"type": "origins:execute_command",
|
||||
"command": "/scale set pehkui:height 0.13"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"type": "origins:modify_exhaustion",
|
||||
"modifier": {
|
||||
"name": "Origin modifier",
|
||||
"operation": "multiply_base",
|
||||
"value": -0.75
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"type": "origins:action_over_time",
|
||||
"interval": 20,
|
||||
"entity_action": {
|
||||
"type": "origins:execute_command",
|
||||
"command": "/scale set pehkui:motion 0.55"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"type": "origins:action_over_time",
|
||||
"hidden": true,
|
||||
"interval": 20,
|
||||
"entity_action": {
|
||||
"type": "origins:execute_command",
|
||||
"command": "/scale set pehkui:width 0.13"
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,76 @@
|
||||
"entity_action": {
|
||||
"type": "origins:if_else_list",
|
||||
"actions": [
|
||||
{
|
||||
"condition": {
|
||||
"type": "origins:and",
|
||||
"conditions": [
|
||||
{
|
||||
"type": "origins:inventory",
|
||||
"process_mode": "items",
|
||||
"slots": [
|
||||
"armor.head"
|
||||
],
|
||||
"item_condition": {
|
||||
"type": "origins:ingredient",
|
||||
"ingredient": {
|
||||
"item": "terraoriginum:ghostly_helmet"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "origins:inventory",
|
||||
"process_mode": "items",
|
||||
"slots": [
|
||||
"armor.chest"
|
||||
],
|
||||
"item_condition": {
|
||||
"type": "origins:ingredient",
|
||||
"ingredient": {
|
||||
"item": "terraoriginum:ghostly_chestplate"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "origins:inventory",
|
||||
"process_mode": "items",
|
||||
"slots": [
|
||||
"armor.legs"
|
||||
],
|
||||
"item_condition": {
|
||||
"type": "origins:ingredient",
|
||||
"ingredient": {
|
||||
"item": "terraoriginum:ghostly_leggings"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "origins:inventory",
|
||||
"process_mode": "items",
|
||||
"slots": [
|
||||
"armor.feet"
|
||||
],
|
||||
"item_condition": {
|
||||
"type": "origins:ingredient",
|
||||
"ingredient": {
|
||||
"item": "terraoriginum:ghostly_boots"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"action": {
|
||||
"type": "origins:and",
|
||||
"actions": [
|
||||
{
|
||||
"type": "origins:change_resource",
|
||||
"resource": "terraoriginum:spirit-powers/ectoplasm",
|
||||
"change": 2,
|
||||
"operation": "add"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"condition": {
|
||||
"type": "origins:brightness",
|
||||
@@ -24,9 +94,14 @@
|
||||
},
|
||||
{
|
||||
"condition": {
|
||||
"type": "origins:or",
|
||||
"conditions": [
|
||||
{
|
||||
"type": "origins:brightness",
|
||||
"comparison": "<=",
|
||||
"compare_to": 0.17948718
|
||||
}
|
||||
]
|
||||
},
|
||||
"action": {
|
||||
"type": "origins:and",
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
" # ",
|
||||
"#E#",
|
||||
" # "
|
||||
],
|
||||
"key": {
|
||||
"#": {
|
||||
"item": "terraoriginum:cotton_ball"
|
||||
},
|
||||
"E": {
|
||||
"item": "minecraft:echo_shard"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "terraoriginum:ghostly_cloth",
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:blaze",
|
||||
"minecraft:cave_spider",
|
||||
"minecraft:spider",
|
||||
"minecraft:piglin",
|
||||
"minecraft:drowned",
|
||||
"minecraft:enderman",
|
||||
"minecraft:zombified_piglin",
|
||||
"minecraft:creeper",
|
||||
"minecraft:elder_guardian",
|
||||
"minecraft:endermite",
|
||||
"minecraft:ghast",
|
||||
"minecraft:guardian",
|
||||
"minecraft:hoglin",
|
||||
"minecraft:husk",
|
||||
"minecraft:magma_cube",
|
||||
"minecraft:phantom",
|
||||
"minecraft:piglin_brute",
|
||||
"minecraft:pillager",
|
||||
"minecraft:ravager",
|
||||
"minecraft:skeleton",
|
||||
"minecraft:slime",
|
||||
"minecraft:stray",
|
||||
"minecraft:vindicator",
|
||||
"minecraft:witch",
|
||||
"minecraft:wither_skeleton",
|
||||
"minecraft:zoglin",
|
||||
"minecraft:zombie",
|
||||
"minecraft:zombie_villager"
|
||||
]
|
||||
}
|
||||
@@ -37,6 +37,5 @@
|
||||
"minecraft": "1.20.1",
|
||||
"pehkui": ">=3.7.8"
|
||||
},
|
||||
"conflicts": {
|
||||
}
|
||||
"conflicts": {}
|
||||
}
|
||||
@@ -5,7 +5,9 @@
|
||||
"compatibilityLevel": "JAVA_16",
|
||||
"mixins": [
|
||||
"PlayerConditionsMixin",
|
||||
"PlayerEntityMixin"
|
||||
"PlayerEntityMixin",
|
||||
"EntityMixin",
|
||||
"PowderSnowBlockMixin"
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
|
||||