Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mutation = -V
- public class IBlockMutation {
- public MutationTypes type;
- public RandomCollection<Pair<Block, MutationOutputData>> outputs;
- public Mutation mutationData;
- public IBlockMutation(MutationTypes type, Mutation mutationData) {
- this.type = type;
- this.outputs = new RandomCollection<>();
- this.mutationData = mutationData;
- }
- public IBlockMutation addBlock(Block block, double weight, double chance, CompoundNBT nbt) {
- if (weight <= 0) weight = mutationData.getDefaultWeight();
- if (chance <= 0) chance = mutationData.getDefaultChance();
- outputs.add(weight, Pair.of(block, new MutationOutputData(chance, weight, nbt)));
- return this;
- }
- }
- if (mutation != null) {
- Pair<Block, MutationData.MutationOutputData> output = mutation.outputs.next();
- float nextFloat = world.rand.nextFloat();
- if (output.getRight().chance >= nextFloat) {
- world.playEvent(2005, beePosDown, 0);
- world.setBlockState(beePosDown, output.getKey().getDefaultState());
- BlockState state1 = world.getBlockState(beePosDown);
- TileEntity tile = world.getTileEntity(beePosDown);
- if (tile != null) {
- tile.fromTag(block.getDefaultState(), output.getRight().nbt);
- tile.updateContainingBlockInfo();
- tile.validate();
- tile.markDirty();
- }
- }
- addCropCounter();
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement