craftbelt 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/craftbelt/minecraft_settings.rb +59 -0
- data/lib/craftbelt/version.rb +1 -1
- metadata +12 -18
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a1b100532f050384f8ba6dd827e674cfda68a489
|
4
|
+
data.tar.gz: e83fa30cf1026d1e945d186c3ecfae55d4b240c9
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 22ccdbc1dcd50aa85620363d19db985ffd2f8dcb55951f08b834e490f853c8724ca4ccec0c7f4a9f1933ea78d9b25ea55eba5bc0039d52595ded8a61c3313dff
|
7
|
+
data.tar.gz: d0bd24ba508ed3c72ea5db77ce266689a1d32d4ac000b525df1ef5f075e4b47a1f8cff32d6ef66599adde63f26add9cdc30bb37e44e75046d170aba3ec33ef7f
|
@@ -0,0 +1,59 @@
|
|
1
|
+
class MinecraftSettings
|
2
|
+
attr_reader :build_dir, :instance, :settings
|
3
|
+
|
4
|
+
def initialize(build_dir)
|
5
|
+
@build_dir = build_dir
|
6
|
+
@instance = Craftbelt::MinecraftInstance.new('.')
|
7
|
+
end
|
8
|
+
|
9
|
+
def data
|
10
|
+
@data ||= begin
|
11
|
+
data_text = ENV['DATA']
|
12
|
+
if !data_text
|
13
|
+
data_text = File.read(File.expand_path(ENV['DATAFILE']))
|
14
|
+
end
|
15
|
+
|
16
|
+
JSON.parse(data_text, symbolize_names: true)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def settings
|
21
|
+
@settings ||= begin
|
22
|
+
# TODO remove when access policies are standard
|
23
|
+
access = data[:access] || {
|
24
|
+
whitelist: (data['settings']['whitelist'] || '').split
|
25
|
+
}
|
26
|
+
|
27
|
+
schema = JSON.parse(File.read("#{@build_dir}/funpack.json"))['schema']
|
28
|
+
|
29
|
+
Settings.new(schema, data[:settings].merge(
|
30
|
+
"name" => data[:name],
|
31
|
+
"enable-white-list" => data[:access],
|
32
|
+
"level-name" => (@instance.level_paths.first || 'level')
|
33
|
+
)
|
34
|
+
)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def write_player_files
|
39
|
+
File.write('ops.txt', player_list(data[:settings][:ops]))
|
40
|
+
File.write('white-list.txt', player_list(data[:settings][:whitelist]))
|
41
|
+
File.write('banned-players.txt', player_list(data[:settings][:blacklist]))
|
42
|
+
end
|
43
|
+
|
44
|
+
def write_templates(templates)
|
45
|
+
templates.each do |src, dest|
|
46
|
+
`mkdir -p #{File.dirname(dest)}`
|
47
|
+
File.write(dest, settings.erb(File.read("#{@build_dir}/templates/#{src}")))
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
# TODO remove this when players are passed as an array
|
52
|
+
def player_list(player_setting)
|
53
|
+
if player_setting.is_a? Array
|
54
|
+
player_setting.join("\n")
|
55
|
+
else
|
56
|
+
player_setting || ''
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
data/lib/craftbelt/version.rb
CHANGED
metadata
CHANGED
@@ -1,46 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: craftbelt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Dave Newman
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-03-14 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: nbtfile
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rspec
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
description: Useful Minecraft utilities
|
@@ -54,33 +49,32 @@ files:
|
|
54
49
|
- README.md
|
55
50
|
- craftbelt.gemspec
|
56
51
|
- lib/craftbelt/minecraft_instance.rb
|
52
|
+
- lib/craftbelt/minecraft_settings.rb
|
57
53
|
- lib/craftbelt/version.rb
|
58
54
|
- lib/craftbelt.rb
|
59
55
|
- spec/craftbelt/minecraft_instance_spec.rb
|
60
56
|
- spec/spec_helper.rb
|
61
57
|
homepage: https://minefold.com
|
62
58
|
licenses: []
|
59
|
+
metadata: {}
|
63
60
|
post_install_message:
|
64
61
|
rdoc_options: []
|
65
62
|
require_paths:
|
66
63
|
- lib
|
67
64
|
required_ruby_version: !ruby/object:Gem::Requirement
|
68
|
-
none: false
|
69
65
|
requirements:
|
70
|
-
- -
|
66
|
+
- - '>='
|
71
67
|
- !ruby/object:Gem::Version
|
72
68
|
version: '0'
|
73
69
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
70
|
requirements:
|
76
|
-
- -
|
71
|
+
- - '>='
|
77
72
|
- !ruby/object:Gem::Version
|
78
73
|
version: '0'
|
79
74
|
requirements: []
|
80
75
|
rubyforge_project:
|
81
|
-
rubygems_version:
|
76
|
+
rubygems_version: 2.0.0
|
82
77
|
signing_key:
|
83
|
-
specification_version:
|
78
|
+
specification_version: 4
|
84
79
|
summary: Test Minefold funpacks
|
85
80
|
test_files: []
|
86
|
-
has_rdoc:
|