Display flying when an elytra is used with the trinkets mod. Closes #2074
This commit is contained in:
parent
8b16fe191b
commit
9612c82cd3
4 changed files with 43 additions and 1 deletions
|
@ -43,6 +43,13 @@ repositories {
|
|||
//Dev Mode
|
||||
url "https://maven.jamieswhiteshirt.com/libs-release/"
|
||||
}
|
||||
maven {
|
||||
//trinkets
|
||||
url = "https://maven.abusedmaster.xyz/"
|
||||
}
|
||||
maven {
|
||||
url = "https://jitpack.io"
|
||||
}
|
||||
}
|
||||
|
||||
version = "3.3.7"
|
||||
|
@ -74,6 +81,7 @@ dependencies {
|
|||
|
||||
optionalDependency ("me.shedaniel:RoughlyEnoughItems:3.6.0")
|
||||
optionalDependency ('io.github.cottonmc:LibCD:2.0.1+1.15')
|
||||
optionalDependency ('com.github.emilyploszaj:trinkets:2.4.2')
|
||||
|
||||
def rcVersion = 'RebornCore:RebornCore-1.15:+'
|
||||
modApi (rcVersion) {
|
||||
|
|
|
@ -26,7 +26,9 @@ package techreborn;
|
|||
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.minecraft.block.ComposterBlock;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.fluid.Fluids;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -40,6 +42,7 @@ import reborncore.common.util.Torus;
|
|||
import reborncore.common.world.DataAttachment;
|
||||
import techreborn.blockentity.storage.energy.idsu.IDSUManager;
|
||||
import techreborn.client.GuiType;
|
||||
import techreborn.compat.trinkets.Trinkets;
|
||||
import techreborn.config.TechRebornConfig;
|
||||
import techreborn.events.ModRegistry;
|
||||
import techreborn.init.FluidGeneratorRecipes;
|
||||
|
@ -55,6 +58,8 @@ import techreborn.packets.ServerboundPackets;
|
|||
import techreborn.utils.PoweredCraftingHandler;
|
||||
import techreborn.world.WorldGenerator;
|
||||
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class TechReborn implements ModInitializer {
|
||||
|
||||
public static final String MOD_ID = "techreborn";
|
||||
|
@ -65,6 +70,8 @@ public class TechReborn implements ModInitializer {
|
|||
new Identifier("techreborn", "item_group"),
|
||||
() -> new ItemStack(TRContent.NUKE));
|
||||
|
||||
public static Predicate<PlayerEntity> elytraPredicate = playerEntity -> false;
|
||||
|
||||
@Override
|
||||
public void onInitialize() {
|
||||
INSTANCE = this;
|
||||
|
@ -104,6 +111,10 @@ public class TechReborn implements ModInitializer {
|
|||
ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.put(TRContent.Dusts.SAW.asItem(), 0.3F);
|
||||
ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.put(TRContent.SmallDusts.SAW.asItem(), 0.1F);
|
||||
|
||||
if (FabricLoader.getInstance().isModLoaded("trinkets")) {
|
||||
elytraPredicate = Trinkets.isElytraEquipped();
|
||||
}
|
||||
|
||||
LOGGER.info("TechReborn setup done!");
|
||||
|
||||
}
|
||||
|
|
23
src/main/java/techreborn/compat/trinkets/Trinkets.java
Normal file
23
src/main/java/techreborn/compat/trinkets/Trinkets.java
Normal file
|
@ -0,0 +1,23 @@
|
|||
package techreborn.compat.trinkets;
|
||||
|
||||
import dev.emi.trinkets.api.TrinketComponent;
|
||||
import dev.emi.trinkets.api.TrinketsApi;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.Items;
|
||||
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class Trinkets {
|
||||
|
||||
public static Predicate<PlayerEntity> isElytraEquipped() {
|
||||
return playerEntity -> {
|
||||
TrinketComponent component = TrinketsApi.getTrinketComponent(playerEntity);
|
||||
for (int i = 0; i < component.getInventory().getInvSize(); i++) {
|
||||
if (component.getInventory().getInvStack(i).getItem() == Items.ELYTRA) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
}
|
||||
}
|
|
@ -91,7 +91,7 @@ public class QuantumSuitItem extends TRArmourItem implements ItemStackModifiers,
|
|||
}
|
||||
break;
|
||||
case CHEST:
|
||||
if (Energy.of(stack).getEnergy() > flyCost) {
|
||||
if (Energy.of(stack).getEnergy() > flyCost && !TechReborn.elytraPredicate.test(playerEntity)) {
|
||||
playerEntity.abilities.allowFlying = true;
|
||||
if (playerEntity.abilities.flying) {
|
||||
Energy.of(stack).use(flyCost);
|
||||
|
|
Loading…
Add table
Reference in a new issue