Skip to content

Commit

Permalink
Add block registration to Forge WorldEdit.
Browse files Browse the repository at this point in the history
  • Loading branch information
me4502 committed Jan 3, 2018
1 parent 116cc37 commit 3eb8f26
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
Expand Up @@ -21,6 +21,7 @@

import com.sk89q.jnbt.CompoundTag;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.blocks.type.BlockType;
import com.sk89q.worldedit.extent.Extent;

import static com.google.common.base.Preconditions.checkNotNull;
Expand Down Expand Up @@ -49,6 +50,22 @@ public class LazyBlock extends BaseBlock {
* @param extent the extent to later load the full block data from
* @param position the position to later load the full block data from
*/
public LazyBlock(BlockType type, Extent extent, Vector position) {
super(type);
checkNotNull(extent);
checkNotNull(position);
this.extent = extent;
this.position = position;
}

/**
* Create a new lazy block.
*
* @param type the block type
* @param extent the extent to later load the full block data from
* @param position the position to later load the full block data from
*/
@Deprecated
public LazyBlock(int type, Extent extent, Vector position) {
super(type);
checkNotNull(extent);
Expand All @@ -65,6 +82,24 @@ public LazyBlock(int type, Extent extent, Vector position) {
* @param extent the extent to later load the full block data from
* @param position the position to later load the full block data from
*/
@Deprecated
public LazyBlock(BlockType type, int data, Extent extent, Vector position) {
super(type, data);
checkNotNull(extent);
checkNotNull(position);
this.extent = extent;
this.position = position;
}

/**
* Create a new lazy block.
*
* @param type the block type
* @param data the data value
* @param extent the extent to later load the full block data from
* @param position the position to later load the full block data from
*/
@Deprecated
public LazyBlock(int type, int data, Extent extent, Vector position) {
super(type, data);
checkNotNull(extent);
Expand All @@ -83,6 +118,11 @@ public void setData(int data) {
throw new UnsupportedOperationException("This object is immutable");
}

@Override
public void setType(BlockType type) {
throw new UnsupportedOperationException("This object is immutable");
}

@Override
public CompoundTag getNbtData() {
if (!loaded) {
Expand Down
Expand Up @@ -19,6 +19,8 @@

package com.sk89q.worldedit.forge;

import net.minecraft.block.Block;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
import org.apache.logging.log4j.Logger;

import com.google.common.base.Joiner;
Expand Down Expand Up @@ -54,8 +56,11 @@
import net.minecraftforge.fml.common.event.FMLServerStoppingEvent;
import net.minecraftforge.fml.common.eventhandler.Event.Result;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import org.spongepowered.api.Sponge;
import org.spongepowered.api.block.BlockType;

import static com.google.common.base.Preconditions.checkNotNull;
import static net.minecraft.block.Block.REGISTRY;

/**
* The Forge implementation of WorldEdit.
Expand Down Expand Up @@ -121,6 +126,10 @@ public void serverAboutToStart(FMLServerAboutToStartEvent event) {
} else {
this.provider = new ForgePermissionsProvider.VanillaPermissionsProvider(platform);
}

for (Block block : REGISTRY) {
com.sk89q.worldedit.blocks.type.BlockTypes.registerBlock(new com.sk89q.worldedit.blocks.type.BlockType(REGISTRY.getNameForObject(block).toString()));
}
}

@EventHandler
Expand Down

0 comments on commit 3eb8f26

Please sign in to comment.