Merge branch 'mc1.15/dev' into mc1.16/dev

# Conflicts:
#	src/main/java/com/simibubi/create/content/curiosities/ChromaticCompoundItem.java
This commit is contained in:
Zelophed 2020-10-17 04:21:50 +02:00
commit f499122ae5

View File

@ -1,15 +1,11 @@
package com.simibubi.create.content.curiosities; package com.simibubi.create.content.curiosities;
import java.util.List;
import java.util.Random;
import com.simibubi.create.AllItems; import com.simibubi.create.AllItems;
import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.advancement.AllTriggers;
import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.config.CRecipes; import com.simibubi.create.foundation.config.CRecipes;
import com.simibubi.create.foundation.utility.ColorHelper; import com.simibubi.create.foundation.utility.ColorHelper;
import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.VecHelper;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.entity.item.ItemEntity; import net.minecraft.entity.item.ItemEntity;
@ -21,16 +17,16 @@ import net.minecraft.particles.ParticleTypes;
import net.minecraft.tileentity.BeaconTileEntity; import net.minecraft.tileentity.BeaconTileEntity;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.*;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.RayTraceContext;
import net.minecraft.util.math.RayTraceContext.BlockMode; import net.minecraft.util.math.RayTraceContext.BlockMode;
import net.minecraft.util.math.RayTraceContext.FluidMode; import net.minecraft.util.math.RayTraceContext.FluidMode;
import net.minecraft.util.math.vector.Vector3d; import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.gen.Heightmap; import net.minecraft.world.gen.Heightmap;
import java.util.List;
import java.util.Random;
public class ChromaticCompoundItem extends Item { public class ChromaticCompoundItem extends Item {
public ChromaticCompoundItem(Properties properties) { public ChromaticCompoundItem(Properties properties) {
@ -122,8 +118,12 @@ public class ChromaticCompoundItem extends Item {
int entityX = MathHelper.floor(entity.getX()); int entityX = MathHelper.floor(entity.getX());
int entityZ = MathHelper.floor(entity.getZ()); int entityZ = MathHelper.floor(entity.getZ());
int localWorldHeight = world.getHeight(Heightmap.Type.WORLD_SURFACE, entityX, entityZ); int localWorldHeight = world.getHeight(Heightmap.Type.WORLD_SURFACE, entityX, entityZ);
if (entity.getY() > localWorldHeight) {
BlockPos.Mutable testPos = new BlockPos.Mutable(entityX, localWorldHeight, entityZ); BlockPos.Mutable testPos = new BlockPos.Mutable(
entityX,
Math.min(MathHelper.floor(entity.getY()), localWorldHeight),
entityZ);
while (testPos.getY() > 0) { while (testPos.getY() > 0) {
testPos.move(Direction.DOWN); testPos.move(Direction.DOWN);
BlockState state = world.getBlockState(testPos); BlockState state = world.getBlockState(testPos);
@ -131,15 +131,16 @@ public class ChromaticCompoundItem extends Item {
break; break;
if (state.getBlock() == Blocks.BEACON) { if (state.getBlock() == Blocks.BEACON) {
TileEntity te = world.getTileEntity(testPos); TileEntity te = world.getTileEntity(testPos);
if (!(te instanceof BeaconTileEntity))
break; if (!(te instanceof BeaconTileEntity)) break;
BeaconTileEntity bte = (BeaconTileEntity) te; BeaconTileEntity bte = (BeaconTileEntity) te;
if (bte.getLevels() != 0)
isOverBeacon = true; if (!bte.getBeamSegments().isEmpty()) isOverBeacon = true;
break; break;
} }
} }
}
if (isOverBeacon) { if (isOverBeacon) {
ItemStack newStack = AllItems.REFINED_RADIANCE.asStack(); ItemStack newStack = AllItems.REFINED_RADIANCE.asStack();