From caf78d54ba35311f98bca1e977b5f92739120bac Mon Sep 17 00:00:00 2001 From: TheBrokenRail Date: Fri, 27 Mar 2020 11:00:15 -0400 Subject: [PATCH] 1.0.4 Scale Fall Damage and Reach Distance By Size Namespace Lang --- CHANGELOG.md | 4 +++ build.gradle | 2 +- gradle.properties | 2 +- .../gulliverreloaded/GulliverReloaded.java | 6 ++-- .../MixinClientPlayerInteractionManager.java | 28 +++++++++++++++++++ .../mixin/MixinLivingEntity.java | 5 ++++ .../assets/gulliver-reloaded/lang/en_us.json | 16 +++++------ .../resources/gulliver-reloaded.mixins.json | 1 + 8 files changed, 51 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/thebrokenrail/gulliverreloaded/mixin/MixinClientPlayerInteractionManager.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 83c981f..e3f4042 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +**1.0.4** +* Scale Fall Damage and Reach Distance By Size +* Namespace Lang + **1.0.3** * Fix Assets Namespace diff --git a/build.gradle b/build.gradle index 62016b0..b563c60 100644 --- a/build.gradle +++ b/build.gradle @@ -73,7 +73,7 @@ if (project.hasProperty('curseforge.api_key')) { apiKey = project.getProperty('curseforge.api_key') project { id = project.curseforge_id - changelog = 'A changelog can be found at https://gitea.thebrokenrail.com/TheBrokenRail/SorceryCraft/src/branch/master/CHANGELOG.md' + changelog = 'A changelog can be found at https://gitea.thebrokenrail.com/TheBrokenRail/GulliverReloaded/src/branch/master/CHANGELOG.md' releaseType = 'release' addGameVersion project.simple_minecraft_version addGameVersion 'Fabric' diff --git a/gradle.properties b/gradle.properties index 9449858..b890927 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,7 @@ org.gradle.jvmargs = -Xmx1G fabric_loader_version = 0.7.8+build.189 # Mod Properties - mod_version = 1.0.3 + mod_version = 1.0.4 maven_group = com.thebrokenrail archives_base_name = gulliver-reloaded diff --git a/src/main/java/com/thebrokenrail/gulliverreloaded/GulliverReloaded.java b/src/main/java/com/thebrokenrail/gulliverreloaded/GulliverReloaded.java index 07bd5eb..d25768d 100644 --- a/src/main/java/com/thebrokenrail/gulliverreloaded/GulliverReloaded.java +++ b/src/main/java/com/thebrokenrail/gulliverreloaded/GulliverReloaded.java @@ -26,9 +26,9 @@ public class GulliverReloaded implements ModInitializer { private CustomPotion registerEffect(String name, int color) { StatusEffect effect = Registry.register(Registry.STATUS_EFFECT, new Identifier(NAMESPACE, name), new CustomPotion.CustomStatusEffect(StatusEffectType.NEUTRAL, color)); - Potion potion = Registry.register(Registry.POTION, new Identifier(NAMESPACE, name), new Potion(new StatusEffectInstance(effect, 3600))); - Potion longPotion = Registry.register(Registry.POTION, new Identifier(NAMESPACE, "long_" + name), new Potion(name, new StatusEffectInstance(effect, 9600))); - Potion strongPotion = Registry.register(Registry.POTION, new Identifier(NAMESPACE, "strong_" + name), new Potion(name, new StatusEffectInstance(effect, 1800, 1))); + Potion potion = Registry.register(Registry.POTION, new Identifier(NAMESPACE, name), new Potion(NAMESPACE + '.' + name, new StatusEffectInstance(effect, 3600))); + Potion longPotion = Registry.register(Registry.POTION, new Identifier(NAMESPACE, "long_" + name), new Potion(NAMESPACE + '.' + name, new StatusEffectInstance(effect, 9600))); + Potion strongPotion = Registry.register(Registry.POTION, new Identifier(NAMESPACE, "strong_" + name), new Potion(NAMESPACE + '.' + name, new StatusEffectInstance(effect, 1800, 1))); return new CustomPotion(effect, potion, longPotion, strongPotion); } diff --git a/src/main/java/com/thebrokenrail/gulliverreloaded/mixin/MixinClientPlayerInteractionManager.java b/src/main/java/com/thebrokenrail/gulliverreloaded/mixin/MixinClientPlayerInteractionManager.java new file mode 100644 index 0000000..219e8b3 --- /dev/null +++ b/src/main/java/com/thebrokenrail/gulliverreloaded/mixin/MixinClientPlayerInteractionManager.java @@ -0,0 +1,28 @@ +package com.thebrokenrail.gulliverreloaded.mixin; + +import com.thebrokenrail.gulliverreloaded.ScaledEntity; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.network.ClientPlayerInteractionManager; +import org.spongepowered.asm.mixin.Final; +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.CallbackInfoReturnable; + +@SuppressWarnings("unused") +@Environment(EnvType.CLIENT) +@Mixin(ClientPlayerInteractionManager.class) +public class MixinClientPlayerInteractionManager { + @Shadow + @Final + private MinecraftClient client; + + @Inject(at = @At("RETURN"), method = "getReachDistance", cancellable = true) + public void getReachDistance(CallbackInfoReturnable info) { + assert client.player != null; + info.setReturnValue((float) Math.min(8d, info.getReturnValue() * ((ScaledEntity) client.player).getScale())); + } +} diff --git a/src/main/java/com/thebrokenrail/gulliverreloaded/mixin/MixinLivingEntity.java b/src/main/java/com/thebrokenrail/gulliverreloaded/mixin/MixinLivingEntity.java index 11b61f6..e355e4b 100644 --- a/src/main/java/com/thebrokenrail/gulliverreloaded/mixin/MixinLivingEntity.java +++ b/src/main/java/com/thebrokenrail/gulliverreloaded/mixin/MixinLivingEntity.java @@ -94,4 +94,9 @@ public abstract class MixinLivingEntity implements ScaledEntity { ((LivingEntity) (Object) this).calculateDimensions(); } } + + @Inject(at = @At("RETURN"), method = "computeFallDamage", cancellable = true) + public void computeFallDamage(float fallDistance, float damageMultiplier, CallbackInfoReturnable info) { + info.setReturnValue((int) (info.getReturnValue() * Math.pow(getScale(), -1))); + } } diff --git a/src/main/resources/assets/gulliver-reloaded/lang/en_us.json b/src/main/resources/assets/gulliver-reloaded/lang/en_us.json index e828ba5..83c773d 100644 --- a/src/main/resources/assets/gulliver-reloaded/lang/en_us.json +++ b/src/main/resources/assets/gulliver-reloaded/lang/en_us.json @@ -1,12 +1,12 @@ { "effect.gulliver-reloaded.shrink": "Shrink", "effect.gulliver-reloaded.grow": "Grow", - "item.minecraft.potion.effect.shrink": "Potion of Shrinking", - "item.minecraft.potion.effect.grow": "Potion of Growing", - "item.minecraft.splash_potion.effect.shrink": "Splash Potion of Shrinking", - "item.minecraft.splash_potion.effect.grow": "Splash Potion of Growing", - "item.minecraft.lingering_potion.effect.shrink": "Lingering Potion of Shrinking", - "item.minecraft.lingering_potion.effect.grow": "Lingering Potion of Growing", - "item.minecraft.tipped_arrow.effect.shrink": "Arrow of Shrinking", - "item.minecraft.tipped_arrow.effect.grow": "Arrow of Growing" + "item.minecraft.potion.effect.gulliver-reloaded.shrink": "Potion of Shrinking", + "item.minecraft.potion.effect.gulliver-reloaded.grow": "Potion of Growing", + "item.minecraft.splash_potion.effect.gulliver-reloaded.shrink": "Splash Potion of Shrinking", + "item.minecraft.splash_potion.effect.gulliver-reloaded.grow": "Splash Potion of Growing", + "item.minecraft.lingering_potion.effect.gulliver-reloaded.shrink": "Lingering Potion of Shrinking", + "item.minecraft.lingering_potion.effect.gulliver-reloaded.grow": "Lingering Potion of Growing", + "item.minecraft.tipped_arrow.effect.gulliver-reloaded.shrink": "Arrow of Shrinking", + "item.minecraft.tipped_arrow.effect.gulliver-reloaded.grow": "Arrow of Growing" } \ No newline at end of file diff --git a/src/main/resources/gulliver-reloaded.mixins.json b/src/main/resources/gulliver-reloaded.mixins.json index 597a3b5..a08ecd2 100644 --- a/src/main/resources/gulliver-reloaded.mixins.json +++ b/src/main/resources/gulliver-reloaded.mixins.json @@ -3,6 +3,7 @@ "package": "com.thebrokenrail.gulliverreloaded.mixin", "compatibilityLevel": "JAVA_8", "client": [ + "MixinClientPlayerInteractionManager", "MixinLivingEntityRenderer" ], "mixins": [