Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
package mc.duzo.timeless.suit.ironman.mk42;

import mc.duzo.timeless.Timeless;
import mc.duzo.timeless.power.PowerList;
import mc.duzo.timeless.power.PowerRegistry;
import mc.duzo.timeless.suit.client.ClientSuit;
import mc.duzo.timeless.suit.client.render.SuitModel;
import mc.duzo.timeless.suit.ironman.IronManSuit;
import mc.duzo.timeless.suit.ironman.client.GenericIronManModel;
import mc.duzo.timeless.suit.set.SetRegistry;
import mc.duzo.timeless.suit.set.SuitSet;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.util.Identifier;

import java.util.function.Supplier;

public class MarkFortyTwoSuit extends IronManSuit {
private final PowerList powers;

public MarkFortyTwoSuit() {
super("mark_forty_two");

this.powers = PowerList.of(PowerRegistry.SENTRY, PowerRegistry.BOOSTED_FLIGHT, PowerRegistry.HOVER, PowerRegistry.MASK_TOGGLE, PowerRegistry.JARVIS);
}

@Override
public SuitSet getSet() {
return SetRegistry.MARK_FORTY_TWO;
}

@Override
public PowerList getPowers() {
return this.powers;
}

@Environment(EnvType.CLIENT)
@Override
protected ClientSuit createClient() {
return new ClientSuit(this) {
@Override
public Supplier<SuitModel> model() {
return () -> new GenericIronManModel() { // todo - this has its own model, see heroes-assets in discord.
private ClientSuit parent;

@Override
public ClientSuit getSuit() {
if (this.parent == null) {
this.parent = SetRegistry.MARK_FORTY_TWO.suit().toClient();
}

return this.parent;
}
};
}
};
}

@Override
public int getFlightSpeed(boolean hasBoost) {
return 45;
}

@Override
public float getHoverScale() {
return 0.75f;
}

@Override
public Identifier getMaskAnimation(boolean isOpening) {
return new Identifier(Timeless.MOD_ID, "ironman_generic_mask_" + (isOpening ? "open" : "close"));
}
}
3 changes: 3 additions & 0 deletions src/main/java/mc/duzo/timeless/suit/set/SetRegistry.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package mc.duzo.timeless.suit.set;

import mc.duzo.timeless.suit.ironman.mk42.MarkFortyTwoSuit;
import mc.duzo.timeless.suit.moonknight.item.MoonKnightSuitItem;
import mc.duzo.timeless.suit.moonknight.jake.JakeSuit;
import mc.duzo.timeless.suit.moonknight.marc.MarcSuit;
Expand Down Expand Up @@ -27,6 +28,7 @@ public static <T extends SuitSet> T register(T suit) {
return Registry.register(REGISTRY, suit.id(), suit);
}

public static SuitSet MARK_FORTY_TWO;
public static SuitSet MARK_SEVEN;
public static SuitSet MARK_FIVE;
public static SuitSet MARK_THREE;
Expand All @@ -38,6 +40,7 @@ public static <T extends SuitSet> T register(T suit) {

public static void init() {
// Iron Man
MARK_FORTY_TWO = register(new RegisteringSuitSet(new MarkFortyTwoSuit(), IronManSuitItem::new));
MARK_SEVEN = register(new RegisteringSuitSet(new MarkSevenSuit(), IronManSuitItem::new));
MARK_FIVE = register(new RegisteringSuitSet(new MarkFiveSuit(), IronManSuitItem::new));
MARK_THREE = register(new RegisteringSuitSet(new MarkThreeSuit(), IronManSuitItem::new));
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.