Skip to content

Commit

Permalink
Refactor EmitVerticalForceBook to support rendering of active
Browse files Browse the repository at this point in the history
combination of composite items #1303
  • Loading branch information
athrane committed Feb 20, 2022
1 parent 1b98dd7 commit 99d54cb
Showing 1 changed file with 9 additions and 17 deletions.
26 changes: 9 additions & 17 deletions src/main/java/bassebombecraft/item/book/EmitVerticalForceBook.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
package bassebombecraft.item.book;

import static bassebombecraft.config.ModConfiguration.emitVerticalForceBook;
import static bassebombecraft.operator.DefaultPorts.getFnGetEntities1;
import static bassebombecraft.operator.DefaultPorts.getInstance;
import static bassebombecraft.item.RegisteredItems.FORMATION1;
import static bassebombecraft.item.RegisteredItems.MODIFIER17;
import static bassebombecraft.item.RegisteredItems.PROJECTILE3;

import java.util.function.Supplier;
import java.util.stream.Stream;

import bassebombecraft.operator.Operator2;
import bassebombecraft.operator.Sequence2;
import bassebombecraft.operator.entity.raytraceresult.EmitVerticalForce2;
import bassebombecraft.operator.projectile.ShootSkullProjectile2;
import bassebombecraft.operator.projectile.formation.SingleProjectileFormation2;
import bassebombecraft.operator.projectile.modifier.TagProjectileWithProjectileModifier;
import net.minecraft.item.Item;
import net.minecraftforge.fml.RegistryObject;

/**
* Book of emit vertical force implementation.
Expand All @@ -21,17 +19,11 @@ public class EmitVerticalForceBook extends GenericCompositeItemsBook {
public static final String ITEM_NAME = EmitVerticalForceBook.class.getSimpleName();

/**
* Create operators.
* Composite items.
*/
static Supplier<Operator2> splOp = () -> {
Operator2 formationOp = new SingleProjectileFormation2();
Operator2 projectileOp = new ShootSkullProjectile2();
Operator2 modifierOp = new TagProjectileWithProjectileModifier(getFnGetEntities1(),
p -> EmitVerticalForce2.NAME);
return new Sequence2(formationOp, projectileOp, modifierOp);
};
static Supplier<Stream<RegistryObject<Item>>> splComposites = () -> Stream.of(FORMATION1, PROJECTILE3, MODIFIER17);

public EmitVerticalForceBook() {
super(emitVerticalForceBook, getInstance(), splOp.get());
super(emitVerticalForceBook, splComposites);
}
}

0 comments on commit 99d54cb

Please sign in to comment.